Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'extraplugins/alf09/src-gen')
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/AbstractAlfRuntimeModule.java117
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/Alf.ecore559
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/Alf.genmodel409
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/Alf.xmi2198
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/AlfStandaloneSetupGenerated.java43
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AcceptBlock.java82
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AcceptClause.java82
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AcceptStatement.java108
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AccessCompletion.java55
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AdditiveExpression.java64
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AlfFactory.java956
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AlfPackage.java9052
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AndExpression.java47
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AnnotatedStatement.java81
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Annotation.java77
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AnnotationKind.java281
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AssignmentCompletion.java85
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AssignmentOperator.java497
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/BOOLEAN_LITERAL.java57
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Block.java55
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/BlockStatement.java54
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/BooleanValue.java227
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/BreakStatement.java22
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassExtentExpression.java22
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassificationClause.java109
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassificationExpression.java109
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassificationFromClause.java55
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassificationToClause.java55
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassifyStatement.java81
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/CollectOrIterateOperation.java57
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/CollectOrIterateOperator.java227
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/CompoundAcceptStatementCompletion.java74
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ConcurrentClauses.java47
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ConditionalAndExpression.java47
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ConditionalOrExpression.java47
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ConditionalTestExpression.java108
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/DoStatement.java81
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/DocumentedStatement.java82
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/EmptyStatement.java22
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/EqualityExpression.java64
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ExclusiveOrExpression.java47
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Expression.java22
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/FinalClause.java55
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ForAllOrExistsOrOneOperation.java57
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ForAllOrExistsOrOneOperator.java254
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ForControl.java47
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ForStatement.java81
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/INTEGER_LITERAL.java22
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/IfStatement.java81
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InclusiveOrExpression.java47
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InlineStatement.java81
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InstanceCreationExpression.java108
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InstanceCreationInvocationStatement.java54
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InstanceCreationTuple.java47
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InstanceCreationTupleElement.java82
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InvocationOrAssignementOrDeclarationStatement.java108
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/IsUniqueOperation.java22
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LITERAL.java22
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LinkOperationExpression.java84
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LinkOperationKind.java254
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LinkOperationTuple.java47
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LinkOperationTupleElement.java109
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LocalNameDeclarationStatement.java135
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LoopVariableDefinition.java163
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/MultiplicativeExpression.java64
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NUMBER_LITERAL.java54
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NameExpression.java216
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NamedTemplateBinding.java82
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NonEmptyStatementSequence.java47
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NonFinalClause.java82
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NonLiteralValueSpecification.java23
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NullExpression.java22
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/OperationCallExpression.java108
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ParenthesizedExpression.java108
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/PartialSequenceConstructionCompletion.java55
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/PrimaryExpression.java55
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/PropertyCallExpression.java108
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/QualifiedNameList.java47
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/QualifiedNamePath.java47
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/QualifiedNameWithBinding.java109
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ReclassifyAllClause.java23
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/RelationalExpression.java109
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ReturnStatement.java54
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/STRING_LITERAL.java54
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SelectOrRejectOperation.java57
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SelectOrRejectOperator.java227
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceConstructionExpression.java72
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceConstructionOrAccessCompletion.java136
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceElement.java23
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceExpansionExpression.java108
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceOperationExpression.java108
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceReductionExpression.java108
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequentialClauses.java47
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ShiftExpression.java74
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SimpleAcceptStatementCompletion.java23
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Statement.java23
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/StatementSequence.java47
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SuffixExpression.java23
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SuperInvocationExpression.java81
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SuperInvocationStatement.java54
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SwitchCase.java55
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SwitchClause.java74
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SwitchDefaultClause.java55
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SwitchStatement.java99
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/TemplateBinding.java47
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Test.java108
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ThisExpression.java54
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ThisInvocationStatement.java81
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Tuple.java47
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/TupleElement.java55
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/UNLIMITED_LITERAL.java22
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/UnaryExpression.java82
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/UnqualifiedName.java82
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ValueSpecification.java23
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/VariableDeclarationCompletion.java109
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/WhileStatement.java81
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AcceptBlockImpl.java270
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AcceptClauseImpl.java269
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AcceptStatementImpl.java341
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AccessCompletionImpl.java198
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AdditiveExpressionImpl.java225
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AlfFactoryImpl.java1535
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AlfPackageImpl.java4614
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AndExpressionImpl.java171
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AnnotatedStatementImpl.java269
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AnnotationImpl.java227
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AssignmentCompletionImpl.java270
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/BOOLEAN_LITERALImpl.java181
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/BlockImpl.java198
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/BlockStatementImpl.java197
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/BreakStatementImpl.java46
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassExtentExpressionImpl.java46
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassificationClauseImpl.java342
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassificationExpressionImpl.java341
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassificationFromClauseImpl.java198
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassificationToClauseImpl.java198
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassifyStatementImpl.java269
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/CollectOrIterateOperationImpl.java181
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/CompoundAcceptStatementCompletionImpl.java245
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ConcurrentClausesImpl.java171
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ConditionalAndExpressionImpl.java171
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ConditionalOrExpressionImpl.java171
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ConditionalTestExpressionImpl.java339
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/DoStatementImpl.java269
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/DocumentedStatementImpl.java269
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/EmptyStatementImpl.java46
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/EqualityExpressionImpl.java225
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ExclusiveOrExpressionImpl.java171
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ExpressionImpl.java46
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/FinalClauseImpl.java198
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ForAllOrExistsOrOneOperationImpl.java181
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ForControlImpl.java171
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ForStatementImpl.java269
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/INTEGER_LITERALImpl.java46
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/IfStatementImpl.java269
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InclusiveOrExpressionImpl.java171
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InlineStatementImpl.java236
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InstanceCreationExpressionImpl.java341
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InstanceCreationInvocationStatementImpl.java197
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InstanceCreationTupleElementImpl.java269
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InstanceCreationTupleImpl.java171
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InvocationOrAssignementOrDeclarationStatementImpl.java341
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/IsUniqueOperationImpl.java46
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LITERALImpl.java46
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LinkOperationExpressionImpl.java269
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LinkOperationTupleElementImpl.java340
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LinkOperationTupleImpl.java171
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LocalNameDeclarationStatementImpl.java396
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LoopVariableDefinitionImpl.java483
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/MultiplicativeExpressionImpl.java225
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NUMBER_LITERALImpl.java180
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NameExpressionImpl.java596
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NamedTemplateBindingImpl.java269
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NonEmptyStatementSequenceImpl.java171
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NonFinalClauseImpl.java270
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NonLiteralValueSpecificationImpl.java48
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NullExpressionImpl.java46
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/OperationCallExpressionImpl.java340
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ParenthesizedExpressionImpl.java341
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/PartialSequenceConstructionCompletionImpl.java198
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/PrimaryExpressionImpl.java198
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/PropertyCallExpressionImpl.java340
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/QualifiedNameListImpl.java171
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/QualifiedNamePathImpl.java171
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/QualifiedNameWithBindingImpl.java340
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ReclassifyAllClauseImpl.java48
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/RelationalExpressionImpl.java340
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ReturnStatementImpl.java197
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/STRING_LITERALImpl.java180
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SelectOrRejectOperationImpl.java181
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceConstructionExpressionImpl.java244
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceConstructionOrAccessCompletionImpl.java413
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceElementImpl.java48
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceExpansionExpressionImpl.java340
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceOperationExpressionImpl.java341
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceReductionExpressionImpl.java340
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequentialClausesImpl.java171
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ShiftExpressionImpl.java244
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SimpleAcceptStatementCompletionImpl.java48
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/StatementImpl.java48
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/StatementSequenceImpl.java171
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SuffixExpressionImpl.java48
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SuperInvocationExpressionImpl.java269
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SuperInvocationStatementImpl.java197
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SwitchCaseImpl.java198
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SwitchClauseImpl.java245
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SwitchDefaultClauseImpl.java198
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SwitchStatementImpl.java316
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/TemplateBindingImpl.java171
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/TestImpl.java323
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ThisExpressionImpl.java197
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ThisInvocationStatementImpl.java269
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/TupleElementImpl.java198
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/TupleImpl.java171
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/UNLIMITED_LITERALImpl.java46
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/UnaryExpressionImpl.java269
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/UnqualifiedNameImpl.java269
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ValueSpecificationImpl.java48
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/VariableDeclarationCompletionImpl.java325
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/WhileStatementImpl.java269
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/util/AlfAdapterFactory.java2156
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/util/AlfSwitch.java2507
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parseTreeConstruction/AlfParsetreeConstructor.java19276
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/AlfAntlrTokenFileProvider.java15
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/AlfParser.java39
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g7364
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.tokens212
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlfLexer.java4659
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlfParser.java19636
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/services/AlfGrammarAccess.java5756
-rw-r--r--extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/validation/AbstractAlfJavaValidator.java20
231 files changed, 112520 insertions, 0 deletions
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/AbstractAlfRuntimeModule.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/AbstractAlfRuntimeModule.java
new file mode 100644
index 00000000000..f7fbdfdce2d
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/AbstractAlfRuntimeModule.java
@@ -0,0 +1,117 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.papyrus.alf;
+
+import java.util.Properties;
+
+import org.eclipse.xtext.Constants;
+import org.eclipse.xtext.service.DefaultRuntimeModule;
+
+import com.google.inject.Binder;
+import com.google.inject.name.Names;
+
+/**
+ * Manual modifications go to {org.eclipse.papyrus.alf.AlfRuntimeModule}
+ */
+ @SuppressWarnings("all")
+public abstract class AbstractAlfRuntimeModule extends DefaultRuntimeModule {
+
+ protected Properties properties = null;
+
+ @Override
+ public void configure(Binder binder) {
+ properties = tryBindProperties(binder, "org/eclipse/papyrus/alf/Alf.properties");
+ super.configure(binder);
+ }
+
+ public void configureLanguageName(Binder binder) {
+ binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.papyrus.alf.Alf");
+ }
+
+ public void configureFileExtensions(Binder binder) {
+ if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null)
+ binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("alf");
+ }
+
+ // contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
+ public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
+ return org.eclipse.papyrus.alf.services.AlfGrammarAccess.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parseTreeConstructor.ParseTreeConstructorFragment
+ public Class<? extends org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor> bindIParseTreeConstructor() {
+ return org.eclipse.papyrus.alf.parseTreeConstruction.AlfParsetreeConstructor.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
+ return org.eclipse.papyrus.alf.parser.antlr.AlfParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.ITokenToStringConverter> bindITokenToStringConverter() {
+ return org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
+ return org.eclipse.papyrus.alf.parser.antlr.AlfAntlrTokenFileProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
+ return org.eclipse.papyrus.alf.parser.antlr.internal.InternalAlfLexer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.papyrus.alf.parser.antlr.internal.InternalAlfLexer> provideInternalAlfLexer() {
+ return org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.papyrus.alf.parser.antlr.internal.InternalAlfLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public void configureRuntimeLexer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.parser.antlr.LexerBindings.RUNTIME)).to(org.eclipse.papyrus.alf.parser.antlr.internal.InternalAlfLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.ITokenDefProvider> bindITokenDefProvider() {
+ return org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.validation.JavaValidatorFragment
+ @org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends org.eclipse.papyrus.alf.validation.AlfJavaValidator> bindAlfJavaValidator() {
+ return org.eclipse.papyrus.alf.validation.AlfJavaValidator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
+ return org.eclipse.papyrus.alf.scoping.AlfScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public void configureIScopeProviderDelegate(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.scoping.impl.SimpleLocalScopeProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
+ return org.eclipse.xtext.scoping.impl.ImportUriGlobalScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public void configureIgnoreCaseLinking(com.google.inject.Binder binder) {
+ binder.bindConstant().annotatedWith(org.eclipse.xtext.scoping.IgnoreCaseLinking.class).to(false);
+ }
+
+ // contributed by org.eclipse.xtext.generator.exporting.SimpleNamesFragment
+ public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
+ return org.eclipse.xtext.naming.SimpleNameProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
+ public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
+ return org.eclipse.papyrus.alf.formatting.AlfFormatter.class;
+ }
+
+}
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/Alf.ecore b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/Alf.ecore
new file mode 100644
index 00000000000..e92a527cd6a
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/Alf.ecore
@@ -0,0 +1,559 @@
+<?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.eclipse.org/papyrus/alf/Alf" nsPrefix="alf">
+ <eClassifiers xsi:type="ecore:EClass" name="Test">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assignExpression" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentCompletion"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="block" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Block"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LITERAL" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ValueSpecification"/>
+ <eClassifiers xsi:type="ecore:EClass" name="BOOLEAN_LITERAL" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LITERAL">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EEnum platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//BooleanValue"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="BooleanValue">
+ <eLiterals name="TRUE" literal="true"/>
+ <eLiterals name="FALSE" value="1" literal="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NUMBER_LITERAL" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LITERAL">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="INTEGER_LITERAL" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NUMBER_LITERAL"/>
+ <eClassifiers xsi:type="ecore:EClass" name="UNLIMITED_LITERAL" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NUMBER_LITERAL"/>
+ <eClassifiers xsi:type="ecore:EClass" name="STRING_LITERAL" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LITERAL">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NameExpression" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ValueSpecification platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NonLiteralValueSpecification">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="prefixOp" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="path" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNamePath"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="invocationCompletion" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Tuple"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sequenceConstructionCompletion"
+ eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceConstructionOrAccessCompletion"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="postfixOp" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="suffix" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuffixExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="QualifiedNamePath">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="namespace" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//UnqualifiedName"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UnqualifiedName">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="templateBinding" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//TemplateBinding"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TemplateBinding">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="bindings" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NamedTemplateBinding"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NamedTemplateBinding">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="formal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="actual" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNameWithBinding"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="QualifiedNameWithBinding">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="binding" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//TemplateBinding"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="remaining" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNameWithBinding"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Tuple">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="tupleElements" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//TupleElement"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TupleElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="argument" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Expression" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceElement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ConditionalTestExpression" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="exp" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ConditionalOrExpression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="whenTrue" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ConditionalTestExpression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="whenFalse" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ConditionalTestExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConditionalOrExpression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="exp" upperBound="-1" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ConditionalAndExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConditionalAndExpression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="exp" upperBound="-1" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InclusiveOrExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InclusiveOrExpression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="exp" upperBound="-1" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ExclusiveOrExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ExclusiveOrExpression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="exp" upperBound="-1" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AndExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AndExpression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="exp" upperBound="-1" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//EqualityExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EqualityExpression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="exp" upperBound="-1" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassificationExpression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" unique="false" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassificationExpression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="exp" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//RelationalExpression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="typeName" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NameExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RelationalExpression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ShiftExpression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ShiftExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ShiftExpression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="exp" upperBound="-1" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AdditiveExpression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AdditiveExpression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="exp" upperBound="-1" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//MultiplicativeExpression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" unique="false" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MultiplicativeExpression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="exp" upperBound="-1" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//UnaryExpression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" unique="false" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UnaryExpression">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="exp" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//PrimaryExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PrimaryExpression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="prefix" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ValueSpecification"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SuffixExpression"/>
+ <eClassifiers xsi:type="ecore:EClass" name="OperationCallExpression" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuffixExpression">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operationName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="tuple" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Tuple"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="suffix" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuffixExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PropertyCallExpression" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuffixExpression">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="propertyName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="index" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="suffix" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuffixExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LinkOperationExpression" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuffixExpression">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="ecore:EEnum platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LinkOperationKind"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="tuple" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LinkOperationTuple"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LinkOperationTuple">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="linkOperationTupleElement"
+ upperBound="-1" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LinkOperationTupleElement"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LinkOperationTupleElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="role" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="roleIndex" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="object" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="LinkOperationKind">
+ <eLiterals name="CREATE" literal="createLink"/>
+ <eLiterals name="DESTROY" value="1" literal="destroyLink"/>
+ <eLiterals name="CLEAR" value="2" literal="clearAssoc"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SequenceOperationExpression" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuffixExpression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operationName" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNameWithBinding"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="tuple" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Tuple"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="suffix" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuffixExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SequenceReductionExpression" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuffixExpression">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrdered" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="behavior" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNameWithBinding"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="suffix" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuffixExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SequenceExpansionExpression" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuffixExpression">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expr" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="suffix" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuffixExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SelectOrRejectOperation" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceExpansionExpression">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="ecore:EEnum platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SelectOrRejectOperator"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="SelectOrRejectOperator">
+ <eLiterals name="SELECT" literal="select"/>
+ <eLiterals name="REJECT" value="1" literal="reject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CollectOrIterateOperation" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceExpansionExpression">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="ecore:EEnum platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//CollectOrIterateOperator"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="CollectOrIterateOperator">
+ <eLiterals name="COLLECT" literal="collect"/>
+ <eLiterals name="ITERATE" value="1" literal="iterate"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ForAllOrExistsOrOneOperation" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceExpansionExpression">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="ecore:EEnum platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ForAllOrExistsOrOneOperator"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="ForAllOrExistsOrOneOperator">
+ <eLiterals name="FORALL" literal="forAll"/>
+ <eLiterals name="EXISTS" value="1" literal="exists"/>
+ <eLiterals name="ONE" value="2" literal="one"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IsUniqueOperation" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceExpansionExpression"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ValueSpecification"/>
+ <eClassifiers xsi:type="ecore:EClass" name="NonLiteralValueSpecification"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ParenthesizedExpression" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ValueSpecification platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NonLiteralValueSpecification">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expOrTypeCast" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="casted" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NonLiteralValueSpecification"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="suffix" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuffixExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NullExpression" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ValueSpecification"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ThisExpression" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ValueSpecification platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NonLiteralValueSpecification">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="suffix" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuffixExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SuperInvocationExpression" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ValueSpecification platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NonLiteralValueSpecification">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="tuple" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Tuple"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operationName" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNameWithBinding"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InstanceCreationExpression" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ValueSpecification platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NonLiteralValueSpecification">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="constructor" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNameWithBinding"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="tuple" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InstanceCreationTuple"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="suffix" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuffixExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InstanceCreationTuple">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="instanceCreationTupleElement"
+ upperBound="-1" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InstanceCreationTupleElement"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InstanceCreationTupleElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="role" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="object" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SequenceConstructionOrAccessCompletion">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="multiplicityIndicator"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="accessCompletion" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AccessCompletion"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sequenceCompletion" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//PartialSequenceConstructionCompletion"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceConstructionExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AccessCompletion">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="accessIndex" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PartialSequenceConstructionCompletion">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceConstructionExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SequenceConstructionExpression" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sequenceElement" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceElement"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rangeUpper" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SequenceElement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassExtentExpression" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuffixExpression"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Block">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sequence" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//StatementSequence"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StatementSequence">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//DocumentedStatement"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DocumentedStatement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="comment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="statement" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InlineStatement" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="langageName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AnnotatedStatement" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="annotation" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Annotation"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="statement" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Statement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Annotation">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="ecore:EEnum platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AnnotationKind"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="args" unique="false" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="AnnotationKind">
+ <eLiterals name="ISOLATED" literal="isolated"/>
+ <eLiterals name="DETERMINED" value="1" literal="determined"/>
+ <eLiterals name="ASSURED" value="2" literal="assured"/>
+ <eLiterals name="PARALLEL" value="3" literal="parallel"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BlockStatement" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="block" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Block"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EmptyStatement" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="LocalNameDeclarationStatement" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="varName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNameWithBinding"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="multiplicityIndicator"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="init" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceElement"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IfStatement" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sequentialClausses" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequentialClauses"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="finalClause" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//FinalClause"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SequentialClauses">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="conccurentClauses" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ConcurrentClauses"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConcurrentClauses">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="nonFinalClause" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NonFinalClause"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NonFinalClause">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="block" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Block"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FinalClause">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="block" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Block"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SwitchStatement" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="switchClause" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SwitchClause"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="defaultClause" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SwitchDefaultClause"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SwitchClause">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="switchCase" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SwitchCase"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="statementSequence" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NonEmptyStatementSequence"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SwitchCase">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SwitchDefaultClause">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="statementSequence" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NonEmptyStatementSequence"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NonEmptyStatementSequence">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="statement" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//DocumentedStatement"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="WhileStatement" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="block" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Block"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DoStatement" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="block" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Block"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ForStatement" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="control" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ForControl"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="block" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Block"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ForControl">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="loopVariableDefinition"
+ upperBound="-1" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LoopVariableDefinition"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LoopVariableDefinition">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression1" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression2" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNameWithBinding"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BreakStatement" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ReturnStatement" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AcceptStatement" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="clause" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AcceptClause"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="simpleAccept" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SimpleAcceptStatementCompletion"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="compoundAccept" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//CompoundAcceptStatementCompletion"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SimpleAcceptStatementCompletion"/>
+ <eClassifiers xsi:type="ecore:EClass" name="CompoundAcceptStatementCompletion">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="block" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Block"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="acceptBlock" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AcceptBlock"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AcceptBlock">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="clause" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AcceptClause"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="block" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Block"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AcceptClause">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="qualifiedNameList" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNameList"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassifyStatement" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="clause" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassificationClause"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassificationClause">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="classifyFromClause" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassificationFromClause"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="classifyToClause" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassificationToClause"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="reclassyAllClause" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ReclassifyAllClause"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassificationFromClause">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="qualifiedNameList" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNameList"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassificationToClause">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="qualifiedNameList" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNameList"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ReclassifyAllClause"/>
+ <eClassifiers xsi:type="ecore:EClass" name="QualifiedNameList">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="qualifiedName" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNameWithBinding"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InvocationOrAssignementOrDeclarationStatement"
+ eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="typePart_OR_assignedPart_OR_invocationPart"
+ eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NameExpression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="variableDeclarationCompletion"
+ eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//VariableDeclarationCompletion"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assignmentCompletion" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentCompletion"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SuperInvocationStatement" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="_super" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuperInvocationExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ThisInvocationStatement" eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="_this" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ThisExpression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assignmentCompletion" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentCompletion"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InstanceCreationInvocationStatement"
+ eSuperTypes="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="_new" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InstanceCreationExpression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="VariableDeclarationCompletion">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="multiplicityIndicator"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="variableName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="initValue" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentCompletion"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AssignmentCompletion">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="ecore:EEnum platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentOperator"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rightHandSide" eType="ecore:EClass platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceElement"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="AssignmentOperator">
+ <eLiterals name="ASSIGN" literal="="/>
+ <eLiterals name="PLUSASSIGN" value="1" literal="+="/>
+ <eLiterals name="MINUSASSIGN" value="2" literal="-="/>
+ <eLiterals name="MULTASSIGN" value="3" literal="*="/>
+ <eLiterals name="MODASSIGN" value="4" literal="%="/>
+ <eLiterals name="DIVASSIGN" value="5" literal="/="/>
+ <eLiterals name="ANDASSIGN" value="6" literal="&amp;="/>
+ <eLiterals name="ORASSIGN" value="7" literal="|="/>
+ <eLiterals name="XORASSIGN" value="8" literal="^="/>
+ <eLiterals name="LSHIFTASSIGN" value="9" literal="&lt;&lt;="/>
+ <eLiterals name="RSHIFTASSIGN" value="10" literal=">>="/>
+ <eLiterals name="URSHIFTASSIGN" value="11" literal=">>>="/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/Alf.genmodel b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/Alf.genmodel
new file mode 100644
index 00000000000..e62e5cee956
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/Alf.genmodel
@@ -0,0 +1,409 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.papyrus.alf/src-gen"
+ editDirectory="/org.eclipse.papyrus.alf.edit/src" editorDirectory="/org.eclipse.papyrus.alf.editor/src"
+ modelPluginID="org.eclipse.papyrus.alf" forceOverwrite="true" modelName="Alf"
+ updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ complianceLevel="5.0" copyrightFields="false" editPluginID="org.eclipse.papyrus.alf.edit"
+ editorPluginID="org.eclipse.papyrus.alf.editor">
+ <genPackages prefix="Alf" basePackage="org.eclipse.papyrus.alf" disposableProviderFactory="true"
+ ecorePackage="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//BooleanValue">
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//BooleanValue/TRUE"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//BooleanValue/FALSE"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LinkOperationKind">
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LinkOperationKind/CREATE"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LinkOperationKind/DESTROY"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LinkOperationKind/CLEAR"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SelectOrRejectOperator">
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SelectOrRejectOperator/SELECT"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SelectOrRejectOperator/REJECT"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//CollectOrIterateOperator">
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//CollectOrIterateOperator/COLLECT"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//CollectOrIterateOperator/ITERATE"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ForAllOrExistsOrOneOperator">
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ForAllOrExistsOrOneOperator/FORALL"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ForAllOrExistsOrOneOperator/EXISTS"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ForAllOrExistsOrOneOperator/ONE"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AnnotationKind">
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AnnotationKind/ISOLATED"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AnnotationKind/DETERMINED"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AnnotationKind/ASSURED"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AnnotationKind/PARALLEL"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentOperator">
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentOperator/ASSIGN"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentOperator/PLUSASSIGN"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentOperator/MINUSASSIGN"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentOperator/MULTASSIGN"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentOperator/MODASSIGN"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentOperator/DIVASSIGN"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentOperator/ANDASSIGN"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentOperator/ORASSIGN"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentOperator/XORASSIGN"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentOperator/LSHIFTASSIGN"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentOperator/RSHIFTASSIGN"/>
+ <genEnumLiterals ecoreEnumLiteral="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentOperator/URSHIFTASSIGN"/>
+ </genEnums>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Test">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Test/expression"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Test/assignExpression"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Test/statements"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Test/block"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LITERAL"/>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//BOOLEAN_LITERAL">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//BOOLEAN_LITERAL/value"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NUMBER_LITERAL">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NUMBER_LITERAL/value"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//INTEGER_LITERAL"/>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//UNLIMITED_LITERAL"/>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//STRING_LITERAL">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//STRING_LITERAL/value"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NameExpression">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NameExpression/prefixOp"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NameExpression/path"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NameExpression/id"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NameExpression/invocationCompletion"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NameExpression/sequenceConstructionCompletion"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NameExpression/postfixOp"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NameExpression/suffix"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNamePath">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNamePath/namespace"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//UnqualifiedName">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//UnqualifiedName/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//UnqualifiedName/templateBinding"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//TemplateBinding">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//TemplateBinding/bindings"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NamedTemplateBinding">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NamedTemplateBinding/formal"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NamedTemplateBinding/actual"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNameWithBinding">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNameWithBinding/id"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNameWithBinding/binding"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNameWithBinding/remaining"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Tuple">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Tuple/tupleElements"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//TupleElement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//TupleElement/argument"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Expression"/>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ConditionalTestExpression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ConditionalTestExpression/exp"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ConditionalTestExpression/whenTrue"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ConditionalTestExpression/whenFalse"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ConditionalOrExpression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ConditionalOrExpression/exp"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ConditionalAndExpression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ConditionalAndExpression/exp"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InclusiveOrExpression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InclusiveOrExpression/exp"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ExclusiveOrExpression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ExclusiveOrExpression/exp"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AndExpression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AndExpression/exp"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//EqualityExpression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//EqualityExpression/exp"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//EqualityExpression/op"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassificationExpression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassificationExpression/exp"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassificationExpression/op"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassificationExpression/typeName"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//RelationalExpression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//RelationalExpression/left"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//RelationalExpression/op"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//RelationalExpression/right"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ShiftExpression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ShiftExpression/exp"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ShiftExpression/op"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AdditiveExpression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AdditiveExpression/exp"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AdditiveExpression/op"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//MultiplicativeExpression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//MultiplicativeExpression/exp"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//MultiplicativeExpression/op"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//UnaryExpression">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//UnaryExpression/op"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//UnaryExpression/exp"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//PrimaryExpression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//PrimaryExpression/prefix"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuffixExpression"/>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//OperationCallExpression">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//OperationCallExpression/operationName"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//OperationCallExpression/tuple"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//OperationCallExpression/suffix"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//PropertyCallExpression">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//PropertyCallExpression/propertyName"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//PropertyCallExpression/index"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//PropertyCallExpression/suffix"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LinkOperationExpression">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LinkOperationExpression/kind"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LinkOperationExpression/tuple"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LinkOperationTuple">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LinkOperationTuple/linkOperationTupleElement"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LinkOperationTupleElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LinkOperationTupleElement/role"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LinkOperationTupleElement/roleIndex"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LinkOperationTupleElement/object"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceOperationExpression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceOperationExpression/operationName"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceOperationExpression/tuple"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceOperationExpression/suffix"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceReductionExpression">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceReductionExpression/isOrdered"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceReductionExpression/behavior"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceReductionExpression/suffix"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceExpansionExpression">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceExpansionExpression/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceExpansionExpression/expr"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceExpansionExpression/suffix"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SelectOrRejectOperation">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SelectOrRejectOperation/op"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//CollectOrIterateOperation">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//CollectOrIterateOperation/op"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ForAllOrExistsOrOneOperation">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ForAllOrExistsOrOneOperation/op"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//IsUniqueOperation"/>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ValueSpecification"/>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NonLiteralValueSpecification"/>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ParenthesizedExpression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ParenthesizedExpression/expOrTypeCast"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ParenthesizedExpression/casted"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ParenthesizedExpression/suffix"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NullExpression"/>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ThisExpression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ThisExpression/suffix"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuperInvocationExpression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuperInvocationExpression/tuple"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuperInvocationExpression/operationName"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InstanceCreationExpression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InstanceCreationExpression/constructor"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InstanceCreationExpression/tuple"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InstanceCreationExpression/suffix"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InstanceCreationTuple">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InstanceCreationTuple/instanceCreationTupleElement"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InstanceCreationTupleElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InstanceCreationTupleElement/role"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InstanceCreationTupleElement/object"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceConstructionOrAccessCompletion">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceConstructionOrAccessCompletion/multiplicityIndicator"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceConstructionOrAccessCompletion/accessCompletion"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceConstructionOrAccessCompletion/sequenceCompletion"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceConstructionOrAccessCompletion/expression"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AccessCompletion">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AccessCompletion/accessIndex"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//PartialSequenceConstructionCompletion">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//PartialSequenceConstructionCompletion/expression"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceConstructionExpression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceConstructionExpression/sequenceElement"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceConstructionExpression/rangeUpper"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequenceElement"/>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassExtentExpression"/>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Block">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Block/sequence"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//StatementSequence">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//StatementSequence/statements"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//DocumentedStatement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//DocumentedStatement/comment"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//DocumentedStatement/statement"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InlineStatement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InlineStatement/langageName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InlineStatement/body"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AnnotatedStatement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AnnotatedStatement/annotation"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AnnotatedStatement/statement"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Statement"/>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Annotation">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Annotation/kind"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//Annotation/args"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//BlockStatement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//BlockStatement/block"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//EmptyStatement"/>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LocalNameDeclarationStatement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LocalNameDeclarationStatement/varName"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LocalNameDeclarationStatement/type"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LocalNameDeclarationStatement/multiplicityIndicator"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LocalNameDeclarationStatement/init"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//IfStatement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//IfStatement/sequentialClausses"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//IfStatement/finalClause"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequentialClauses">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SequentialClauses/conccurentClauses"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ConcurrentClauses">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ConcurrentClauses/nonFinalClause"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NonFinalClause">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NonFinalClause/condition"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NonFinalClause/block"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//FinalClause">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//FinalClause/block"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SwitchStatement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SwitchStatement/expression"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SwitchStatement/switchClause"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SwitchStatement/defaultClause"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SwitchClause">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SwitchClause/switchCase"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SwitchClause/statementSequence"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SwitchCase">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SwitchCase/expression"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SwitchDefaultClause">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SwitchDefaultClause/statementSequence"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NonEmptyStatementSequence">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//NonEmptyStatementSequence/statement"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//WhileStatement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//WhileStatement/condition"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//WhileStatement/block"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//DoStatement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//DoStatement/block"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//DoStatement/condition"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ForStatement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ForStatement/control"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ForStatement/block"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ForControl">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ForControl/loopVariableDefinition"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LoopVariableDefinition">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LoopVariableDefinition/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LoopVariableDefinition/expression1"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LoopVariableDefinition/expression2"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LoopVariableDefinition/type"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//LoopVariableDefinition/expression"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//BreakStatement"/>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ReturnStatement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ReturnStatement/expression"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AcceptStatement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AcceptStatement/clause"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AcceptStatement/simpleAccept"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AcceptStatement/compoundAccept"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SimpleAcceptStatementCompletion"/>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//CompoundAcceptStatementCompletion">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//CompoundAcceptStatementCompletion/block"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//CompoundAcceptStatementCompletion/acceptBlock"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AcceptBlock">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AcceptBlock/clause"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AcceptBlock/block"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AcceptClause">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AcceptClause/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AcceptClause/qualifiedNameList"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassifyStatement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassifyStatement/expression"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassifyStatement/clause"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassificationClause">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassificationClause/classifyFromClause"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassificationClause/classifyToClause"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassificationClause/reclassyAllClause"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassificationFromClause">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassificationFromClause/qualifiedNameList"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassificationToClause">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ClassificationToClause/qualifiedNameList"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ReclassifyAllClause"/>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNameList">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//QualifiedNameList/qualifiedName"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InvocationOrAssignementOrDeclarationStatement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InvocationOrAssignementOrDeclarationStatement/typePart_OR_assignedPart_OR_invocationPart"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InvocationOrAssignementOrDeclarationStatement/variableDeclarationCompletion"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InvocationOrAssignementOrDeclarationStatement/assignmentCompletion"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuperInvocationStatement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//SuperInvocationStatement/_super"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ThisInvocationStatement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ThisInvocationStatement/_this"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//ThisInvocationStatement/assignmentCompletion"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InstanceCreationInvocationStatement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//InstanceCreationInvocationStatement/_new"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//VariableDeclarationCompletion">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//VariableDeclarationCompletion/multiplicityIndicator"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//VariableDeclarationCompletion/variableName"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//VariableDeclarationCompletion/initValue"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentCompletion">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentCompletion/op"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/Alf.ecore#//AssignmentCompletion/rightHandSide"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/Alf.xmi b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/Alf.xmi
new file mode 100644
index 00000000000..a9a77e11e98
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/Alf.xmi
@@ -0,0 +1,2198 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI 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" xmlns:xtext="http://www.eclipse.org/2008/Xtext">
+ <xtext:Grammar name="org.eclipse.papyrus.alf.Alf" usedGrammars="/1">
+ <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="alf">
+ <ePackage href="http://www.eclipse.org/papyrus/alf/Alf#/"/>
+ </metamodelDeclarations>
+ <rules xsi:type="xtext:ParserRule" name="Test">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//Test"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value="testExpression"/>
+ <elements xsi:type="xtext:Assignment" feature="expression" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value="testAssignmentExpression"/>
+ <elements xsi:type="xtext:Assignment" feature="assignExpression" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.108"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value="testStatement"/>
+ <elements xsi:type="xtext:Assignment" feature="statements" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.69"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="testBlock"/>
+ <elements xsi:type="xtext:Assignment" feature="block" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.64"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="LITERAL">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//LITERAL"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="BOOLEAN_LITERAL">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//BOOLEAN_LITERAL"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:EnumRule" name="BooleanValue">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/papyrus/alf/Alf#//BooleanValue"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//BooleanValue/TRUE"/>
+ <literal value="true"/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//BooleanValue/FALSE"/>
+ <literal value="false"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NUMBER_LITERAL">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//NUMBER_LITERAL"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="INTEGER_LITERAL">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//INTEGER_LITERAL"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="UNLIMITED_LITERAL">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//UNLIMITED_LITERAL"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:Keyword" value="*"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="IntegerValue">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="0"/>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="1"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" cardinality="?" value="_"/>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="0b"/>
+ <elements xsi:type="xtext:Keyword" value="0B"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="1"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" cardinality="?" value="_"/>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="1"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="0x"/>
+ <elements xsi:type="xtext:Keyword" value="0X"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="a"/>
+ <right value="f"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="A"/>
+ <right value="F"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" cardinality="?" value="_"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="a"/>
+ <right value="f"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="A"/>
+ <right value="F"/>
+ </elements>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="0"/>
+ <elements xsi:type="xtext:Keyword" cardinality="?" value="_"/>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="7"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" cardinality="?" value="_"/>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="7"/>
+ </elements>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="STRING_LITERAL">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//STRING_LITERAL"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.111"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NameExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//NameExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="prefixOp" operator="=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="++"/>
+ <elements xsi:type="xtext:Keyword" value="--"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="path" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="id" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="path" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="id" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="invocationCompletion" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="sequenceConstructionCompletion" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.58"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="postfixOp" operator="=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="++"/>
+ <elements xsi:type="xtext:Keyword" value="--"/>
+ </terminal>
+ </elements>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="suffix" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.32"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="QualifiedNamePath">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//QualifiedNamePath"/>
+ </type>
+ <alternatives xsi:type="xtext:Group" cardinality="+">
+ <elements xsi:type="xtext:Assignment" feature="namespace" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="::"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="UnqualifiedName">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//UnqualifiedName"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="templateBinding" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="TemplateBinding">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//TemplateBinding"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="&lt;"/>
+ <elements xsi:type="xtext:Assignment" feature="bindings" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="bindings" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=">"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NamedTemplateBinding">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//NamedTemplateBinding"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="formal" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="=>"/>
+ <elements xsi:type="xtext:Assignment" feature="actual" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="QualifiedNameWithBinding">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//QualifiedNameWithBinding"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="id" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="binding" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="::"/>
+ <elements xsi:type="xtext:Assignment" feature="remaining" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Tuple">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//Tuple"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//Tuple"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="tupleElements" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="tupleElements" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="TupleElement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//TupleElement"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="argument" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Expression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//Expression"/>
+ </type>
+ <alternatives xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ConditionalTestExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ConditionalTestExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="?"/>
+ <elements xsi:type="xtext:Assignment" feature="whenTrue" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Assignment" feature="whenFalse" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ConditionalOrExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ConditionalOrExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value="||"/>
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ConditionalAndExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ConditionalAndExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value="&amp;&amp;"/>
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="InclusiveOrExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//InclusiveOrExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value="|"/>
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ExclusiveOrExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ExclusiveOrExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value="^"/>
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="AndExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//AndExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value="&amp;"/>
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="EqualityExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//EqualityExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Assignment" feature="op" operator="+=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="=="/>
+ <elements xsi:type="xtext:Keyword" value="!="/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ClassificationExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ClassificationExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="op" operator="=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="instanceof"/>
+ <elements xsi:type="xtext:Keyword" value="hastype"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="typeName" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="RelationalExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//RelationalExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="left" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="op" operator="=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="&lt;"/>
+ <elements xsi:type="xtext:Keyword" value=">"/>
+ <elements xsi:type="xtext:Keyword" value="&lt;="/>
+ <elements xsi:type="xtext:Keyword" value=">="/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="right" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ShiftExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ShiftExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.28"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="op" operator="=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="&lt;&lt;"/>
+ <elements xsi:type="xtext:Keyword" value=">>"/>
+ <elements xsi:type="xtext:Keyword" value=">>>"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.28"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="AdditiveExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//AdditiveExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.29"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Assignment" feature="op" operator="+=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="+"/>
+ <elements xsi:type="xtext:Keyword" value="-"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.29"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="MultiplicativeExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//MultiplicativeExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.30"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Assignment" feature="op" operator="+=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="*"/>
+ <elements xsi:type="xtext:Keyword" value="/"/>
+ <elements xsi:type="xtext:Keyword" value="%"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.30"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="UnaryExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//UnaryExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="op" operator="=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="!"/>
+ <elements xsi:type="xtext:Keyword" value="-"/>
+ <elements xsi:type="xtext:Keyword" value="+"/>
+ <elements xsi:type="xtext:Keyword" value="$"/>
+ <elements xsi:type="xtext:Keyword" value="~"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="exp" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.31"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PrimaryExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//PrimaryExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="prefix" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.49"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SuffixExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//SuffixExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.33"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.34"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.35"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.39"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.40"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.41"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.63"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="OperationCallExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//OperationCallExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:Assignment" feature="operationName" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="tuple" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="suffix" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.32"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PropertyCallExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//PropertyCallExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:Assignment" feature="propertyName" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="["/>
+ <elements xsi:type="xtext:Assignment" feature="index" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="]"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="suffix" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.32"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="LinkOperationExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//LinkOperationExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:Assignment" feature="kind" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.38"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="tuple" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.36"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="LinkOperationTuple">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//LinkOperationTuple"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="linkOperationTupleElement" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.37"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="linkOperationTupleElement" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.37"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="LinkOperationTupleElement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//LinkOperationTupleElement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="role" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="["/>
+ <elements xsi:type="xtext:Assignment" feature="roleIndex" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="]"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="=>"/>
+ <elements xsi:type="xtext:Assignment" feature="object" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:EnumRule" name="LinkOperationKind">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/papyrus/alf/Alf#//LinkOperationKind"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//LinkOperationKind/CREATE"/>
+ <literal value="createLink"/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//LinkOperationKind/DESTROY"/>
+ <literal value="destroyLink"/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//LinkOperationKind/CLEAR"/>
+ <literal value="clearAssoc"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SequenceOperationExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//SequenceOperationExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="->"/>
+ <elements xsi:type="xtext:Assignment" feature="operationName" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="tuple" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="suffix" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.32"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SequenceReductionExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//SequenceReductionExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="->"/>
+ <elements xsi:type="xtext:Keyword" value="reduce"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="isOrdered" operator="?=">
+ <terminal xsi:type="xtext:Keyword" value="ordered"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="behavior" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="suffix" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.32"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SequenceExpansionExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//SequenceExpansionExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.42"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.44"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.46"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.48"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SelectOrRejectOperation">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//SelectOrRejectOperation"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="->"/>
+ <elements xsi:type="xtext:Assignment" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.43"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="expr" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="suffix" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.32"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:EnumRule" name="SelectOrRejectOperator">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/papyrus/alf/Alf#//SelectOrRejectOperator"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//SelectOrRejectOperator/SELECT"/>
+ <literal value="select"/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//SelectOrRejectOperator/REJECT"/>
+ <literal value="reject"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="CollectOrIterateOperation">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//CollectOrIterateOperation"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="->"/>
+ <elements xsi:type="xtext:Assignment" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.45"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="expr" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="suffix" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.32"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:EnumRule" name="CollectOrIterateOperator">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/papyrus/alf/Alf#//CollectOrIterateOperator"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//CollectOrIterateOperator/COLLECT"/>
+ <literal value="collect"/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//CollectOrIterateOperator/ITERATE"/>
+ <literal value="iterate"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ForAllOrExistsOrOneOperation">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ForAllOrExistsOrOneOperation"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="->"/>
+ <elements xsi:type="xtext:Assignment" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.47"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="expr" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="suffix" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.32"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:EnumRule" name="ForAllOrExistsOrOneOperator">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/papyrus/alf/Alf#//ForAllOrExistsOrOneOperator"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//ForAllOrExistsOrOneOperator/FORALL"/>
+ <literal value="forAll"/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//ForAllOrExistsOrOneOperator/EXISTS"/>
+ <literal value="exists"/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//ForAllOrExistsOrOneOperator/ONE"/>
+ <literal value="one"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="IsUniqueOperation">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//IsUniqueOperation"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="->"/>
+ <elements xsi:type="xtext:Keyword" value="isUnique"/>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="expr" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="suffix" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.32"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ValueSpecification">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ValueSpecification"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.53"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.54"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.55"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.51"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.52"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NonLiteralValueSpecification">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//NonLiteralValueSpecification"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.51"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.55"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.53"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.54"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ParenthesizedExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ParenthesizedExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="expOrTypeCast" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ <elements xsi:type="xtext:Alternatives" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="casted" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.50"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="suffix" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.32"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NullExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//NullExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//NullExpression"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="null"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ThisExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ThisExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ThisExpression"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="this"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="suffix" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.32"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SuperInvocationExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//SuperInvocationExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="super"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Assignment" feature="tuple" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:Assignment" feature="operationName" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="tuple" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
+ </elements>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="InstanceCreationExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//InstanceCreationExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="new"/>
+ <elements xsi:type="xtext:Assignment" feature="constructor" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="tuple" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.56"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="suffix" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.32"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="InstanceCreationTuple">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//InstanceCreationTuple"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//InstanceCreationTuple"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="instanceCreationTupleElement" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.57"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="instanceCreationTupleElement" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.57"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="InstanceCreationTupleElement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//InstanceCreationTupleElement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="role" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="=>"/>
+ <elements xsi:type="xtext:Assignment" feature="object" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SequenceConstructionOrAccessCompletion">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//SequenceConstructionOrAccessCompletion"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="multiplicityIndicator" operator="?=">
+ <terminal xsi:type="xtext:Keyword" value="["/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Assignment" feature="accessCompletion" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.59"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="sequenceCompletion" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.60"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="expression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.61"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="AccessCompletion">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//AccessCompletion"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="accessIndex" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="]"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PartialSequenceConstructionCompletion">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//PartialSequenceConstructionCompletion"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="]"/>
+ <elements xsi:type="xtext:Assignment" feature="expression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.61"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SequenceConstructionExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//SequenceConstructionExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:Assignment" feature="sequenceElement" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.62"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="sequenceElement" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.62"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value=".."/>
+ <elements xsi:type="xtext:Assignment" feature="rangeUpper" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SequenceElement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//SequenceElement"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.61"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ClassExtentExpression">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ClassExtentExpression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ClassExtentExpression"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:Keyword" value="allInstances"/>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Block">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//Block"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//Block"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="sequence" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.65"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="StatementSequence">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//StatementSequence"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" cardinality="+" feature="statements" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.66"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="DocumentedStatement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//DocumentedStatement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="comment" operator="=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.112"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.113"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="statement" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.69"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="InlineStatement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//InlineStatement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="/*@"/>
+ <elements xsi:type="xtext:Keyword" value="inline"/>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="langageName" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ <elements xsi:type="xtext:Assignment" feature="body" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.111"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="*/"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="AnnotatedStatement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//AnnotatedStatement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="//@"/>
+ <elements xsi:type="xtext:Assignment" feature="annotation" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.70"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="statement" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.69"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Statement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//Statement"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.68"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.67"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.72"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.73"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.74"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.75"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.80"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.85"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.86"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.87"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.90"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.91"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.92"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.97"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.103"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.104"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.105"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.106"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Annotation">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//Annotation"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="kind" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.71"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="args" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="args" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:EnumRule" name="AnnotationKind">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/papyrus/alf/Alf#//AnnotationKind"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//AnnotationKind/ISOLATED"/>
+ <literal value="isolated"/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//AnnotationKind/DETERMINED"/>
+ <literal value="determined"/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//AnnotationKind/ASSURED"/>
+ <literal value="assured"/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//AnnotationKind/PARALLEL"/>
+ <literal value="parallel"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="BlockStatement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//BlockStatement"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="block" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.64"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="EmptyStatement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//EmptyStatement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//EmptyStatement"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="LocalNameDeclarationStatement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//LocalNameDeclarationStatement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="let"/>
+ <elements xsi:type="xtext:Assignment" feature="varName" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Assignment" feature="type" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="multiplicityIndicator" operator="?=">
+ <terminal xsi:type="xtext:Keyword" value="["/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="]"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="="/>
+ <elements xsi:type="xtext:Assignment" feature="init" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.62"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="IfStatement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//IfStatement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="if"/>
+ <elements xsi:type="xtext:Assignment" feature="sequentialClausses" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.76"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="finalClause" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.79"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SequentialClauses">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//SequentialClauses"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="conccurentClauses" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.77"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value="else"/>
+ <elements xsi:type="xtext:Keyword" value="if"/>
+ <elements xsi:type="xtext:Assignment" feature="conccurentClauses" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.77"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ConcurrentClauses">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ConcurrentClauses"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="nonFinalClause" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.78"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value="or"/>
+ <elements xsi:type="xtext:Keyword" value="if"/>
+ <elements xsi:type="xtext:Assignment" feature="nonFinalClause" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.78"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NonFinalClause">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//NonFinalClause"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="condition" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ <elements xsi:type="xtext:Assignment" feature="block" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.64"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="FinalClause">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//FinalClause"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="else"/>
+ <elements xsi:type="xtext:Assignment" feature="block" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.64"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SwitchStatement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//SwitchStatement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="switch"/>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="expression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="switchClause" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.81"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="defaultClause" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.83"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SwitchClause">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//SwitchClause"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="switchCase" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.82"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="switchCase" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.82"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="statementSequence" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.84"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SwitchCase">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//SwitchCase"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="case"/>
+ <elements xsi:type="xtext:Assignment" feature="expression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SwitchDefaultClause">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//SwitchDefaultClause"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="default"/>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Assignment" feature="statementSequence" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.84"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NonEmptyStatementSequence">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//NonEmptyStatementSequence"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" cardinality="+" feature="statement" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.66"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="WhileStatement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//WhileStatement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="while"/>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="condition" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ <elements xsi:type="xtext:Assignment" feature="block" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.64"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="DoStatement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//DoStatement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="do"/>
+ <elements xsi:type="xtext:Assignment" feature="block" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.64"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="while"/>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="condition" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ForStatement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ForStatement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="for"/>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="control" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.88"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ <elements xsi:type="xtext:Assignment" feature="block" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.64"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ForControl">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ForControl"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="loopVariableDefinition" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.89"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="loopVariableDefinition" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.89"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="LoopVariableDefinition">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//LoopVariableDefinition"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="in"/>
+ <elements xsi:type="xtext:Assignment" feature="expression1" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value=".."/>
+ <elements xsi:type="xtext:Assignment" feature="expression2" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="type" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Assignment" feature="expression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="BreakStatement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//BreakStatement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//BreakStatement"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="break"/>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ReturnStatement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ReturnStatement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="return"/>
+ <elements xsi:type="xtext:Assignment" feature="expression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="AcceptStatement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//AcceptStatement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="clause" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.96"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Assignment" feature="simpleAccept" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.93"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="compoundAccept" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.94"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SimpleAcceptStatementCompletion">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//SimpleAcceptStatementCompletion"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//SimpleAcceptStatementCompletion"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="CompoundAcceptStatementCompletion">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//CompoundAcceptStatementCompletion"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="block" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.64"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value="or"/>
+ <elements xsi:type="xtext:Assignment" feature="acceptBlock" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.95"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="AcceptBlock">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//AcceptBlock"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="clause" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.96"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="block" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.64"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="AcceptClause">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//AcceptClause"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="accept"/>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="qualifiedNameList" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.102"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ClassifyStatement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ClassifyStatement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="classify"/>
+ <elements xsi:type="xtext:Assignment" feature="expression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="clause" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.98"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ClassificationClause">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ClassificationClause"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="classifyFromClause" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.99"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="classifyToClause" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.100"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="reclassyAllClause" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.101"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="classifyToClause" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.100"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ClassificationFromClause">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ClassificationFromClause"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="from"/>
+ <elements xsi:type="xtext:Assignment" feature="qualifiedNameList" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.102"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ClassificationToClause">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ClassificationToClause"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="to"/>
+ <elements xsi:type="xtext:Assignment" feature="qualifiedNameList" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.102"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ReclassifyAllClause">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ReclassifyAllClause"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ReclassifyAllClause"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="from"/>
+ <elements xsi:type="xtext:Keyword" value="*"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="QualifiedNameList">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//QualifiedNameList"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="qualifiedName" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="qualifiedName" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="InvocationOrAssignementOrDeclarationStatement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//InvocationOrAssignementOrDeclarationStatement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="typePart_OR_assignedPart_OR_invocationPart" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="variableDeclarationCompletion" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.107"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="assignmentCompletion" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.108"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SuperInvocationStatement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//SuperInvocationStatement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="_super" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.54"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ThisInvocationStatement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//ThisInvocationStatement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="_this" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.53"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="assignmentCompletion" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.108"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="InstanceCreationInvocationStatement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//InstanceCreationInvocationStatement"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="_new" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.55"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="VariableDeclarationCompletion">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//VariableDeclarationCompletion"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="multiplicityIndicator" operator="?=">
+ <terminal xsi:type="xtext:Keyword" value="["/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="]"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="variableName" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.110"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="initValue" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.108"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="AssignmentCompletion">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/alf/Alf#//AssignmentCompletion"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.109"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="rightHandSide" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.62"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:EnumRule" name="AssignmentOperator">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/papyrus/alf/Alf#//AssignmentOperator"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//AssignmentOperator/ASSIGN"/>
+ <literal value="="/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//AssignmentOperator/PLUSASSIGN"/>
+ <literal value="+="/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//AssignmentOperator/MINUSASSIGN"/>
+ <literal value="-="/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//AssignmentOperator/MULTASSIGN"/>
+ <literal value="*="/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//AssignmentOperator/MODASSIGN"/>
+ <literal value="%="/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//AssignmentOperator/DIVASSIGN"/>
+ <literal value="/="/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//AssignmentOperator/ANDASSIGN"/>
+ <literal value="&amp;="/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//AssignmentOperator/ORASSIGN"/>
+ <literal value="|="/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//AssignmentOperator/XORASSIGN"/>
+ <literal value="^="/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//AssignmentOperator/LSHIFTASSIGN"/>
+ <literal value="&lt;&lt;="/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//AssignmentOperator/RSHIFTASSIGN"/>
+ <literal value=">>="/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/alf/Alf#//AssignmentOperator/URSHIFTASSIGN"/>
+ <literal value=">>>="/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ID">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="a"/>
+ <right value="z"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="A"/>
+ <right value="Z"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="_"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="a"/>
+ <right value="z"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="A"/>
+ <right value="Z"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="_"/>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ <elements xsi:type="xtext:UntilToken">
+ <terminal xsi:type="xtext:Keyword" value="'"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="STRING">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="b"/>
+ <elements xsi:type="xtext:Keyword" value="t"/>
+ <elements xsi:type="xtext:Keyword" value="n"/>
+ <elements xsi:type="xtext:Keyword" value="f"/>
+ <elements xsi:type="xtext:Keyword" value="r"/>
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:NegatedToken">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ </terminal>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ML_COMMENT">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="/*"/>
+ <elements xsi:type="xtext:NegatedToken">
+ <terminal xsi:type="xtext:Keyword" value="@"/>
+ </elements>
+ <elements xsi:type="xtext:UntilToken">
+ <terminal xsi:type="xtext:Keyword" value="*/"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="SL_COMMENT">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="//"/>
+ <elements xsi:type="xtext:NegatedToken" cardinality="*">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="&#xA;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xD;"/>
+ <elements xsi:type="xtext:Keyword" value="@"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" cardinality="?" value="&#xD;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xA;"/>
+ </elements>
+ </alternatives>
+ </rules>
+ </xtext:Grammar>
+ <xtext:Grammar name="org.eclipse.xtext.common.Terminals" definesHiddenTokens="true" hiddenTokens="/1/@rules.5 /0/@rules.112 /0/@rules.113">
+ <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
+ <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
+ </metamodelDeclarations>
+ <rules xsi:type="xtext:TerminalRule" name="ID">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" cardinality="?" value="^"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="a"/>
+ <right value="z"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="A"/>
+ <right value="Z"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="_"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="a"/>
+ <right value="z"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="A"/>
+ <right value="Z"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="_"/>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="INT">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </type>
+ <alternatives xsi:type="xtext:CharacterRange" cardinality="+">
+ <left value="0"/>
+ <right value="9"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="STRING">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="b"/>
+ <elements xsi:type="xtext:Keyword" value="t"/>
+ <elements xsi:type="xtext:Keyword" value="n"/>
+ <elements xsi:type="xtext:Keyword" value="f"/>
+ <elements xsi:type="xtext:Keyword" value="r"/>
+ <elements xsi:type="xtext:Keyword" value="u"/>
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:NegatedToken">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ </terminal>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="b"/>
+ <elements xsi:type="xtext:Keyword" value="t"/>
+ <elements xsi:type="xtext:Keyword" value="n"/>
+ <elements xsi:type="xtext:Keyword" value="f"/>
+ <elements xsi:type="xtext:Keyword" value="r"/>
+ <elements xsi:type="xtext:Keyword" value="u"/>
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:NegatedToken">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ </terminal>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ML_COMMENT">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="/*"/>
+ <elements xsi:type="xtext:UntilToken">
+ <terminal xsi:type="xtext:Keyword" value="*/"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="SL_COMMENT">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="//"/>
+ <elements xsi:type="xtext:NegatedToken" cardinality="*">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="&#xA;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xD;"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" cardinality="?" value="&#xD;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xA;"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="WS">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives" cardinality="+">
+ <elements xsi:type="xtext:Keyword" value=" "/>
+ <elements xsi:type="xtext:Keyword" value="&#x9;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xD;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xA;"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ANY_OTHER">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Wildcard"/>
+ </rules>
+ </xtext:Grammar>
+</xmi:XMI>
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/AlfStandaloneSetupGenerated.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/AlfStandaloneSetupGenerated.java
new file mode 100644
index 00000000000..32677048379
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/AlfStandaloneSetupGenerated.java
@@ -0,0 +1,43 @@
+
+package org.eclipse.papyrus.alf;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.ISetup;
+import org.eclipse.emf.ecore.resource.Resource;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+
+/**
+ * Generated from StandaloneSetup.xpt!
+ */
+@SuppressWarnings("all")
+public class AlfStandaloneSetupGenerated implements ISetup {
+
+ public Injector createInjectorAndDoEMFRegistration() {
+ org.eclipse.xtext.common.TerminalsStandaloneSetup.doSetup();
+
+ Injector injector = createInjector();
+ register(injector);
+ return injector;
+ }
+
+ public Injector createInjector() {
+ return Guice.createInjector(new org.eclipse.papyrus.alf.AlfRuntimeModule());
+ }
+
+ public void register(Injector injector) {
+ if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/papyrus/alf/Alf")) {
+ EPackage.Registry.INSTANCE.put("http://www.eclipse.org/papyrus/alf/Alf", org.eclipse.papyrus.alf.alf.AlfPackage.eINSTANCE);
+ }
+
+ org.eclipse.xtext.resource.IResourceFactory resourceFactory = injector.getInstance(org.eclipse.xtext.resource.IResourceFactory.class);
+ org.eclipse.xtext.resource.IResourceServiceProvider serviceProvider = injector.getInstance(org.eclipse.xtext.resource.IResourceServiceProvider.class);
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("alf", resourceFactory);
+ org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("alf", serviceProvider);
+
+
+
+
+ }
+}
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AcceptBlock.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AcceptBlock.java
new file mode 100644
index 00000000000..4c1e7b1638e
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AcceptBlock.java
@@ -0,0 +1,82 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Accept Block</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.AcceptBlock#getClause <em>Clause</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.AcceptBlock#getBlock <em>Block</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAcceptBlock()
+ * @model
+ * @generated
+ */
+public interface AcceptBlock extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Clause</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Clause</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Clause</em>' containment reference.
+ * @see #setClause(AcceptClause)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAcceptBlock_Clause()
+ * @model containment="true"
+ * @generated
+ */
+ AcceptClause getClause();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.AcceptBlock#getClause <em>Clause</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Clause</em>' containment reference.
+ * @see #getClause()
+ * @generated
+ */
+ void setClause(AcceptClause value);
+
+ /**
+ * Returns the value of the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Block</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Block</em>' containment reference.
+ * @see #setBlock(Block)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAcceptBlock_Block()
+ * @model containment="true"
+ * @generated
+ */
+ Block getBlock();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.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);
+
+} // AcceptBlock
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AcceptClause.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AcceptClause.java
new file mode 100644
index 00000000000..0b095fc75f6
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AcceptClause.java
@@ -0,0 +1,82 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Accept Clause</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.AcceptClause#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.AcceptClause#getQualifiedNameList <em>Qualified Name List</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAcceptClause()
+ * @model
+ * @generated
+ */
+public interface AcceptClause extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAcceptClause_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.AcceptClause#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>Qualified Name List</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Qualified Name List</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Qualified Name List</em>' containment reference.
+ * @see #setQualifiedNameList(QualifiedNameList)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAcceptClause_QualifiedNameList()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedNameList getQualifiedNameList();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.AcceptClause#getQualifiedNameList <em>Qualified Name List</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Qualified Name List</em>' containment reference.
+ * @see #getQualifiedNameList()
+ * @generated
+ */
+ void setQualifiedNameList(QualifiedNameList value);
+
+} // AcceptClause
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AcceptStatement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AcceptStatement.java
new file mode 100644
index 00000000000..2e642d53c70
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AcceptStatement.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Accept Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.AcceptStatement#getClause <em>Clause</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.AcceptStatement#getSimpleAccept <em>Simple Accept</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.AcceptStatement#getCompoundAccept <em>Compound Accept</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAcceptStatement()
+ * @model
+ * @generated
+ */
+public interface AcceptStatement extends Statement
+{
+ /**
+ * Returns the value of the '<em><b>Clause</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Clause</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Clause</em>' containment reference.
+ * @see #setClause(AcceptClause)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAcceptStatement_Clause()
+ * @model containment="true"
+ * @generated
+ */
+ AcceptClause getClause();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.AcceptStatement#getClause <em>Clause</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Clause</em>' containment reference.
+ * @see #getClause()
+ * @generated
+ */
+ void setClause(AcceptClause value);
+
+ /**
+ * Returns the value of the '<em><b>Simple Accept</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Simple Accept</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Simple Accept</em>' containment reference.
+ * @see #setSimpleAccept(SimpleAcceptStatementCompletion)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAcceptStatement_SimpleAccept()
+ * @model containment="true"
+ * @generated
+ */
+ SimpleAcceptStatementCompletion getSimpleAccept();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.AcceptStatement#getSimpleAccept <em>Simple Accept</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Simple Accept</em>' containment reference.
+ * @see #getSimpleAccept()
+ * @generated
+ */
+ void setSimpleAccept(SimpleAcceptStatementCompletion value);
+
+ /**
+ * Returns the value of the '<em><b>Compound Accept</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Compound Accept</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Compound Accept</em>' containment reference.
+ * @see #setCompoundAccept(CompoundAcceptStatementCompletion)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAcceptStatement_CompoundAccept()
+ * @model containment="true"
+ * @generated
+ */
+ CompoundAcceptStatementCompletion getCompoundAccept();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.AcceptStatement#getCompoundAccept <em>Compound Accept</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Compound Accept</em>' containment reference.
+ * @see #getCompoundAccept()
+ * @generated
+ */
+ void setCompoundAccept(CompoundAcceptStatementCompletion value);
+
+} // AcceptStatement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AccessCompletion.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AccessCompletion.java
new file mode 100644
index 00000000000..46558e9691a
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AccessCompletion.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Access Completion</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.AccessCompletion#getAccessIndex <em>Access Index</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAccessCompletion()
+ * @model
+ * @generated
+ */
+public interface AccessCompletion extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Access Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Access Index</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Access Index</em>' containment reference.
+ * @see #setAccessIndex(Expression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAccessCompletion_AccessIndex()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getAccessIndex();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.AccessCompletion#getAccessIndex <em>Access Index</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Access Index</em>' containment reference.
+ * @see #getAccessIndex()
+ * @generated
+ */
+ void setAccessIndex(Expression value);
+
+} // AccessCompletion
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AdditiveExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AdditiveExpression.java
new file mode 100644
index 00000000000..54e6dbf5fb3
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AdditiveExpression.java
@@ -0,0 +1,64 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Additive Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.AdditiveExpression#getExp <em>Exp</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.AdditiveExpression#getOp <em>Op</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAdditiveExpression()
+ * @model
+ * @generated
+ */
+public interface AdditiveExpression extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Exp</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.MultiplicativeExpression}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exp</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exp</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAdditiveExpression_Exp()
+ * @model containment="true"
+ * @generated
+ */
+ EList<MultiplicativeExpression> getExp();
+
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op</em>' attribute list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAdditiveExpression_Op()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getOp();
+
+} // AdditiveExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AlfFactory.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AlfFactory.java
new file mode 100644
index 00000000000..712db012900
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AlfFactory.java
@@ -0,0 +1,956 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.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.alf.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.alf.alf.impl.AlfFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Test</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Test</em>'.
+ * @generated
+ */
+ Test createTest();
+
+ /**
+ * Returns a new object of class '<em>LITERAL</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>LITERAL</em>'.
+ * @generated
+ */
+ LITERAL createLITERAL();
+
+ /**
+ * Returns a new object of class '<em>BOOLEAN LITERAL</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>BOOLEAN LITERAL</em>'.
+ * @generated
+ */
+ BOOLEAN_LITERAL createBOOLEAN_LITERAL();
+
+ /**
+ * Returns a new object of class '<em>NUMBER LITERAL</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>NUMBER LITERAL</em>'.
+ * @generated
+ */
+ NUMBER_LITERAL createNUMBER_LITERAL();
+
+ /**
+ * Returns a new object of class '<em>INTEGER LITERAL</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>INTEGER LITERAL</em>'.
+ * @generated
+ */
+ INTEGER_LITERAL createINTEGER_LITERAL();
+
+ /**
+ * Returns a new object of class '<em>UNLIMITED LITERAL</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>UNLIMITED LITERAL</em>'.
+ * @generated
+ */
+ UNLIMITED_LITERAL createUNLIMITED_LITERAL();
+
+ /**
+ * Returns a new object of class '<em>STRING LITERAL</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>STRING LITERAL</em>'.
+ * @generated
+ */
+ STRING_LITERAL createSTRING_LITERAL();
+
+ /**
+ * 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>Qualified Name Path</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Qualified Name Path</em>'.
+ * @generated
+ */
+ QualifiedNamePath createQualifiedNamePath();
+
+ /**
+ * Returns a new object of class '<em>Unqualified Name</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Unqualified Name</em>'.
+ * @generated
+ */
+ UnqualifiedName createUnqualifiedName();
+
+ /**
+ * Returns a new object of class '<em>Template Binding</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Template Binding</em>'.
+ * @generated
+ */
+ TemplateBinding createTemplateBinding();
+
+ /**
+ * 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>Qualified Name With Binding</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Qualified Name With Binding</em>'.
+ * @generated
+ */
+ QualifiedNameWithBinding createQualifiedNameWithBinding();
+
+ /**
+ * Returns a new object of class '<em>Tuple</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Tuple</em>'.
+ * @generated
+ */
+ Tuple createTuple();
+
+ /**
+ * Returns a new object of class '<em>Tuple Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Tuple Element</em>'.
+ * @generated
+ */
+ TupleElement createTupleElement();
+
+ /**
+ * Returns a new object of class '<em>Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Expression</em>'.
+ * @generated
+ */
+ Expression createExpression();
+
+ /**
+ * 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>Conditional Or Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Conditional Or Expression</em>'.
+ * @generated
+ */
+ ConditionalOrExpression createConditionalOrExpression();
+
+ /**
+ * Returns a new object of class '<em>Conditional And Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Conditional And Expression</em>'.
+ * @generated
+ */
+ ConditionalAndExpression createConditionalAndExpression();
+
+ /**
+ * Returns a new object of class '<em>Inclusive Or Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Inclusive Or Expression</em>'.
+ * @generated
+ */
+ InclusiveOrExpression createInclusiveOrExpression();
+
+ /**
+ * Returns a new object of class '<em>Exclusive Or Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Exclusive Or Expression</em>'.
+ * @generated
+ */
+ ExclusiveOrExpression createExclusiveOrExpression();
+
+ /**
+ * Returns a new object of class '<em>And Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>And Expression</em>'.
+ * @generated
+ */
+ AndExpression createAndExpression();
+
+ /**
+ * 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>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>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>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>Additive Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Additive Expression</em>'.
+ * @generated
+ */
+ AdditiveExpression createAdditiveExpression();
+
+ /**
+ * Returns a new object of class '<em>Multiplicative Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Multiplicative Expression</em>'.
+ * @generated
+ */
+ MultiplicativeExpression createMultiplicativeExpression();
+
+ /**
+ * Returns a new object of class '<em>Unary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Unary Expression</em>'.
+ * @generated
+ */
+ UnaryExpression createUnaryExpression();
+
+ /**
+ * Returns a new object of class '<em>Primary Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Primary Expression</em>'.
+ * @generated
+ */
+ PrimaryExpression createPrimaryExpression();
+
+ /**
+ * Returns a new object of class '<em>Suffix Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Suffix Expression</em>'.
+ * @generated
+ */
+ SuffixExpression createSuffixExpression();
+
+ /**
+ * Returns a new object of class '<em>Operation Call Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Operation Call Expression</em>'.
+ * @generated
+ */
+ OperationCallExpression createOperationCallExpression();
+
+ /**
+ * Returns a new object of class '<em>Property Call Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Property Call Expression</em>'.
+ * @generated
+ */
+ PropertyCallExpression createPropertyCallExpression();
+
+ /**
+ * 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>Link Operation Tuple</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Link Operation Tuple</em>'.
+ * @generated
+ */
+ LinkOperationTuple createLinkOperationTuple();
+
+ /**
+ * Returns a new object of class '<em>Link Operation Tuple Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Link Operation Tuple Element</em>'.
+ * @generated
+ */
+ LinkOperationTupleElement createLinkOperationTupleElement();
+
+ /**
+ * 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>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 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>Select Or Reject Operation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Select Or Reject Operation</em>'.
+ * @generated
+ */
+ SelectOrRejectOperation createSelectOrRejectOperation();
+
+ /**
+ * Returns a new object of class '<em>Collect Or Iterate Operation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Collect Or Iterate Operation</em>'.
+ * @generated
+ */
+ CollectOrIterateOperation createCollectOrIterateOperation();
+
+ /**
+ * Returns a new object of class '<em>For All Or Exists Or One Operation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>For All Or Exists Or One Operation</em>'.
+ * @generated
+ */
+ ForAllOrExistsOrOneOperation createForAllOrExistsOrOneOperation();
+
+ /**
+ * Returns a new object of class '<em>Is Unique Operation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Is Unique Operation</em>'.
+ * @generated
+ */
+ IsUniqueOperation createIsUniqueOperation();
+
+ /**
+ * Returns a new object of class '<em>Value Specification</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Value Specification</em>'.
+ * @generated
+ */
+ ValueSpecification createValueSpecification();
+
+ /**
+ * Returns a new object of class '<em>Non Literal Value Specification</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Non Literal Value Specification</em>'.
+ * @generated
+ */
+ NonLiteralValueSpecification createNonLiteralValueSpecification();
+
+ /**
+ * Returns a new object of class '<em>Parenthesized Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Parenthesized Expression</em>'.
+ * @generated
+ */
+ ParenthesizedExpression createParenthesizedExpression();
+
+ /**
+ * Returns a new object of class '<em>Null Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Null Expression</em>'.
+ * @generated
+ */
+ NullExpression createNullExpression();
+
+ /**
+ * 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>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>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>Instance Creation Tuple</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Instance Creation Tuple</em>'.
+ * @generated
+ */
+ InstanceCreationTuple createInstanceCreationTuple();
+
+ /**
+ * Returns a new object of class '<em>Instance Creation Tuple Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Instance Creation Tuple Element</em>'.
+ * @generated
+ */
+ InstanceCreationTupleElement createInstanceCreationTupleElement();
+
+ /**
+ * Returns a new object of class '<em>Sequence Construction Or Access Completion</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Sequence Construction Or Access Completion</em>'.
+ * @generated
+ */
+ SequenceConstructionOrAccessCompletion createSequenceConstructionOrAccessCompletion();
+
+ /**
+ * Returns a new object of class '<em>Access Completion</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Access Completion</em>'.
+ * @generated
+ */
+ AccessCompletion createAccessCompletion();
+
+ /**
+ * Returns a new object of class '<em>Partial Sequence Construction Completion</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Partial Sequence Construction Completion</em>'.
+ * @generated
+ */
+ PartialSequenceConstructionCompletion createPartialSequenceConstructionCompletion();
+
+ /**
+ * 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>Sequence Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Sequence Element</em>'.
+ * @generated
+ */
+ SequenceElement createSequenceElement();
+
+ /**
+ * 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>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>Statement Sequence</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Statement Sequence</em>'.
+ * @generated
+ */
+ StatementSequence createStatementSequence();
+
+ /**
+ * Returns a new object of class '<em>Documented Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Documented Statement</em>'.
+ * @generated
+ */
+ DocumentedStatement createDocumentedStatement();
+
+ /**
+ * Returns a new object of class '<em>Inline Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Inline Statement</em>'.
+ * @generated
+ */
+ InlineStatement createInlineStatement();
+
+ /**
+ * 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>Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Statement</em>'.
+ * @generated
+ */
+ Statement createStatement();
+
+ /**
+ * 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>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>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>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>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>Sequential Clauses</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Sequential Clauses</em>'.
+ * @generated
+ */
+ SequentialClauses createSequentialClauses();
+
+ /**
+ * 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>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>Final Clause</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Final Clause</em>'.
+ * @generated
+ */
+ FinalClause createFinalClause();
+
+ /**
+ * 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>Switch Case</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Switch Case</em>'.
+ * @generated
+ */
+ SwitchCase createSwitchCase();
+
+ /**
+ * Returns a new object of class '<em>Switch Default Clause</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Switch Default Clause</em>'.
+ * @generated
+ */
+ SwitchDefaultClause createSwitchDefaultClause();
+
+ /**
+ * Returns a new object of class '<em>Non Empty Statement Sequence</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Non Empty Statement Sequence</em>'.
+ * @generated
+ */
+ NonEmptyStatementSequence createNonEmptyStatementSequence();
+
+ /**
+ * 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>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>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>For Control</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>For Control</em>'.
+ * @generated
+ */
+ ForControl createForControl();
+
+ /**
+ * 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>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>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>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>Simple Accept Statement Completion</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Simple Accept Statement Completion</em>'.
+ * @generated
+ */
+ SimpleAcceptStatementCompletion createSimpleAcceptStatementCompletion();
+
+ /**
+ * Returns a new object of class '<em>Compound Accept Statement Completion</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Compound Accept Statement Completion</em>'.
+ * @generated
+ */
+ CompoundAcceptStatementCompletion createCompoundAcceptStatementCompletion();
+
+ /**
+ * 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>Accept Clause</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Accept Clause</em>'.
+ * @generated
+ */
+ AcceptClause createAcceptClause();
+
+ /**
+ * 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>Classification Clause</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Classification Clause</em>'.
+ * @generated
+ */
+ ClassificationClause createClassificationClause();
+
+ /**
+ * Returns a new object of class '<em>Classification From Clause</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Classification From Clause</em>'.
+ * @generated
+ */
+ ClassificationFromClause createClassificationFromClause();
+
+ /**
+ * Returns a new object of class '<em>Classification To Clause</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Classification To Clause</em>'.
+ * @generated
+ */
+ ClassificationToClause createClassificationToClause();
+
+ /**
+ * Returns a new object of class '<em>Reclassify All Clause</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Reclassify All Clause</em>'.
+ * @generated
+ */
+ ReclassifyAllClause createReclassifyAllClause();
+
+ /**
+ * 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>Invocation Or Assignement Or Declaration Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Invocation Or Assignement Or Declaration Statement</em>'.
+ * @generated
+ */
+ InvocationOrAssignementOrDeclarationStatement createInvocationOrAssignementOrDeclarationStatement();
+
+ /**
+ * Returns a new object of class '<em>Super Invocation Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Super Invocation Statement</em>'.
+ * @generated
+ */
+ SuperInvocationStatement createSuperInvocationStatement();
+
+ /**
+ * Returns a new object of class '<em>This Invocation Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>This Invocation Statement</em>'.
+ * @generated
+ */
+ ThisInvocationStatement createThisInvocationStatement();
+
+ /**
+ * Returns a new object of class '<em>Instance Creation Invocation Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Instance Creation Invocation Statement</em>'.
+ * @generated
+ */
+ InstanceCreationInvocationStatement createInstanceCreationInvocationStatement();
+
+ /**
+ * Returns a new object of class '<em>Variable Declaration Completion</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Variable Declaration Completion</em>'.
+ * @generated
+ */
+ VariableDeclarationCompletion createVariableDeclarationCompletion();
+
+ /**
+ * Returns a new object of class '<em>Assignment Completion</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Assignment Completion</em>'.
+ * @generated
+ */
+ AssignmentCompletion createAssignmentCompletion();
+
+ /**
+ * 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/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AlfPackage.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AlfPackage.java
new file mode 100644
index 00000000000..43d15b4fe79
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AlfPackage.java
@@ -0,0 +1,9052 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+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 enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.AlfFactory
+ * @model kind="package"
+ * @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.eclipse.org/papyrus/alf/Alf";
+
+ /**
+ * 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.alf.alf.impl.AlfPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.TestImpl <em>Test</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.TestImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getTest()
+ * @generated
+ */
+ int TEST = 0;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEST__EXPRESSION = 0;
+
+ /**
+ * The feature id for the '<em><b>Assign Expression</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEST__ASSIGN_EXPRESSION = 1;
+
+ /**
+ * The feature id for the '<em><b>Statements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEST__STATEMENTS = 2;
+
+ /**
+ * The feature id for the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEST__BLOCK = 3;
+
+ /**
+ * The number of structural features of the '<em>Test</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEST_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ValueSpecificationImpl <em>Value Specification</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ValueSpecificationImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getValueSpecification()
+ * @generated
+ */
+ int VALUE_SPECIFICATION = 43;
+
+ /**
+ * The number of structural features of the '<em>Value Specification</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VALUE_SPECIFICATION_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.LITERALImpl <em>LITERAL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.LITERALImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getLITERAL()
+ * @generated
+ */
+ int LITERAL = 1;
+
+ /**
+ * The number of structural features of the '<em>LITERAL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LITERAL_FEATURE_COUNT = VALUE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.BOOLEAN_LITERALImpl <em>BOOLEAN LITERAL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.BOOLEAN_LITERALImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getBOOLEAN_LITERAL()
+ * @generated
+ */
+ int BOOLEAN_LITERAL = 2;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>BOOLEAN LITERAL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.NUMBER_LITERALImpl <em>NUMBER LITERAL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.NUMBER_LITERALImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getNUMBER_LITERAL()
+ * @generated
+ */
+ int NUMBER_LITERAL = 3;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NUMBER_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>NUMBER LITERAL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NUMBER_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.INTEGER_LITERALImpl <em>INTEGER LITERAL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.INTEGER_LITERALImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getINTEGER_LITERAL()
+ * @generated
+ */
+ int INTEGER_LITERAL = 4;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTEGER_LITERAL__VALUE = NUMBER_LITERAL__VALUE;
+
+ /**
+ * The number of structural features of the '<em>INTEGER LITERAL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTEGER_LITERAL_FEATURE_COUNT = NUMBER_LITERAL_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.UNLIMITED_LITERALImpl <em>UNLIMITED LITERAL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.UNLIMITED_LITERALImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getUNLIMITED_LITERAL()
+ * @generated
+ */
+ int UNLIMITED_LITERAL = 5;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNLIMITED_LITERAL__VALUE = NUMBER_LITERAL__VALUE;
+
+ /**
+ * The number of structural features of the '<em>UNLIMITED LITERAL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNLIMITED_LITERAL_FEATURE_COUNT = NUMBER_LITERAL_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.STRING_LITERALImpl <em>STRING LITERAL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.STRING_LITERALImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSTRING_LITERAL()
+ * @generated
+ */
+ int STRING_LITERAL = 6;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>STRING LITERAL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.NameExpressionImpl <em>Name Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.NameExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getNameExpression()
+ * @generated
+ */
+ int NAME_EXPRESSION = 7;
+
+ /**
+ * The feature id for the '<em><b>Prefix Op</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION__PREFIX_OP = VALUE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Path</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION__PATH = VALUE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION__ID = VALUE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Invocation Completion</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION__INVOCATION_COMPLETION = VALUE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Sequence Construction Completion</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION__SEQUENCE_CONSTRUCTION_COMPLETION = VALUE_SPECIFICATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Postfix Op</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION__POSTFIX_OP = VALUE_SPECIFICATION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAME_EXPRESSION__SUFFIX = VALUE_SPECIFICATION_FEATURE_COUNT + 6;
+
+ /**
+ * 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 = VALUE_SPECIFICATION_FEATURE_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.QualifiedNamePathImpl <em>Qualified Name Path</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.QualifiedNamePathImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getQualifiedNamePath()
+ * @generated
+ */
+ int QUALIFIED_NAME_PATH = 8;
+
+ /**
+ * The feature id for the '<em><b>Namespace</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_PATH__NAMESPACE = 0;
+
+ /**
+ * The number of structural features of the '<em>Qualified Name Path</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_PATH_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.UnqualifiedNameImpl <em>Unqualified Name</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.UnqualifiedNameImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getUnqualifiedName()
+ * @generated
+ */
+ int UNQUALIFIED_NAME = 9;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNQUALIFIED_NAME__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Template Binding</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNQUALIFIED_NAME__TEMPLATE_BINDING = 1;
+
+ /**
+ * The number of structural features of the '<em>Unqualified Name</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNQUALIFIED_NAME_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.TemplateBindingImpl <em>Template Binding</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.TemplateBindingImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getTemplateBinding()
+ * @generated
+ */
+ int TEMPLATE_BINDING = 10;
+
+ /**
+ * The feature id for the '<em><b>Bindings</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPLATE_BINDING__BINDINGS = 0;
+
+ /**
+ * 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 = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.NamedTemplateBindingImpl <em>Named Template Binding</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.NamedTemplateBindingImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getNamedTemplateBinding()
+ * @generated
+ */
+ int NAMED_TEMPLATE_BINDING = 11;
+
+ /**
+ * The feature id for the '<em><b>Formal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING__FORMAL = 0;
+
+ /**
+ * The feature id for the '<em><b>Actual</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_TEMPLATE_BINDING__ACTUAL = 1;
+
+ /**
+ * 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 = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.QualifiedNameWithBindingImpl <em>Qualified Name With Binding</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.QualifiedNameWithBindingImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getQualifiedNameWithBinding()
+ * @generated
+ */
+ int QUALIFIED_NAME_WITH_BINDING = 12;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_WITH_BINDING__ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Binding</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_WITH_BINDING__BINDING = 1;
+
+ /**
+ * The feature id for the '<em><b>Remaining</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_WITH_BINDING__REMAINING = 2;
+
+ /**
+ * The number of structural features of the '<em>Qualified Name With Binding</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_WITH_BINDING_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.TupleImpl <em>Tuple</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.TupleImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getTuple()
+ * @generated
+ */
+ int TUPLE = 13;
+
+ /**
+ * The feature id for the '<em><b>Tuple Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TUPLE__TUPLE_ELEMENTS = 0;
+
+ /**
+ * The number of structural features of the '<em>Tuple</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TUPLE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.TupleElementImpl <em>Tuple Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.TupleElementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getTupleElement()
+ * @generated
+ */
+ int TUPLE_ELEMENT = 14;
+
+ /**
+ * The feature id for the '<em><b>Argument</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TUPLE_ELEMENT__ARGUMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Tuple Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TUPLE_ELEMENT_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.SequenceElementImpl <em>Sequence Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SequenceElementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSequenceElement()
+ * @generated
+ */
+ int SEQUENCE_ELEMENT = 56;
+
+ /**
+ * The number of structural features of the '<em>Sequence Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_ELEMENT_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ExpressionImpl <em>Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getExpression()
+ * @generated
+ */
+ int EXPRESSION = 15;
+
+ /**
+ * The number of structural features of the '<em>Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_FEATURE_COUNT = SEQUENCE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ConditionalTestExpressionImpl <em>Conditional Test Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ConditionalTestExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getConditionalTestExpression()
+ * @generated
+ */
+ int CONDITIONAL_TEST_EXPRESSION = 16;
+
+ /**
+ * The feature id for the '<em><b>Exp</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION__EXP = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>When True</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION__WHEN_TRUE = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>When False</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_TEST_EXPRESSION__WHEN_FALSE = 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 meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ConditionalOrExpressionImpl <em>Conditional Or Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ConditionalOrExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getConditionalOrExpression()
+ * @generated
+ */
+ int CONDITIONAL_OR_EXPRESSION = 17;
+
+ /**
+ * The feature id for the '<em><b>Exp</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_OR_EXPRESSION__EXP = 0;
+
+ /**
+ * The number of structural features of the '<em>Conditional Or Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_OR_EXPRESSION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ConditionalAndExpressionImpl <em>Conditional And Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ConditionalAndExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getConditionalAndExpression()
+ * @generated
+ */
+ int CONDITIONAL_AND_EXPRESSION = 18;
+
+ /**
+ * The feature id for the '<em><b>Exp</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_AND_EXPRESSION__EXP = 0;
+
+ /**
+ * The number of structural features of the '<em>Conditional And Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_AND_EXPRESSION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.InclusiveOrExpressionImpl <em>Inclusive Or Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.InclusiveOrExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getInclusiveOrExpression()
+ * @generated
+ */
+ int INCLUSIVE_OR_EXPRESSION = 19;
+
+ /**
+ * The feature id for the '<em><b>Exp</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_OR_EXPRESSION__EXP = 0;
+
+ /**
+ * The number of structural features of the '<em>Inclusive Or Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_OR_EXPRESSION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ExclusiveOrExpressionImpl <em>Exclusive Or Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ExclusiveOrExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getExclusiveOrExpression()
+ * @generated
+ */
+ int EXCLUSIVE_OR_EXPRESSION = 20;
+
+ /**
+ * The feature id for the '<em><b>Exp</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_OR_EXPRESSION__EXP = 0;
+
+ /**
+ * The number of structural features of the '<em>Exclusive Or Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_OR_EXPRESSION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.AndExpressionImpl <em>And Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.AndExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAndExpression()
+ * @generated
+ */
+ int AND_EXPRESSION = 21;
+
+ /**
+ * The feature id for the '<em><b>Exp</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AND_EXPRESSION__EXP = 0;
+
+ /**
+ * The number of structural features of the '<em>And Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AND_EXPRESSION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.EqualityExpressionImpl <em>Equality Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.EqualityExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getEqualityExpression()
+ * @generated
+ */
+ int EQUALITY_EXPRESSION = 22;
+
+ /**
+ * The feature id for the '<em><b>Exp</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION__EXP = 0;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUALITY_EXPRESSION__OP = 1;
+
+ /**
+ * 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 = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ClassificationExpressionImpl <em>Classification Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ClassificationExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getClassificationExpression()
+ * @generated
+ */
+ int CLASSIFICATION_EXPRESSION = 23;
+
+ /**
+ * The feature id for the '<em><b>Exp</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION__EXP = 0;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_EXPRESSION__OP = 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 = 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 = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.RelationalExpressionImpl <em>Relational Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.RelationalExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getRelationalExpression()
+ * @generated
+ */
+ int RELATIONAL_EXPRESSION = 24;
+
+ /**
+ * The feature id for the '<em><b>Left</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION__LEFT = 0;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION__OP = 1;
+
+ /**
+ * The feature id for the '<em><b>Right</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATIONAL_EXPRESSION__RIGHT = 2;
+
+ /**
+ * 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 = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ShiftExpressionImpl <em>Shift Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ShiftExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getShiftExpression()
+ * @generated
+ */
+ int SHIFT_EXPRESSION = 25;
+
+ /**
+ * The feature id for the '<em><b>Exp</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION__EXP = 0;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHIFT_EXPRESSION__OP = 1;
+
+ /**
+ * 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 = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.AdditiveExpressionImpl <em>Additive Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.AdditiveExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAdditiveExpression()
+ * @generated
+ */
+ int ADDITIVE_EXPRESSION = 26;
+
+ /**
+ * The feature id for the '<em><b>Exp</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADDITIVE_EXPRESSION__EXP = 0;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADDITIVE_EXPRESSION__OP = 1;
+
+ /**
+ * The number of structural features of the '<em>Additive Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADDITIVE_EXPRESSION_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.MultiplicativeExpressionImpl <em>Multiplicative Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.MultiplicativeExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getMultiplicativeExpression()
+ * @generated
+ */
+ int MULTIPLICATIVE_EXPRESSION = 27;
+
+ /**
+ * The feature id for the '<em><b>Exp</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTIPLICATIVE_EXPRESSION__EXP = 0;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTIPLICATIVE_EXPRESSION__OP = 1;
+
+ /**
+ * The number of structural features of the '<em>Multiplicative Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTIPLICATIVE_EXPRESSION_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.UnaryExpressionImpl <em>Unary Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.UnaryExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getUnaryExpression()
+ * @generated
+ */
+ int UNARY_EXPRESSION = 28;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION__OP = 0;
+
+ /**
+ * The feature id for the '<em><b>Exp</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNARY_EXPRESSION__EXP = 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 = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.PrimaryExpressionImpl <em>Primary Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.PrimaryExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getPrimaryExpression()
+ * @generated
+ */
+ int PRIMARY_EXPRESSION = 29;
+
+ /**
+ * The feature id for the '<em><b>Prefix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMARY_EXPRESSION__PREFIX = 0;
+
+ /**
+ * The number of structural features of the '<em>Primary Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMARY_EXPRESSION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.SuffixExpressionImpl <em>Suffix Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SuffixExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSuffixExpression()
+ * @generated
+ */
+ int SUFFIX_EXPRESSION = 30;
+
+ /**
+ * The number of structural features of the '<em>Suffix Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUFFIX_EXPRESSION_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.OperationCallExpressionImpl <em>Operation Call Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.OperationCallExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getOperationCallExpression()
+ * @generated
+ */
+ int OPERATION_CALL_EXPRESSION = 31;
+
+ /**
+ * The feature id for the '<em><b>Operation Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION_CALL_EXPRESSION__OPERATION_NAME = SUFFIX_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Tuple</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION_CALL_EXPRESSION__TUPLE = SUFFIX_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION_CALL_EXPRESSION__SUFFIX = SUFFIX_EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Operation Call Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION_CALL_EXPRESSION_FEATURE_COUNT = SUFFIX_EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.PropertyCallExpressionImpl <em>Property Call Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.PropertyCallExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getPropertyCallExpression()
+ * @generated
+ */
+ int PROPERTY_CALL_EXPRESSION = 32;
+
+ /**
+ * The feature id for the '<em><b>Property Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_CALL_EXPRESSION__PROPERTY_NAME = SUFFIX_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 PROPERTY_CALL_EXPRESSION__INDEX = SUFFIX_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_CALL_EXPRESSION__SUFFIX = SUFFIX_EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Property Call Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_CALL_EXPRESSION_FEATURE_COUNT = SUFFIX_EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.LinkOperationExpressionImpl <em>Link Operation Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.LinkOperationExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getLinkOperationExpression()
+ * @generated
+ */
+ int LINK_OPERATION_EXPRESSION = 33;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_EXPRESSION__KIND = SUFFIX_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * 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 = SUFFIX_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * 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 = SUFFIX_EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.LinkOperationTupleImpl <em>Link Operation Tuple</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.LinkOperationTupleImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getLinkOperationTuple()
+ * @generated
+ */
+ int LINK_OPERATION_TUPLE = 34;
+
+ /**
+ * The feature id for the '<em><b>Link Operation Tuple Element</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_TUPLE__LINK_OPERATION_TUPLE_ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Link Operation Tuple</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_TUPLE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.LinkOperationTupleElementImpl <em>Link Operation Tuple Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.LinkOperationTupleElementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getLinkOperationTupleElement()
+ * @generated
+ */
+ int LINK_OPERATION_TUPLE_ELEMENT = 35;
+
+ /**
+ * The feature id for the '<em><b>Role</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_TUPLE_ELEMENT__ROLE = 0;
+
+ /**
+ * The feature id for the '<em><b>Role Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_TUPLE_ELEMENT__ROLE_INDEX = 1;
+
+ /**
+ * The feature id for the '<em><b>Object</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_TUPLE_ELEMENT__OBJECT = 2;
+
+ /**
+ * The number of structural features of the '<em>Link Operation Tuple Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_TUPLE_ELEMENT_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.SequenceOperationExpressionImpl <em>Sequence Operation Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SequenceOperationExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSequenceOperationExpression()
+ * @generated
+ */
+ int SEQUENCE_OPERATION_EXPRESSION = 36;
+
+ /**
+ * The feature id for the '<em><b>Operation Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__OPERATION_NAME = SUFFIX_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * 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 = SUFFIX_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_OPERATION_EXPRESSION__SUFFIX = SUFFIX_EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * 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 = SUFFIX_EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.SequenceReductionExpressionImpl <em>Sequence Reduction Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SequenceReductionExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSequenceReductionExpression()
+ * @generated
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION = 37;
+
+ /**
+ * 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 = SUFFIX_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Behavior</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION__BEHAVIOR = SUFFIX_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_REDUCTION_EXPRESSION__SUFFIX = SUFFIX_EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * 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 = SUFFIX_EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.SequenceExpansionExpressionImpl <em>Sequence Expansion Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SequenceExpansionExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSequenceExpansionExpression()
+ * @generated
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION = 38;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION__NAME = SUFFIX_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Expr</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION__EXPR = SUFFIX_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_EXPANSION_EXPRESSION__SUFFIX = SUFFIX_EXPRESSION_FEATURE_COUNT + 2;
+
+ /**
+ * 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 = SUFFIX_EXPRESSION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.SelectOrRejectOperationImpl <em>Select Or Reject Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SelectOrRejectOperationImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSelectOrRejectOperation()
+ * @generated
+ */
+ int SELECT_OR_REJECT_OPERATION = 39;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_OPERATION__NAME = SEQUENCE_EXPANSION_EXPRESSION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Expr</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_OPERATION__EXPR = SEQUENCE_EXPANSION_EXPRESSION__EXPR;
+
+ /**
+ * The feature id for the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_OPERATION__SUFFIX = SEQUENCE_EXPANSION_EXPRESSION__SUFFIX;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_OPERATION__OP = SEQUENCE_EXPANSION_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Select Or Reject Operation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECT_OR_REJECT_OPERATION_FEATURE_COUNT = SEQUENCE_EXPANSION_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.CollectOrIterateOperationImpl <em>Collect Or Iterate Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.CollectOrIterateOperationImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getCollectOrIterateOperation()
+ * @generated
+ */
+ int COLLECT_OR_ITERATE_OPERATION = 40;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_OPERATION__NAME = SEQUENCE_EXPANSION_EXPRESSION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Expr</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_OPERATION__EXPR = SEQUENCE_EXPANSION_EXPRESSION__EXPR;
+
+ /**
+ * The feature id for the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_OPERATION__SUFFIX = SEQUENCE_EXPANSION_EXPRESSION__SUFFIX;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_OPERATION__OP = SEQUENCE_EXPANSION_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Collect Or Iterate Operation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECT_OR_ITERATE_OPERATION_FEATURE_COUNT = SEQUENCE_EXPANSION_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ForAllOrExistsOrOneOperationImpl <em>For All Or Exists Or One Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ForAllOrExistsOrOneOperationImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getForAllOrExistsOrOneOperation()
+ * @generated
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_OPERATION = 41;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_OPERATION__NAME = SEQUENCE_EXPANSION_EXPRESSION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Expr</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_OPERATION__EXPR = SEQUENCE_EXPANSION_EXPRESSION__EXPR;
+
+ /**
+ * The feature id for the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_OPERATION__SUFFIX = SEQUENCE_EXPANSION_EXPRESSION__SUFFIX;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_OPERATION__OP = SEQUENCE_EXPANSION_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>For All Or Exists Or One Operation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_OPERATION_FEATURE_COUNT = SEQUENCE_EXPANSION_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.IsUniqueOperationImpl <em>Is Unique Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.IsUniqueOperationImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getIsUniqueOperation()
+ * @generated
+ */
+ int IS_UNIQUE_OPERATION = 42;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_OPERATION__NAME = SEQUENCE_EXPANSION_EXPRESSION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Expr</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_OPERATION__EXPR = SEQUENCE_EXPANSION_EXPRESSION__EXPR;
+
+ /**
+ * The feature id for the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_OPERATION__SUFFIX = SEQUENCE_EXPANSION_EXPRESSION__SUFFIX;
+
+ /**
+ * The number of structural features of the '<em>Is Unique Operation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IS_UNIQUE_OPERATION_FEATURE_COUNT = SEQUENCE_EXPANSION_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.NonLiteralValueSpecificationImpl <em>Non Literal Value Specification</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.NonLiteralValueSpecificationImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getNonLiteralValueSpecification()
+ * @generated
+ */
+ int NON_LITERAL_VALUE_SPECIFICATION = 44;
+
+ /**
+ * The number of structural features of the '<em>Non Literal Value Specification</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_LITERAL_VALUE_SPECIFICATION_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ParenthesizedExpressionImpl <em>Parenthesized Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ParenthesizedExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getParenthesizedExpression()
+ * @generated
+ */
+ int PARENTHESIZED_EXPRESSION = 45;
+
+ /**
+ * The feature id for the '<em><b>Exp Or Type Cast</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARENTHESIZED_EXPRESSION__EXP_OR_TYPE_CAST = VALUE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Casted</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARENTHESIZED_EXPRESSION__CASTED = VALUE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARENTHESIZED_EXPRESSION__SUFFIX = VALUE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Parenthesized Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARENTHESIZED_EXPRESSION_FEATURE_COUNT = VALUE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.NullExpressionImpl <em>Null Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.NullExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getNullExpression()
+ * @generated
+ */
+ int NULL_EXPRESSION = 46;
+
+ /**
+ * The number of structural features of the '<em>Null Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NULL_EXPRESSION_FEATURE_COUNT = VALUE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ThisExpressionImpl <em>This Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ThisExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getThisExpression()
+ * @generated
+ */
+ int THIS_EXPRESSION = 47;
+
+ /**
+ * The feature id for the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THIS_EXPRESSION__SUFFIX = VALUE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * 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 = VALUE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.SuperInvocationExpressionImpl <em>Super Invocation Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SuperInvocationExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSuperInvocationExpression()
+ * @generated
+ */
+ int SUPER_INVOCATION_EXPRESSION = 48;
+
+ /**
+ * 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 = VALUE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Operation Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_EXPRESSION__OPERATION_NAME = VALUE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * 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 = VALUE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.InstanceCreationExpressionImpl <em>Instance Creation Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.InstanceCreationExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getInstanceCreationExpression()
+ * @generated
+ */
+ int INSTANCE_CREATION_EXPRESSION = 49;
+
+ /**
+ * 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 = VALUE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * 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 = VALUE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_EXPRESSION__SUFFIX = VALUE_SPECIFICATION_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 = VALUE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.InstanceCreationTupleImpl <em>Instance Creation Tuple</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.InstanceCreationTupleImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getInstanceCreationTuple()
+ * @generated
+ */
+ int INSTANCE_CREATION_TUPLE = 50;
+
+ /**
+ * The feature id for the '<em><b>Instance Creation Tuple Element</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_TUPLE__INSTANCE_CREATION_TUPLE_ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Instance Creation Tuple</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_TUPLE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.InstanceCreationTupleElementImpl <em>Instance Creation Tuple Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.InstanceCreationTupleElementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getInstanceCreationTupleElement()
+ * @generated
+ */
+ int INSTANCE_CREATION_TUPLE_ELEMENT = 51;
+
+ /**
+ * The feature id for the '<em><b>Role</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_TUPLE_ELEMENT__ROLE = 0;
+
+ /**
+ * The feature id for the '<em><b>Object</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_TUPLE_ELEMENT__OBJECT = 1;
+
+ /**
+ * The number of structural features of the '<em>Instance Creation Tuple Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_TUPLE_ELEMENT_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.SequenceConstructionOrAccessCompletionImpl <em>Sequence Construction Or Access Completion</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SequenceConstructionOrAccessCompletionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSequenceConstructionOrAccessCompletion()
+ * @generated
+ */
+ int SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION = 52;
+
+ /**
+ * The feature id for the '<em><b>Multiplicity Indicator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__MULTIPLICITY_INDICATOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Access Completion</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__ACCESS_COMPLETION = 1;
+
+ /**
+ * The feature id for the '<em><b>Sequence Completion</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__SEQUENCE_COMPLETION = 2;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__EXPRESSION = 3;
+
+ /**
+ * The number of structural features of the '<em>Sequence Construction Or Access Completion</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.AccessCompletionImpl <em>Access Completion</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.AccessCompletionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAccessCompletion()
+ * @generated
+ */
+ int ACCESS_COMPLETION = 53;
+
+ /**
+ * The feature id for the '<em><b>Access Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACCESS_COMPLETION__ACCESS_INDEX = 0;
+
+ /**
+ * The number of structural features of the '<em>Access Completion</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACCESS_COMPLETION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.PartialSequenceConstructionCompletionImpl <em>Partial Sequence Construction Completion</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.PartialSequenceConstructionCompletionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getPartialSequenceConstructionCompletion()
+ * @generated
+ */
+ int PARTIAL_SEQUENCE_CONSTRUCTION_COMPLETION = 54;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTIAL_SEQUENCE_CONSTRUCTION_COMPLETION__EXPRESSION = 0;
+
+ /**
+ * The number of structural features of the '<em>Partial Sequence Construction Completion</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTIAL_SEQUENCE_CONSTRUCTION_COMPLETION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.SequenceConstructionExpressionImpl <em>Sequence Construction Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SequenceConstructionExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSequenceConstructionExpression()
+ * @generated
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION = 55;
+
+ /**
+ * The feature id for the '<em><b>Sequence Element</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_ELEMENT = SEQUENCE_ELEMENT_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_CONSTRUCTION_EXPRESSION__RANGE_UPPER = SEQUENCE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * 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 = SEQUENCE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ClassExtentExpressionImpl <em>Class Extent Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ClassExtentExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getClassExtentExpression()
+ * @generated
+ */
+ int CLASS_EXTENT_EXPRESSION = 57;
+
+ /**
+ * 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 = SUFFIX_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.BlockImpl <em>Block</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.BlockImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getBlock()
+ * @generated
+ */
+ int BLOCK = 58;
+
+ /**
+ * The feature id for the '<em><b>Sequence</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BLOCK__SEQUENCE = 0;
+
+ /**
+ * The number of structural features of the '<em>Block</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BLOCK_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.StatementSequenceImpl <em>Statement Sequence</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.StatementSequenceImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getStatementSequence()
+ * @generated
+ */
+ int STATEMENT_SEQUENCE = 59;
+
+ /**
+ * The feature id for the '<em><b>Statements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STATEMENT_SEQUENCE__STATEMENTS = 0;
+
+ /**
+ * The number of structural features of the '<em>Statement Sequence</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STATEMENT_SEQUENCE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.DocumentedStatementImpl <em>Documented Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.DocumentedStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getDocumentedStatement()
+ * @generated
+ */
+ int DOCUMENTED_STATEMENT = 60;
+
+ /**
+ * The feature id for the '<em><b>Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_STATEMENT__COMMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Statement</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_STATEMENT__STATEMENT = 1;
+
+ /**
+ * The number of structural features of the '<em>Documented Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTED_STATEMENT_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.StatementImpl <em>Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.StatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getStatement()
+ * @generated
+ */
+ int STATEMENT = 63;
+
+ /**
+ * The number of structural features of the '<em>Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STATEMENT_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.InlineStatementImpl <em>Inline Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.InlineStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getInlineStatement()
+ * @generated
+ */
+ int INLINE_STATEMENT = 61;
+
+ /**
+ * The feature id for the '<em><b>Langage Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INLINE_STATEMENT__LANGAGE_NAME = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Body</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INLINE_STATEMENT__BODY = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Inline Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INLINE_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.AnnotatedStatementImpl <em>Annotated Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.AnnotatedStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAnnotatedStatement()
+ * @generated
+ */
+ int ANNOTATED_STATEMENT = 62;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATED_STATEMENT__ANNOTATION = STATEMENT_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 = STATEMENT_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 = STATEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.AnnotationImpl <em>Annotation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.AnnotationImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAnnotation()
+ * @generated
+ */
+ int ANNOTATION = 64;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__KIND = 0;
+
+ /**
+ * The feature id for the '<em><b>Args</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__ARGS = 1;
+
+ /**
+ * The number of structural features of the '<em>Annotation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.BlockStatementImpl <em>Block Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.BlockStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getBlockStatement()
+ * @generated
+ */
+ int BLOCK_STATEMENT = 65;
+
+ /**
+ * 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 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 + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.EmptyStatementImpl <em>Empty Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.EmptyStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getEmptyStatement()
+ * @generated
+ */
+ int EMPTY_STATEMENT = 66;
+
+ /**
+ * 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 meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.LocalNameDeclarationStatementImpl <em>Local Name Declaration Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.LocalNameDeclarationStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getLocalNameDeclarationStatement()
+ * @generated
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT = 67;
+
+ /**
+ * The feature id for the '<em><b>Var Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT__VAR_NAME = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT__TYPE = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Multiplicity Indicator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT__MULTIPLICITY_INDICATOR = STATEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Init</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCAL_NAME_DECLARATION_STATEMENT__INIT = STATEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * 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 + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.IfStatementImpl <em>If Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.IfStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getIfStatement()
+ * @generated
+ */
+ int IF_STATEMENT = 68;
+
+ /**
+ * The feature id for the '<em><b>Sequential Clausses</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IF_STATEMENT__SEQUENTIAL_CLAUSSES = 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 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 + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.SequentialClausesImpl <em>Sequential Clauses</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SequentialClausesImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSequentialClauses()
+ * @generated
+ */
+ int SEQUENTIAL_CLAUSES = 69;
+
+ /**
+ * The feature id for the '<em><b>Conccurent Clauses</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENTIAL_CLAUSES__CONCCURENT_CLAUSES = 0;
+
+ /**
+ * The number of structural features of the '<em>Sequential Clauses</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENTIAL_CLAUSES_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ConcurrentClausesImpl <em>Concurrent Clauses</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ConcurrentClausesImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getConcurrentClauses()
+ * @generated
+ */
+ int CONCURRENT_CLAUSES = 70;
+
+ /**
+ * The feature id for the '<em><b>Non Final Clause</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONCURRENT_CLAUSES__NON_FINAL_CLAUSE = 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 = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.NonFinalClauseImpl <em>Non Final Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.NonFinalClauseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getNonFinalClause()
+ * @generated
+ */
+ int NON_FINAL_CLAUSE = 71;
+
+ /**
+ * 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 = 0;
+
+ /**
+ * The feature id for the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_FINAL_CLAUSE__BLOCK = 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 = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.FinalClauseImpl <em>Final Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.FinalClauseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getFinalClause()
+ * @generated
+ */
+ int FINAL_CLAUSE = 72;
+
+ /**
+ * The feature id for the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FINAL_CLAUSE__BLOCK = 0;
+
+ /**
+ * The number of structural features of the '<em>Final Clause</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FINAL_CLAUSE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.SwitchStatementImpl <em>Switch Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SwitchStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSwitchStatement()
+ * @generated
+ */
+ int SWITCH_STATEMENT = 73;
+
+ /**
+ * 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 + 0;
+
+ /**
+ * The feature id for the '<em><b>Switch Clause</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SWITCH_STATEMENT__SWITCH_CLAUSE = 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 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 + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.SwitchClauseImpl <em>Switch Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SwitchClauseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSwitchClause()
+ * @generated
+ */
+ int SWITCH_CLAUSE = 74;
+
+ /**
+ * The feature id for the '<em><b>Switch Case</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE__SWITCH_CASE = 0;
+
+ /**
+ * The feature id for the '<em><b>Statement Sequence</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CLAUSE__STATEMENT_SEQUENCE = 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 = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.SwitchCaseImpl <em>Switch Case</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SwitchCaseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSwitchCase()
+ * @generated
+ */
+ int SWITCH_CASE = 75;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CASE__EXPRESSION = 0;
+
+ /**
+ * The number of structural features of the '<em>Switch Case</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SWITCH_CASE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.SwitchDefaultClauseImpl <em>Switch Default Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SwitchDefaultClauseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSwitchDefaultClause()
+ * @generated
+ */
+ int SWITCH_DEFAULT_CLAUSE = 76;
+
+ /**
+ * The feature id for the '<em><b>Statement Sequence</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SWITCH_DEFAULT_CLAUSE__STATEMENT_SEQUENCE = 0;
+
+ /**
+ * The number of structural features of the '<em>Switch Default Clause</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SWITCH_DEFAULT_CLAUSE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.NonEmptyStatementSequenceImpl <em>Non Empty Statement Sequence</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.NonEmptyStatementSequenceImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getNonEmptyStatementSequence()
+ * @generated
+ */
+ int NON_EMPTY_STATEMENT_SEQUENCE = 77;
+
+ /**
+ * The feature id for the '<em><b>Statement</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EMPTY_STATEMENT_SEQUENCE__STATEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Non Empty Statement Sequence</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EMPTY_STATEMENT_SEQUENCE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.WhileStatementImpl <em>While Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.WhileStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getWhileStatement()
+ * @generated
+ */
+ int WHILE_STATEMENT = 78;
+
+ /**
+ * 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 + 0;
+
+ /**
+ * The feature id for the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WHILE_STATEMENT__BLOCK = 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 meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.DoStatementImpl <em>Do Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.DoStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getDoStatement()
+ * @generated
+ */
+ int DO_STATEMENT = 79;
+
+ /**
+ * The feature id for the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DO_STATEMENT__BLOCK = 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 DO_STATEMENT__CONDITION = 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 meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ForStatementImpl <em>For Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ForStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getForStatement()
+ * @generated
+ */
+ int FOR_STATEMENT = 80;
+
+ /**
+ * The feature id for the '<em><b>Control</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT__CONTROL = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOR_STATEMENT__BLOCK = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * 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 + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ForControlImpl <em>For Control</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ForControlImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getForControl()
+ * @generated
+ */
+ int FOR_CONTROL = 81;
+
+ /**
+ * The feature id for the '<em><b>Loop Variable Definition</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOR_CONTROL__LOOP_VARIABLE_DEFINITION = 0;
+
+ /**
+ * The number of structural features of the '<em>For Control</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOR_CONTROL_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.LoopVariableDefinitionImpl <em>Loop Variable Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.LoopVariableDefinitionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getLoopVariableDefinition()
+ * @generated
+ */
+ int LOOP_VARIABLE_DEFINITION = 82;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION__NAME = 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 = 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 = 2;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION__TYPE = 3;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOP_VARIABLE_DEFINITION__EXPRESSION = 4;
+
+ /**
+ * 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 = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.BreakStatementImpl <em>Break Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.BreakStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getBreakStatement()
+ * @generated
+ */
+ int BREAK_STATEMENT = 83;
+
+ /**
+ * 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 + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ReturnStatementImpl <em>Return Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ReturnStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getReturnStatement()
+ * @generated
+ */
+ int RETURN_STATEMENT = 84;
+
+ /**
+ * 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 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 + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.AcceptStatementImpl <em>Accept Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.AcceptStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAcceptStatement()
+ * @generated
+ */
+ int ACCEPT_STATEMENT = 85;
+
+ /**
+ * The feature id for the '<em><b>Clause</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT__CLAUSE = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Simple Accept</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT__SIMPLE_ACCEPT = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Compound Accept</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_STATEMENT__COMPOUND_ACCEPT = 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 meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.SimpleAcceptStatementCompletionImpl <em>Simple Accept Statement Completion</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SimpleAcceptStatementCompletionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSimpleAcceptStatementCompletion()
+ * @generated
+ */
+ int SIMPLE_ACCEPT_STATEMENT_COMPLETION = 86;
+
+ /**
+ * The number of structural features of the '<em>Simple Accept Statement Completion</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIMPLE_ACCEPT_STATEMENT_COMPLETION_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.CompoundAcceptStatementCompletionImpl <em>Compound Accept Statement Completion</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.CompoundAcceptStatementCompletionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getCompoundAcceptStatementCompletion()
+ * @generated
+ */
+ int COMPOUND_ACCEPT_STATEMENT_COMPLETION = 87;
+
+ /**
+ * The feature id for the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOUND_ACCEPT_STATEMENT_COMPLETION__BLOCK = 0;
+
+ /**
+ * The feature id for the '<em><b>Accept Block</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOUND_ACCEPT_STATEMENT_COMPLETION__ACCEPT_BLOCK = 1;
+
+ /**
+ * The number of structural features of the '<em>Compound Accept Statement Completion</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOUND_ACCEPT_STATEMENT_COMPLETION_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.AcceptBlockImpl <em>Accept Block</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.AcceptBlockImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAcceptBlock()
+ * @generated
+ */
+ int ACCEPT_BLOCK = 88;
+
+ /**
+ * The feature id for the '<em><b>Clause</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_BLOCK__CLAUSE = 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 = 1;
+
+ /**
+ * 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 = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.AcceptClauseImpl <em>Accept Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.AcceptClauseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAcceptClause()
+ * @generated
+ */
+ int ACCEPT_CLAUSE = 89;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_CLAUSE__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Qualified Name List</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_CLAUSE__QUALIFIED_NAME_LIST = 1;
+
+ /**
+ * The number of structural features of the '<em>Accept Clause</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACCEPT_CLAUSE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ClassifyStatementImpl <em>Classify Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ClassifyStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getClassifyStatement()
+ * @generated
+ */
+ int CLASSIFY_STATEMENT = 90;
+
+ /**
+ * 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>Clause</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASSIFY_STATEMENT__CLAUSE = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * 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 + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ClassificationClauseImpl <em>Classification Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ClassificationClauseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getClassificationClause()
+ * @generated
+ */
+ int CLASSIFICATION_CLAUSE = 91;
+
+ /**
+ * The feature id for the '<em><b>Classify From Clause</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_CLAUSE__CLASSIFY_FROM_CLAUSE = 0;
+
+ /**
+ * The feature id for the '<em><b>Classify To Clause</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_CLAUSE__CLASSIFY_TO_CLAUSE = 1;
+
+ /**
+ * The feature id for the '<em><b>Reclassy All Clause</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_CLAUSE__RECLASSY_ALL_CLAUSE = 2;
+
+ /**
+ * The number of structural features of the '<em>Classification Clause</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_CLAUSE_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ClassificationFromClauseImpl <em>Classification From Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ClassificationFromClauseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getClassificationFromClause()
+ * @generated
+ */
+ int CLASSIFICATION_FROM_CLAUSE = 92;
+
+ /**
+ * The feature id for the '<em><b>Qualified Name List</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_FROM_CLAUSE__QUALIFIED_NAME_LIST = 0;
+
+ /**
+ * The number of structural features of the '<em>Classification From Clause</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_FROM_CLAUSE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ClassificationToClauseImpl <em>Classification To Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ClassificationToClauseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getClassificationToClause()
+ * @generated
+ */
+ int CLASSIFICATION_TO_CLAUSE = 93;
+
+ /**
+ * The feature id for the '<em><b>Qualified Name List</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_TO_CLAUSE__QUALIFIED_NAME_LIST = 0;
+
+ /**
+ * The number of structural features of the '<em>Classification To Clause</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASSIFICATION_TO_CLAUSE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ReclassifyAllClauseImpl <em>Reclassify All Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ReclassifyAllClauseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getReclassifyAllClause()
+ * @generated
+ */
+ int RECLASSIFY_ALL_CLAUSE = 94;
+
+ /**
+ * The number of structural features of the '<em>Reclassify All Clause</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECLASSIFY_ALL_CLAUSE_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.QualifiedNameListImpl <em>Qualified Name List</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.QualifiedNameListImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getQualifiedNameList()
+ * @generated
+ */
+ int QUALIFIED_NAME_LIST = 95;
+
+ /**
+ * The feature id for the '<em><b>Qualified Name</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALIFIED_NAME_LIST__QUALIFIED_NAME = 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 = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.InvocationOrAssignementOrDeclarationStatementImpl <em>Invocation Or Assignement Or Declaration Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.InvocationOrAssignementOrDeclarationStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getInvocationOrAssignementOrDeclarationStatement()
+ * @generated
+ */
+ int INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT = 96;
+
+ /**
+ * The feature id for the '<em><b>Type Part OR assigned Part OR invocation Part</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__TYPE_PART_OR_ASSIGNED_PART_OR_INVOCATION_PART = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Variable Declaration Completion</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__VARIABLE_DECLARATION_COMPLETION = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Assignment Completion</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__ASSIGNMENT_COMPLETION = STATEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Invocation Or Assignement Or Declaration Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.SuperInvocationStatementImpl <em>Super Invocation Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SuperInvocationStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSuperInvocationStatement()
+ * @generated
+ */
+ int SUPER_INVOCATION_STATEMENT = 97;
+
+ /**
+ * The feature id for the '<em><b>super</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_STATEMENT__SUPER = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Super Invocation Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUPER_INVOCATION_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.ThisInvocationStatementImpl <em>This Invocation Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ThisInvocationStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getThisInvocationStatement()
+ * @generated
+ */
+ int THIS_INVOCATION_STATEMENT = 98;
+
+ /**
+ * The feature id for the '<em><b>this</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THIS_INVOCATION_STATEMENT__THIS = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Assignment Completion</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THIS_INVOCATION_STATEMENT__ASSIGNMENT_COMPLETION = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>This Invocation Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THIS_INVOCATION_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.InstanceCreationInvocationStatementImpl <em>Instance Creation Invocation Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.InstanceCreationInvocationStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getInstanceCreationInvocationStatement()
+ * @generated
+ */
+ int INSTANCE_CREATION_INVOCATION_STATEMENT = 99;
+
+ /**
+ * The feature id for the '<em><b>new</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_INVOCATION_STATEMENT__NEW = STATEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Instance Creation Invocation Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INSTANCE_CREATION_INVOCATION_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.VariableDeclarationCompletionImpl <em>Variable Declaration Completion</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.VariableDeclarationCompletionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getVariableDeclarationCompletion()
+ * @generated
+ */
+ int VARIABLE_DECLARATION_COMPLETION = 100;
+
+ /**
+ * The feature id for the '<em><b>Multiplicity Indicator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_DECLARATION_COMPLETION__MULTIPLICITY_INDICATOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Variable Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_DECLARATION_COMPLETION__VARIABLE_NAME = 1;
+
+ /**
+ * The feature id for the '<em><b>Init Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_DECLARATION_COMPLETION__INIT_VALUE = 2;
+
+ /**
+ * The number of structural features of the '<em>Variable Declaration Completion</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_DECLARATION_COMPLETION_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.impl.AssignmentCompletionImpl <em>Assignment Completion</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.AssignmentCompletionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAssignmentCompletion()
+ * @generated
+ */
+ int ASSIGNMENT_COMPLETION = 101;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_COMPLETION__OP = 0;
+
+ /**
+ * The feature id for the '<em><b>Right Hand Side</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_COMPLETION__RIGHT_HAND_SIDE = 1;
+
+ /**
+ * The number of structural features of the '<em>Assignment Completion</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_COMPLETION_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.BooleanValue <em>Boolean Value</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.BooleanValue
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getBooleanValue()
+ * @generated
+ */
+ int BOOLEAN_VALUE = 102;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.LinkOperationKind <em>Link Operation Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.LinkOperationKind
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getLinkOperationKind()
+ * @generated
+ */
+ int LINK_OPERATION_KIND = 103;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.SelectOrRejectOperator <em>Select Or Reject Operator</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.SelectOrRejectOperator
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSelectOrRejectOperator()
+ * @generated
+ */
+ int SELECT_OR_REJECT_OPERATOR = 104;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.CollectOrIterateOperator <em>Collect Or Iterate Operator</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.CollectOrIterateOperator
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getCollectOrIterateOperator()
+ * @generated
+ */
+ int COLLECT_OR_ITERATE_OPERATOR = 105;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperator <em>For All Or Exists Or One Operator</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperator
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getForAllOrExistsOrOneOperator()
+ * @generated
+ */
+ int FOR_ALL_OR_EXISTS_OR_ONE_OPERATOR = 106;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.AnnotationKind <em>Annotation Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.AnnotationKind
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAnnotationKind()
+ * @generated
+ */
+ int ANNOTATION_KIND = 107;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.alf.alf.AssignmentOperator <em>Assignment Operator</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.AssignmentOperator
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAssignmentOperator()
+ * @generated
+ */
+ int ASSIGNMENT_OPERATOR = 108;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.Test <em>Test</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Test</em>'.
+ * @see org.eclipse.papyrus.alf.alf.Test
+ * @generated
+ */
+ EClass getTest();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.Test#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.alf.alf.Test#getExpression()
+ * @see #getTest()
+ * @generated
+ */
+ EReference getTest_Expression();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.Test#getAssignExpression <em>Assign Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Assign Expression</em>'.
+ * @see org.eclipse.papyrus.alf.alf.Test#getAssignExpression()
+ * @see #getTest()
+ * @generated
+ */
+ EReference getTest_AssignExpression();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.Test#getStatements <em>Statements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Statements</em>'.
+ * @see org.eclipse.papyrus.alf.alf.Test#getStatements()
+ * @see #getTest()
+ * @generated
+ */
+ EReference getTest_Statements();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.Test#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.alf.alf.Test#getBlock()
+ * @see #getTest()
+ * @generated
+ */
+ EReference getTest_Block();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.LITERAL <em>LITERAL</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>LITERAL</em>'.
+ * @see org.eclipse.papyrus.alf.alf.LITERAL
+ * @generated
+ */
+ EClass getLITERAL();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.BOOLEAN_LITERAL <em>BOOLEAN LITERAL</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>BOOLEAN LITERAL</em>'.
+ * @see org.eclipse.papyrus.alf.alf.BOOLEAN_LITERAL
+ * @generated
+ */
+ EClass getBOOLEAN_LITERAL();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.BOOLEAN_LITERAL#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.alf.alf.BOOLEAN_LITERAL#getValue()
+ * @see #getBOOLEAN_LITERAL()
+ * @generated
+ */
+ EAttribute getBOOLEAN_LITERAL_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.NUMBER_LITERAL <em>NUMBER LITERAL</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>NUMBER LITERAL</em>'.
+ * @see org.eclipse.papyrus.alf.alf.NUMBER_LITERAL
+ * @generated
+ */
+ EClass getNUMBER_LITERAL();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.NUMBER_LITERAL#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.alf.alf.NUMBER_LITERAL#getValue()
+ * @see #getNUMBER_LITERAL()
+ * @generated
+ */
+ EAttribute getNUMBER_LITERAL_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.INTEGER_LITERAL <em>INTEGER LITERAL</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>INTEGER LITERAL</em>'.
+ * @see org.eclipse.papyrus.alf.alf.INTEGER_LITERAL
+ * @generated
+ */
+ EClass getINTEGER_LITERAL();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.UNLIMITED_LITERAL <em>UNLIMITED LITERAL</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>UNLIMITED LITERAL</em>'.
+ * @see org.eclipse.papyrus.alf.alf.UNLIMITED_LITERAL
+ * @generated
+ */
+ EClass getUNLIMITED_LITERAL();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.STRING_LITERAL <em>STRING LITERAL</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>STRING LITERAL</em>'.
+ * @see org.eclipse.papyrus.alf.alf.STRING_LITERAL
+ * @generated
+ */
+ EClass getSTRING_LITERAL();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.STRING_LITERAL#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.alf.alf.STRING_LITERAL#getValue()
+ * @see #getSTRING_LITERAL()
+ * @generated
+ */
+ EAttribute getSTRING_LITERAL_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.NameExpression
+ * @generated
+ */
+ EClass getNameExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.NameExpression#getPrefixOp <em>Prefix Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Prefix Op</em>'.
+ * @see org.eclipse.papyrus.alf.alf.NameExpression#getPrefixOp()
+ * @see #getNameExpression()
+ * @generated
+ */
+ EAttribute getNameExpression_PrefixOp();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.NameExpression#getPath <em>Path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Path</em>'.
+ * @see org.eclipse.papyrus.alf.alf.NameExpression#getPath()
+ * @see #getNameExpression()
+ * @generated
+ */
+ EReference getNameExpression_Path();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.NameExpression#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.papyrus.alf.alf.NameExpression#getId()
+ * @see #getNameExpression()
+ * @generated
+ */
+ EAttribute getNameExpression_Id();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.NameExpression#getInvocationCompletion <em>Invocation Completion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Invocation Completion</em>'.
+ * @see org.eclipse.papyrus.alf.alf.NameExpression#getInvocationCompletion()
+ * @see #getNameExpression()
+ * @generated
+ */
+ EReference getNameExpression_InvocationCompletion();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.NameExpression#getSequenceConstructionCompletion <em>Sequence Construction Completion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Sequence Construction Completion</em>'.
+ * @see org.eclipse.papyrus.alf.alf.NameExpression#getSequenceConstructionCompletion()
+ * @see #getNameExpression()
+ * @generated
+ */
+ EReference getNameExpression_SequenceConstructionCompletion();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.NameExpression#getPostfixOp <em>Postfix Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Postfix Op</em>'.
+ * @see org.eclipse.papyrus.alf.alf.NameExpression#getPostfixOp()
+ * @see #getNameExpression()
+ * @generated
+ */
+ EAttribute getNameExpression_PostfixOp();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.NameExpression#getSuffix <em>Suffix</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Suffix</em>'.
+ * @see org.eclipse.papyrus.alf.alf.NameExpression#getSuffix()
+ * @see #getNameExpression()
+ * @generated
+ */
+ EReference getNameExpression_Suffix();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.QualifiedNamePath <em>Qualified Name Path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Qualified Name Path</em>'.
+ * @see org.eclipse.papyrus.alf.alf.QualifiedNamePath
+ * @generated
+ */
+ EClass getQualifiedNamePath();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.QualifiedNamePath#getNamespace <em>Namespace</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Namespace</em>'.
+ * @see org.eclipse.papyrus.alf.alf.QualifiedNamePath#getNamespace()
+ * @see #getQualifiedNamePath()
+ * @generated
+ */
+ EReference getQualifiedNamePath_Namespace();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.UnqualifiedName <em>Unqualified Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Unqualified Name</em>'.
+ * @see org.eclipse.papyrus.alf.alf.UnqualifiedName
+ * @generated
+ */
+ EClass getUnqualifiedName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.UnqualifiedName#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.alf.alf.UnqualifiedName#getName()
+ * @see #getUnqualifiedName()
+ * @generated
+ */
+ EAttribute getUnqualifiedName_Name();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.UnqualifiedName#getTemplateBinding <em>Template Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Template Binding</em>'.
+ * @see org.eclipse.papyrus.alf.alf.UnqualifiedName#getTemplateBinding()
+ * @see #getUnqualifiedName()
+ * @generated
+ */
+ EReference getUnqualifiedName_TemplateBinding();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.TemplateBinding
+ * @generated
+ */
+ EClass getTemplateBinding();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.TemplateBinding#getBindings <em>Bindings</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Bindings</em>'.
+ * @see org.eclipse.papyrus.alf.alf.TemplateBinding#getBindings()
+ * @see #getTemplateBinding()
+ * @generated
+ */
+ EReference getTemplateBinding_Bindings();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.NamedTemplateBinding
+ * @generated
+ */
+ EClass getNamedTemplateBinding();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.NamedTemplateBinding#getFormal <em>Formal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Formal</em>'.
+ * @see org.eclipse.papyrus.alf.alf.NamedTemplateBinding#getFormal()
+ * @see #getNamedTemplateBinding()
+ * @generated
+ */
+ EAttribute getNamedTemplateBinding_Formal();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.NamedTemplateBinding#getActual <em>Actual</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Actual</em>'.
+ * @see org.eclipse.papyrus.alf.alf.NamedTemplateBinding#getActual()
+ * @see #getNamedTemplateBinding()
+ * @generated
+ */
+ EReference getNamedTemplateBinding_Actual();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding <em>Qualified Name With Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Qualified Name With Binding</em>'.
+ * @see org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding
+ * @generated
+ */
+ EClass getQualifiedNameWithBinding();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding#getId()
+ * @see #getQualifiedNameWithBinding()
+ * @generated
+ */
+ EAttribute getQualifiedNameWithBinding_Id();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding#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.alf.alf.QualifiedNameWithBinding#getBinding()
+ * @see #getQualifiedNameWithBinding()
+ * @generated
+ */
+ EReference getQualifiedNameWithBinding_Binding();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding#getRemaining <em>Remaining</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Remaining</em>'.
+ * @see org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding#getRemaining()
+ * @see #getQualifiedNameWithBinding()
+ * @generated
+ */
+ EReference getQualifiedNameWithBinding_Remaining();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.Tuple <em>Tuple</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Tuple</em>'.
+ * @see org.eclipse.papyrus.alf.alf.Tuple
+ * @generated
+ */
+ EClass getTuple();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.Tuple#getTupleElements <em>Tuple Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Tuple Elements</em>'.
+ * @see org.eclipse.papyrus.alf.alf.Tuple#getTupleElements()
+ * @see #getTuple()
+ * @generated
+ */
+ EReference getTuple_TupleElements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.TupleElement <em>Tuple Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Tuple Element</em>'.
+ * @see org.eclipse.papyrus.alf.alf.TupleElement
+ * @generated
+ */
+ EClass getTupleElement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.TupleElement#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.alf.alf.TupleElement#getArgument()
+ * @see #getTupleElement()
+ * @generated
+ */
+ EReference getTupleElement_Argument();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.Expression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.alf.alf.Expression
+ * @generated
+ */
+ EClass getExpression();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.ConditionalTestExpression
+ * @generated
+ */
+ EClass getConditionalTestExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.ConditionalTestExpression#getExp <em>Exp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Exp</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ConditionalTestExpression#getExp()
+ * @see #getConditionalTestExpression()
+ * @generated
+ */
+ EReference getConditionalTestExpression_Exp();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.ConditionalTestExpression#getWhenTrue <em>When True</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>When True</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ConditionalTestExpression#getWhenTrue()
+ * @see #getConditionalTestExpression()
+ * @generated
+ */
+ EReference getConditionalTestExpression_WhenTrue();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.ConditionalTestExpression#getWhenFalse <em>When False</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>When False</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ConditionalTestExpression#getWhenFalse()
+ * @see #getConditionalTestExpression()
+ * @generated
+ */
+ EReference getConditionalTestExpression_WhenFalse();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.ConditionalOrExpression <em>Conditional Or Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Conditional Or Expression</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ConditionalOrExpression
+ * @generated
+ */
+ EClass getConditionalOrExpression();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.ConditionalOrExpression#getExp <em>Exp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Exp</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ConditionalOrExpression#getExp()
+ * @see #getConditionalOrExpression()
+ * @generated
+ */
+ EReference getConditionalOrExpression_Exp();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.ConditionalAndExpression <em>Conditional And Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Conditional And Expression</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ConditionalAndExpression
+ * @generated
+ */
+ EClass getConditionalAndExpression();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.ConditionalAndExpression#getExp <em>Exp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Exp</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ConditionalAndExpression#getExp()
+ * @see #getConditionalAndExpression()
+ * @generated
+ */
+ EReference getConditionalAndExpression_Exp();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.InclusiveOrExpression <em>Inclusive Or Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Inclusive Or Expression</em>'.
+ * @see org.eclipse.papyrus.alf.alf.InclusiveOrExpression
+ * @generated
+ */
+ EClass getInclusiveOrExpression();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.InclusiveOrExpression#getExp <em>Exp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Exp</em>'.
+ * @see org.eclipse.papyrus.alf.alf.InclusiveOrExpression#getExp()
+ * @see #getInclusiveOrExpression()
+ * @generated
+ */
+ EReference getInclusiveOrExpression_Exp();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.ExclusiveOrExpression <em>Exclusive Or Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Exclusive Or Expression</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ExclusiveOrExpression
+ * @generated
+ */
+ EClass getExclusiveOrExpression();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.ExclusiveOrExpression#getExp <em>Exp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Exp</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ExclusiveOrExpression#getExp()
+ * @see #getExclusiveOrExpression()
+ * @generated
+ */
+ EReference getExclusiveOrExpression_Exp();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.AndExpression <em>And Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>And Expression</em>'.
+ * @see org.eclipse.papyrus.alf.alf.AndExpression
+ * @generated
+ */
+ EClass getAndExpression();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.AndExpression#getExp <em>Exp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Exp</em>'.
+ * @see org.eclipse.papyrus.alf.alf.AndExpression#getExp()
+ * @see #getAndExpression()
+ * @generated
+ */
+ EReference getAndExpression_Exp();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.EqualityExpression
+ * @generated
+ */
+ EClass getEqualityExpression();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.EqualityExpression#getExp <em>Exp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Exp</em>'.
+ * @see org.eclipse.papyrus.alf.alf.EqualityExpression#getExp()
+ * @see #getEqualityExpression()
+ * @generated
+ */
+ EReference getEqualityExpression_Exp();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.alf.alf.EqualityExpression#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Op</em>'.
+ * @see org.eclipse.papyrus.alf.alf.EqualityExpression#getOp()
+ * @see #getEqualityExpression()
+ * @generated
+ */
+ EAttribute getEqualityExpression_Op();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.ClassificationExpression
+ * @generated
+ */
+ EClass getClassificationExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.ClassificationExpression#getExp <em>Exp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Exp</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ClassificationExpression#getExp()
+ * @see #getClassificationExpression()
+ * @generated
+ */
+ EReference getClassificationExpression_Exp();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.ClassificationExpression#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Op</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ClassificationExpression#getOp()
+ * @see #getClassificationExpression()
+ * @generated
+ */
+ EAttribute getClassificationExpression_Op();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.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.alf.alf.ClassificationExpression#getTypeName()
+ * @see #getClassificationExpression()
+ * @generated
+ */
+ EReference getClassificationExpression_TypeName();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.RelationalExpression
+ * @generated
+ */
+ EClass getRelationalExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.RelationalExpression#getLeft <em>Left</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Left</em>'.
+ * @see org.eclipse.papyrus.alf.alf.RelationalExpression#getLeft()
+ * @see #getRelationalExpression()
+ * @generated
+ */
+ EReference getRelationalExpression_Left();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.RelationalExpression#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Op</em>'.
+ * @see org.eclipse.papyrus.alf.alf.RelationalExpression#getOp()
+ * @see #getRelationalExpression()
+ * @generated
+ */
+ EAttribute getRelationalExpression_Op();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.RelationalExpression#getRight <em>Right</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Right</em>'.
+ * @see org.eclipse.papyrus.alf.alf.RelationalExpression#getRight()
+ * @see #getRelationalExpression()
+ * @generated
+ */
+ EReference getRelationalExpression_Right();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.ShiftExpression
+ * @generated
+ */
+ EClass getShiftExpression();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.ShiftExpression#getExp <em>Exp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Exp</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ShiftExpression#getExp()
+ * @see #getShiftExpression()
+ * @generated
+ */
+ EReference getShiftExpression_Exp();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.ShiftExpression#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Op</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ShiftExpression#getOp()
+ * @see #getShiftExpression()
+ * @generated
+ */
+ EAttribute getShiftExpression_Op();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.AdditiveExpression <em>Additive Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Additive Expression</em>'.
+ * @see org.eclipse.papyrus.alf.alf.AdditiveExpression
+ * @generated
+ */
+ EClass getAdditiveExpression();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.AdditiveExpression#getExp <em>Exp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Exp</em>'.
+ * @see org.eclipse.papyrus.alf.alf.AdditiveExpression#getExp()
+ * @see #getAdditiveExpression()
+ * @generated
+ */
+ EReference getAdditiveExpression_Exp();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.alf.alf.AdditiveExpression#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Op</em>'.
+ * @see org.eclipse.papyrus.alf.alf.AdditiveExpression#getOp()
+ * @see #getAdditiveExpression()
+ * @generated
+ */
+ EAttribute getAdditiveExpression_Op();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.MultiplicativeExpression <em>Multiplicative Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Multiplicative Expression</em>'.
+ * @see org.eclipse.papyrus.alf.alf.MultiplicativeExpression
+ * @generated
+ */
+ EClass getMultiplicativeExpression();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.MultiplicativeExpression#getExp <em>Exp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Exp</em>'.
+ * @see org.eclipse.papyrus.alf.alf.MultiplicativeExpression#getExp()
+ * @see #getMultiplicativeExpression()
+ * @generated
+ */
+ EReference getMultiplicativeExpression_Exp();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.alf.alf.MultiplicativeExpression#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Op</em>'.
+ * @see org.eclipse.papyrus.alf.alf.MultiplicativeExpression#getOp()
+ * @see #getMultiplicativeExpression()
+ * @generated
+ */
+ EAttribute getMultiplicativeExpression_Op();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.UnaryExpression
+ * @generated
+ */
+ EClass getUnaryExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.UnaryExpression#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Op</em>'.
+ * @see org.eclipse.papyrus.alf.alf.UnaryExpression#getOp()
+ * @see #getUnaryExpression()
+ * @generated
+ */
+ EAttribute getUnaryExpression_Op();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.UnaryExpression#getExp <em>Exp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Exp</em>'.
+ * @see org.eclipse.papyrus.alf.alf.UnaryExpression#getExp()
+ * @see #getUnaryExpression()
+ * @generated
+ */
+ EReference getUnaryExpression_Exp();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.PrimaryExpression <em>Primary Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Primary Expression</em>'.
+ * @see org.eclipse.papyrus.alf.alf.PrimaryExpression
+ * @generated
+ */
+ EClass getPrimaryExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.PrimaryExpression#getPrefix <em>Prefix</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Prefix</em>'.
+ * @see org.eclipse.papyrus.alf.alf.PrimaryExpression#getPrefix()
+ * @see #getPrimaryExpression()
+ * @generated
+ */
+ EReference getPrimaryExpression_Prefix();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.SuffixExpression <em>Suffix Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Suffix Expression</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SuffixExpression
+ * @generated
+ */
+ EClass getSuffixExpression();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.OperationCallExpression <em>Operation Call Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Operation Call Expression</em>'.
+ * @see org.eclipse.papyrus.alf.alf.OperationCallExpression
+ * @generated
+ */
+ EClass getOperationCallExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.OperationCallExpression#getOperationName <em>Operation Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Operation Name</em>'.
+ * @see org.eclipse.papyrus.alf.alf.OperationCallExpression#getOperationName()
+ * @see #getOperationCallExpression()
+ * @generated
+ */
+ EAttribute getOperationCallExpression_OperationName();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.OperationCallExpression#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.alf.alf.OperationCallExpression#getTuple()
+ * @see #getOperationCallExpression()
+ * @generated
+ */
+ EReference getOperationCallExpression_Tuple();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.OperationCallExpression#getSuffix <em>Suffix</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Suffix</em>'.
+ * @see org.eclipse.papyrus.alf.alf.OperationCallExpression#getSuffix()
+ * @see #getOperationCallExpression()
+ * @generated
+ */
+ EReference getOperationCallExpression_Suffix();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.PropertyCallExpression <em>Property Call Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Property Call Expression</em>'.
+ * @see org.eclipse.papyrus.alf.alf.PropertyCallExpression
+ * @generated
+ */
+ EClass getPropertyCallExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.PropertyCallExpression#getPropertyName <em>Property Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Property Name</em>'.
+ * @see org.eclipse.papyrus.alf.alf.PropertyCallExpression#getPropertyName()
+ * @see #getPropertyCallExpression()
+ * @generated
+ */
+ EAttribute getPropertyCallExpression_PropertyName();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.PropertyCallExpression#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.alf.alf.PropertyCallExpression#getIndex()
+ * @see #getPropertyCallExpression()
+ * @generated
+ */
+ EReference getPropertyCallExpression_Index();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.PropertyCallExpression#getSuffix <em>Suffix</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Suffix</em>'.
+ * @see org.eclipse.papyrus.alf.alf.PropertyCallExpression#getSuffix()
+ * @see #getPropertyCallExpression()
+ * @generated
+ */
+ EReference getPropertyCallExpression_Suffix();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.LinkOperationExpression
+ * @generated
+ */
+ EClass getLinkOperationExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.LinkOperationExpression#getKind <em>Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Kind</em>'.
+ * @see org.eclipse.papyrus.alf.alf.LinkOperationExpression#getKind()
+ * @see #getLinkOperationExpression()
+ * @generated
+ */
+ EAttribute getLinkOperationExpression_Kind();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.LinkOperationExpression#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.alf.alf.LinkOperationExpression#getTuple()
+ * @see #getLinkOperationExpression()
+ * @generated
+ */
+ EReference getLinkOperationExpression_Tuple();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.LinkOperationTuple <em>Link Operation Tuple</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Link Operation Tuple</em>'.
+ * @see org.eclipse.papyrus.alf.alf.LinkOperationTuple
+ * @generated
+ */
+ EClass getLinkOperationTuple();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.LinkOperationTuple#getLinkOperationTupleElement <em>Link Operation Tuple Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Link Operation Tuple Element</em>'.
+ * @see org.eclipse.papyrus.alf.alf.LinkOperationTuple#getLinkOperationTupleElement()
+ * @see #getLinkOperationTuple()
+ * @generated
+ */
+ EReference getLinkOperationTuple_LinkOperationTupleElement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.LinkOperationTupleElement <em>Link Operation Tuple Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Link Operation Tuple Element</em>'.
+ * @see org.eclipse.papyrus.alf.alf.LinkOperationTupleElement
+ * @generated
+ */
+ EClass getLinkOperationTupleElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.LinkOperationTupleElement#getRole <em>Role</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Role</em>'.
+ * @see org.eclipse.papyrus.alf.alf.LinkOperationTupleElement#getRole()
+ * @see #getLinkOperationTupleElement()
+ * @generated
+ */
+ EAttribute getLinkOperationTupleElement_Role();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.LinkOperationTupleElement#getRoleIndex <em>Role Index</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Role Index</em>'.
+ * @see org.eclipse.papyrus.alf.alf.LinkOperationTupleElement#getRoleIndex()
+ * @see #getLinkOperationTupleElement()
+ * @generated
+ */
+ EReference getLinkOperationTupleElement_RoleIndex();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.LinkOperationTupleElement#getObject <em>Object</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Object</em>'.
+ * @see org.eclipse.papyrus.alf.alf.LinkOperationTupleElement#getObject()
+ * @see #getLinkOperationTupleElement()
+ * @generated
+ */
+ EReference getLinkOperationTupleElement_Object();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.SequenceOperationExpression
+ * @generated
+ */
+ EClass getSequenceOperationExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.SequenceOperationExpression#getOperationName <em>Operation Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Operation Name</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SequenceOperationExpression#getOperationName()
+ * @see #getSequenceOperationExpression()
+ * @generated
+ */
+ EReference getSequenceOperationExpression_OperationName();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.SequenceOperationExpression#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.alf.alf.SequenceOperationExpression#getTuple()
+ * @see #getSequenceOperationExpression()
+ * @generated
+ */
+ EReference getSequenceOperationExpression_Tuple();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.SequenceOperationExpression#getSuffix <em>Suffix</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Suffix</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SequenceOperationExpression#getSuffix()
+ * @see #getSequenceOperationExpression()
+ * @generated
+ */
+ EReference getSequenceOperationExpression_Suffix();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.SequenceReductionExpression
+ * @generated
+ */
+ EClass getSequenceReductionExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.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.alf.alf.SequenceReductionExpression#isIsOrdered()
+ * @see #getSequenceReductionExpression()
+ * @generated
+ */
+ EAttribute getSequenceReductionExpression_IsOrdered();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.SequenceReductionExpression#getBehavior <em>Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Behavior</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SequenceReductionExpression#getBehavior()
+ * @see #getSequenceReductionExpression()
+ * @generated
+ */
+ EReference getSequenceReductionExpression_Behavior();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.SequenceReductionExpression#getSuffix <em>Suffix</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Suffix</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SequenceReductionExpression#getSuffix()
+ * @see #getSequenceReductionExpression()
+ * @generated
+ */
+ EReference getSequenceReductionExpression_Suffix();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.SequenceExpansionExpression
+ * @generated
+ */
+ EClass getSequenceExpansionExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.SequenceExpansionExpression#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SequenceExpansionExpression#getName()
+ * @see #getSequenceExpansionExpression()
+ * @generated
+ */
+ EAttribute getSequenceExpansionExpression_Name();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.SequenceExpansionExpression#getExpr <em>Expr</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Expr</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SequenceExpansionExpression#getExpr()
+ * @see #getSequenceExpansionExpression()
+ * @generated
+ */
+ EReference getSequenceExpansionExpression_Expr();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.SequenceExpansionExpression#getSuffix <em>Suffix</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Suffix</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SequenceExpansionExpression#getSuffix()
+ * @see #getSequenceExpansionExpression()
+ * @generated
+ */
+ EReference getSequenceExpansionExpression_Suffix();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.SelectOrRejectOperation <em>Select Or Reject Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Select Or Reject Operation</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SelectOrRejectOperation
+ * @generated
+ */
+ EClass getSelectOrRejectOperation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.SelectOrRejectOperation#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Op</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SelectOrRejectOperation#getOp()
+ * @see #getSelectOrRejectOperation()
+ * @generated
+ */
+ EAttribute getSelectOrRejectOperation_Op();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.CollectOrIterateOperation <em>Collect Or Iterate Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Collect Or Iterate Operation</em>'.
+ * @see org.eclipse.papyrus.alf.alf.CollectOrIterateOperation
+ * @generated
+ */
+ EClass getCollectOrIterateOperation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.CollectOrIterateOperation#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Op</em>'.
+ * @see org.eclipse.papyrus.alf.alf.CollectOrIterateOperation#getOp()
+ * @see #getCollectOrIterateOperation()
+ * @generated
+ */
+ EAttribute getCollectOrIterateOperation_Op();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperation <em>For All Or Exists Or One Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>For All Or Exists Or One Operation</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperation
+ * @generated
+ */
+ EClass getForAllOrExistsOrOneOperation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperation#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Op</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperation#getOp()
+ * @see #getForAllOrExistsOrOneOperation()
+ * @generated
+ */
+ EAttribute getForAllOrExistsOrOneOperation_Op();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.IsUniqueOperation <em>Is Unique Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Is Unique Operation</em>'.
+ * @see org.eclipse.papyrus.alf.alf.IsUniqueOperation
+ * @generated
+ */
+ EClass getIsUniqueOperation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.ValueSpecification <em>Value Specification</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Value Specification</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ValueSpecification
+ * @generated
+ */
+ EClass getValueSpecification();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.NonLiteralValueSpecification <em>Non Literal Value Specification</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Non Literal Value Specification</em>'.
+ * @see org.eclipse.papyrus.alf.alf.NonLiteralValueSpecification
+ * @generated
+ */
+ EClass getNonLiteralValueSpecification();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.ParenthesizedExpression <em>Parenthesized Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Parenthesized Expression</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ParenthesizedExpression
+ * @generated
+ */
+ EClass getParenthesizedExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.ParenthesizedExpression#getExpOrTypeCast <em>Exp Or Type Cast</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Exp Or Type Cast</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ParenthesizedExpression#getExpOrTypeCast()
+ * @see #getParenthesizedExpression()
+ * @generated
+ */
+ EReference getParenthesizedExpression_ExpOrTypeCast();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.ParenthesizedExpression#getCasted <em>Casted</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Casted</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ParenthesizedExpression#getCasted()
+ * @see #getParenthesizedExpression()
+ * @generated
+ */
+ EReference getParenthesizedExpression_Casted();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.ParenthesizedExpression#getSuffix <em>Suffix</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Suffix</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ParenthesizedExpression#getSuffix()
+ * @see #getParenthesizedExpression()
+ * @generated
+ */
+ EReference getParenthesizedExpression_Suffix();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.NullExpression <em>Null Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Null Expression</em>'.
+ * @see org.eclipse.papyrus.alf.alf.NullExpression
+ * @generated
+ */
+ EClass getNullExpression();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.ThisExpression
+ * @generated
+ */
+ EClass getThisExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.ThisExpression#getSuffix <em>Suffix</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Suffix</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ThisExpression#getSuffix()
+ * @see #getThisExpression()
+ * @generated
+ */
+ EReference getThisExpression_Suffix();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.SuperInvocationExpression
+ * @generated
+ */
+ EClass getSuperInvocationExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.SuperInvocationExpression#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.alf.alf.SuperInvocationExpression#getTuple()
+ * @see #getSuperInvocationExpression()
+ * @generated
+ */
+ EReference getSuperInvocationExpression_Tuple();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.SuperInvocationExpression#getOperationName <em>Operation Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Operation Name</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SuperInvocationExpression#getOperationName()
+ * @see #getSuperInvocationExpression()
+ * @generated
+ */
+ EReference getSuperInvocationExpression_OperationName();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.InstanceCreationExpression
+ * @generated
+ */
+ EClass getInstanceCreationExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.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.alf.alf.InstanceCreationExpression#getConstructor()
+ * @see #getInstanceCreationExpression()
+ * @generated
+ */
+ EReference getInstanceCreationExpression_Constructor();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.InstanceCreationExpression#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.alf.alf.InstanceCreationExpression#getTuple()
+ * @see #getInstanceCreationExpression()
+ * @generated
+ */
+ EReference getInstanceCreationExpression_Tuple();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.InstanceCreationExpression#getSuffix <em>Suffix</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Suffix</em>'.
+ * @see org.eclipse.papyrus.alf.alf.InstanceCreationExpression#getSuffix()
+ * @see #getInstanceCreationExpression()
+ * @generated
+ */
+ EReference getInstanceCreationExpression_Suffix();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.InstanceCreationTuple <em>Instance Creation Tuple</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Instance Creation Tuple</em>'.
+ * @see org.eclipse.papyrus.alf.alf.InstanceCreationTuple
+ * @generated
+ */
+ EClass getInstanceCreationTuple();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.InstanceCreationTuple#getInstanceCreationTupleElement <em>Instance Creation Tuple Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Instance Creation Tuple Element</em>'.
+ * @see org.eclipse.papyrus.alf.alf.InstanceCreationTuple#getInstanceCreationTupleElement()
+ * @see #getInstanceCreationTuple()
+ * @generated
+ */
+ EReference getInstanceCreationTuple_InstanceCreationTupleElement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.InstanceCreationTupleElement <em>Instance Creation Tuple Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Instance Creation Tuple Element</em>'.
+ * @see org.eclipse.papyrus.alf.alf.InstanceCreationTupleElement
+ * @generated
+ */
+ EClass getInstanceCreationTupleElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.InstanceCreationTupleElement#getRole <em>Role</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Role</em>'.
+ * @see org.eclipse.papyrus.alf.alf.InstanceCreationTupleElement#getRole()
+ * @see #getInstanceCreationTupleElement()
+ * @generated
+ */
+ EAttribute getInstanceCreationTupleElement_Role();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.InstanceCreationTupleElement#getObject <em>Object</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Object</em>'.
+ * @see org.eclipse.papyrus.alf.alf.InstanceCreationTupleElement#getObject()
+ * @see #getInstanceCreationTupleElement()
+ * @generated
+ */
+ EReference getInstanceCreationTupleElement_Object();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion <em>Sequence Construction Or Access Completion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sequence Construction Or Access Completion</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion
+ * @generated
+ */
+ EClass getSequenceConstructionOrAccessCompletion();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion#isMultiplicityIndicator <em>Multiplicity Indicator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Multiplicity Indicator</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion#isMultiplicityIndicator()
+ * @see #getSequenceConstructionOrAccessCompletion()
+ * @generated
+ */
+ EAttribute getSequenceConstructionOrAccessCompletion_MultiplicityIndicator();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion#getAccessCompletion <em>Access Completion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Access Completion</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion#getAccessCompletion()
+ * @see #getSequenceConstructionOrAccessCompletion()
+ * @generated
+ */
+ EReference getSequenceConstructionOrAccessCompletion_AccessCompletion();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion#getSequenceCompletion <em>Sequence Completion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Sequence Completion</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion#getSequenceCompletion()
+ * @see #getSequenceConstructionOrAccessCompletion()
+ * @generated
+ */
+ EReference getSequenceConstructionOrAccessCompletion_SequenceCompletion();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion#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.alf.alf.SequenceConstructionOrAccessCompletion#getExpression()
+ * @see #getSequenceConstructionOrAccessCompletion()
+ * @generated
+ */
+ EReference getSequenceConstructionOrAccessCompletion_Expression();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.AccessCompletion <em>Access Completion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Access Completion</em>'.
+ * @see org.eclipse.papyrus.alf.alf.AccessCompletion
+ * @generated
+ */
+ EClass getAccessCompletion();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.AccessCompletion#getAccessIndex <em>Access Index</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Access Index</em>'.
+ * @see org.eclipse.papyrus.alf.alf.AccessCompletion#getAccessIndex()
+ * @see #getAccessCompletion()
+ * @generated
+ */
+ EReference getAccessCompletion_AccessIndex();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.PartialSequenceConstructionCompletion <em>Partial Sequence Construction Completion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Partial Sequence Construction Completion</em>'.
+ * @see org.eclipse.papyrus.alf.alf.PartialSequenceConstructionCompletion
+ * @generated
+ */
+ EClass getPartialSequenceConstructionCompletion();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.PartialSequenceConstructionCompletion#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.alf.alf.PartialSequenceConstructionCompletion#getExpression()
+ * @see #getPartialSequenceConstructionCompletion()
+ * @generated
+ */
+ EReference getPartialSequenceConstructionCompletion_Expression();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.SequenceConstructionExpression
+ * @generated
+ */
+ EClass getSequenceConstructionExpression();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.SequenceConstructionExpression#getSequenceElement <em>Sequence Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Sequence Element</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SequenceConstructionExpression#getSequenceElement()
+ * @see #getSequenceConstructionExpression()
+ * @generated
+ */
+ EReference getSequenceConstructionExpression_SequenceElement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.SequenceConstructionExpression#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.alf.alf.SequenceConstructionExpression#getRangeUpper()
+ * @see #getSequenceConstructionExpression()
+ * @generated
+ */
+ EReference getSequenceConstructionExpression_RangeUpper();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.SequenceElement <em>Sequence Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sequence Element</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SequenceElement
+ * @generated
+ */
+ EClass getSequenceElement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.ClassExtentExpression
+ * @generated
+ */
+ EClass getClassExtentExpression();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.Block <em>Block</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Block</em>'.
+ * @see org.eclipse.papyrus.alf.alf.Block
+ * @generated
+ */
+ EClass getBlock();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.Block#getSequence <em>Sequence</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Sequence</em>'.
+ * @see org.eclipse.papyrus.alf.alf.Block#getSequence()
+ * @see #getBlock()
+ * @generated
+ */
+ EReference getBlock_Sequence();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.StatementSequence <em>Statement Sequence</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Statement Sequence</em>'.
+ * @see org.eclipse.papyrus.alf.alf.StatementSequence
+ * @generated
+ */
+ EClass getStatementSequence();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.StatementSequence#getStatements <em>Statements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Statements</em>'.
+ * @see org.eclipse.papyrus.alf.alf.StatementSequence#getStatements()
+ * @see #getStatementSequence()
+ * @generated
+ */
+ EReference getStatementSequence_Statements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.DocumentedStatement <em>Documented Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Documented Statement</em>'.
+ * @see org.eclipse.papyrus.alf.alf.DocumentedStatement
+ * @generated
+ */
+ EClass getDocumentedStatement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.DocumentedStatement#getComment <em>Comment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Comment</em>'.
+ * @see org.eclipse.papyrus.alf.alf.DocumentedStatement#getComment()
+ * @see #getDocumentedStatement()
+ * @generated
+ */
+ EAttribute getDocumentedStatement_Comment();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.DocumentedStatement#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.alf.alf.DocumentedStatement#getStatement()
+ * @see #getDocumentedStatement()
+ * @generated
+ */
+ EReference getDocumentedStatement_Statement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.InlineStatement <em>Inline Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Inline Statement</em>'.
+ * @see org.eclipse.papyrus.alf.alf.InlineStatement
+ * @generated
+ */
+ EClass getInlineStatement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.InlineStatement#getLangageName <em>Langage Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Langage Name</em>'.
+ * @see org.eclipse.papyrus.alf.alf.InlineStatement#getLangageName()
+ * @see #getInlineStatement()
+ * @generated
+ */
+ EAttribute getInlineStatement_LangageName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.InlineStatement#getBody <em>Body</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Body</em>'.
+ * @see org.eclipse.papyrus.alf.alf.InlineStatement#getBody()
+ * @see #getInlineStatement()
+ * @generated
+ */
+ EAttribute getInlineStatement_Body();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.AnnotatedStatement
+ * @generated
+ */
+ EClass getAnnotatedStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.AnnotatedStatement#getAnnotation <em>Annotation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Annotation</em>'.
+ * @see org.eclipse.papyrus.alf.alf.AnnotatedStatement#getAnnotation()
+ * @see #getAnnotatedStatement()
+ * @generated
+ */
+ EReference getAnnotatedStatement_Annotation();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.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.alf.alf.AnnotatedStatement#getStatement()
+ * @see #getAnnotatedStatement()
+ * @generated
+ */
+ EReference getAnnotatedStatement_Statement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.Statement <em>Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Statement</em>'.
+ * @see org.eclipse.papyrus.alf.alf.Statement
+ * @generated
+ */
+ EClass getStatement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.Annotation <em>Annotation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Annotation</em>'.
+ * @see org.eclipse.papyrus.alf.alf.Annotation
+ * @generated
+ */
+ EClass getAnnotation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.Annotation#getKind <em>Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Kind</em>'.
+ * @see org.eclipse.papyrus.alf.alf.Annotation#getKind()
+ * @see #getAnnotation()
+ * @generated
+ */
+ EAttribute getAnnotation_Kind();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.alf.alf.Annotation#getArgs <em>Args</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Args</em>'.
+ * @see org.eclipse.papyrus.alf.alf.Annotation#getArgs()
+ * @see #getAnnotation()
+ * @generated
+ */
+ EAttribute getAnnotation_Args();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.BlockStatement
+ * @generated
+ */
+ EClass getBlockStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.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.alf.alf.BlockStatement#getBlock()
+ * @see #getBlockStatement()
+ * @generated
+ */
+ EReference getBlockStatement_Block();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.EmptyStatement
+ * @generated
+ */
+ EClass getEmptyStatement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.LocalNameDeclarationStatement
+ * @generated
+ */
+ EClass getLocalNameDeclarationStatement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.LocalNameDeclarationStatement#getVarName <em>Var Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Var Name</em>'.
+ * @see org.eclipse.papyrus.alf.alf.LocalNameDeclarationStatement#getVarName()
+ * @see #getLocalNameDeclarationStatement()
+ * @generated
+ */
+ EAttribute getLocalNameDeclarationStatement_VarName();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.LocalNameDeclarationStatement#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Type</em>'.
+ * @see org.eclipse.papyrus.alf.alf.LocalNameDeclarationStatement#getType()
+ * @see #getLocalNameDeclarationStatement()
+ * @generated
+ */
+ EReference getLocalNameDeclarationStatement_Type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.LocalNameDeclarationStatement#isMultiplicityIndicator <em>Multiplicity Indicator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Multiplicity Indicator</em>'.
+ * @see org.eclipse.papyrus.alf.alf.LocalNameDeclarationStatement#isMultiplicityIndicator()
+ * @see #getLocalNameDeclarationStatement()
+ * @generated
+ */
+ EAttribute getLocalNameDeclarationStatement_MultiplicityIndicator();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.LocalNameDeclarationStatement#getInit <em>Init</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Init</em>'.
+ * @see org.eclipse.papyrus.alf.alf.LocalNameDeclarationStatement#getInit()
+ * @see #getLocalNameDeclarationStatement()
+ * @generated
+ */
+ EReference getLocalNameDeclarationStatement_Init();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.IfStatement
+ * @generated
+ */
+ EClass getIfStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.IfStatement#getSequentialClausses <em>Sequential Clausses</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Sequential Clausses</em>'.
+ * @see org.eclipse.papyrus.alf.alf.IfStatement#getSequentialClausses()
+ * @see #getIfStatement()
+ * @generated
+ */
+ EReference getIfStatement_SequentialClausses();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.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.alf.alf.IfStatement#getFinalClause()
+ * @see #getIfStatement()
+ * @generated
+ */
+ EReference getIfStatement_FinalClause();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.SequentialClauses <em>Sequential Clauses</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sequential Clauses</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SequentialClauses
+ * @generated
+ */
+ EClass getSequentialClauses();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.SequentialClauses#getConccurentClauses <em>Conccurent Clauses</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Conccurent Clauses</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SequentialClauses#getConccurentClauses()
+ * @see #getSequentialClauses()
+ * @generated
+ */
+ EReference getSequentialClauses_ConccurentClauses();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.ConcurrentClauses
+ * @generated
+ */
+ EClass getConcurrentClauses();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.ConcurrentClauses#getNonFinalClause <em>Non Final Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Non Final Clause</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ConcurrentClauses#getNonFinalClause()
+ * @see #getConcurrentClauses()
+ * @generated
+ */
+ EReference getConcurrentClauses_NonFinalClause();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.NonFinalClause
+ * @generated
+ */
+ EClass getNonFinalClause();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.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.alf.alf.NonFinalClause#getCondition()
+ * @see #getNonFinalClause()
+ * @generated
+ */
+ EReference getNonFinalClause_Condition();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.NonFinalClause#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.alf.alf.NonFinalClause#getBlock()
+ * @see #getNonFinalClause()
+ * @generated
+ */
+ EReference getNonFinalClause_Block();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.FinalClause <em>Final Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Final Clause</em>'.
+ * @see org.eclipse.papyrus.alf.alf.FinalClause
+ * @generated
+ */
+ EClass getFinalClause();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.FinalClause#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.alf.alf.FinalClause#getBlock()
+ * @see #getFinalClause()
+ * @generated
+ */
+ EReference getFinalClause_Block();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.SwitchStatement
+ * @generated
+ */
+ EClass getSwitchStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.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.alf.alf.SwitchStatement#getExpression()
+ * @see #getSwitchStatement()
+ * @generated
+ */
+ EReference getSwitchStatement_Expression();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.SwitchStatement#getSwitchClause <em>Switch Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Switch Clause</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SwitchStatement#getSwitchClause()
+ * @see #getSwitchStatement()
+ * @generated
+ */
+ EReference getSwitchStatement_SwitchClause();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.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.alf.alf.SwitchStatement#getDefaultClause()
+ * @see #getSwitchStatement()
+ * @generated
+ */
+ EReference getSwitchStatement_DefaultClause();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.SwitchClause
+ * @generated
+ */
+ EClass getSwitchClause();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.SwitchClause#getSwitchCase <em>Switch Case</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Switch Case</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SwitchClause#getSwitchCase()
+ * @see #getSwitchClause()
+ * @generated
+ */
+ EReference getSwitchClause_SwitchCase();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.SwitchClause#getStatementSequence <em>Statement Sequence</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Statement Sequence</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SwitchClause#getStatementSequence()
+ * @see #getSwitchClause()
+ * @generated
+ */
+ EReference getSwitchClause_StatementSequence();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.SwitchCase <em>Switch Case</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Switch Case</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SwitchCase
+ * @generated
+ */
+ EClass getSwitchCase();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.SwitchCase#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.alf.alf.SwitchCase#getExpression()
+ * @see #getSwitchCase()
+ * @generated
+ */
+ EReference getSwitchCase_Expression();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.SwitchDefaultClause <em>Switch Default Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Switch Default Clause</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SwitchDefaultClause
+ * @generated
+ */
+ EClass getSwitchDefaultClause();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.SwitchDefaultClause#getStatementSequence <em>Statement Sequence</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Statement Sequence</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SwitchDefaultClause#getStatementSequence()
+ * @see #getSwitchDefaultClause()
+ * @generated
+ */
+ EReference getSwitchDefaultClause_StatementSequence();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.NonEmptyStatementSequence <em>Non Empty Statement Sequence</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Non Empty Statement Sequence</em>'.
+ * @see org.eclipse.papyrus.alf.alf.NonEmptyStatementSequence
+ * @generated
+ */
+ EClass getNonEmptyStatementSequence();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.NonEmptyStatementSequence#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.alf.alf.NonEmptyStatementSequence#getStatement()
+ * @see #getNonEmptyStatementSequence()
+ * @generated
+ */
+ EReference getNonEmptyStatementSequence_Statement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.WhileStatement
+ * @generated
+ */
+ EClass getWhileStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.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.alf.alf.WhileStatement#getCondition()
+ * @see #getWhileStatement()
+ * @generated
+ */
+ EReference getWhileStatement_Condition();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.WhileStatement#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.alf.alf.WhileStatement#getBlock()
+ * @see #getWhileStatement()
+ * @generated
+ */
+ EReference getWhileStatement_Block();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.DoStatement
+ * @generated
+ */
+ EClass getDoStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.DoStatement#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.alf.alf.DoStatement#getBlock()
+ * @see #getDoStatement()
+ * @generated
+ */
+ EReference getDoStatement_Block();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.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.alf.alf.DoStatement#getCondition()
+ * @see #getDoStatement()
+ * @generated
+ */
+ EReference getDoStatement_Condition();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.ForStatement
+ * @generated
+ */
+ EClass getForStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.ForStatement#getControl <em>Control</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Control</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ForStatement#getControl()
+ * @see #getForStatement()
+ * @generated
+ */
+ EReference getForStatement_Control();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.ForStatement#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.alf.alf.ForStatement#getBlock()
+ * @see #getForStatement()
+ * @generated
+ */
+ EReference getForStatement_Block();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.ForControl <em>For Control</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>For Control</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ForControl
+ * @generated
+ */
+ EClass getForControl();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.ForControl#getLoopVariableDefinition <em>Loop Variable Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Loop Variable Definition</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ForControl#getLoopVariableDefinition()
+ * @see #getForControl()
+ * @generated
+ */
+ EReference getForControl_LoopVariableDefinition();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.LoopVariableDefinition
+ * @generated
+ */
+ EClass getLoopVariableDefinition();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.LoopVariableDefinition#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.alf.alf.LoopVariableDefinition#getName()
+ * @see #getLoopVariableDefinition()
+ * @generated
+ */
+ EAttribute getLoopVariableDefinition_Name();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.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.alf.alf.LoopVariableDefinition#getExpression1()
+ * @see #getLoopVariableDefinition()
+ * @generated
+ */
+ EReference getLoopVariableDefinition_Expression1();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.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.alf.alf.LoopVariableDefinition#getExpression2()
+ * @see #getLoopVariableDefinition()
+ * @generated
+ */
+ EReference getLoopVariableDefinition_Expression2();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.LoopVariableDefinition#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Type</em>'.
+ * @see org.eclipse.papyrus.alf.alf.LoopVariableDefinition#getType()
+ * @see #getLoopVariableDefinition()
+ * @generated
+ */
+ EReference getLoopVariableDefinition_Type();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.LoopVariableDefinition#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.alf.alf.LoopVariableDefinition#getExpression()
+ * @see #getLoopVariableDefinition()
+ * @generated
+ */
+ EReference getLoopVariableDefinition_Expression();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.BreakStatement
+ * @generated
+ */
+ EClass getBreakStatement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.ReturnStatement
+ * @generated
+ */
+ EClass getReturnStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.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.alf.alf.ReturnStatement#getExpression()
+ * @see #getReturnStatement()
+ * @generated
+ */
+ EReference getReturnStatement_Expression();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.AcceptStatement
+ * @generated
+ */
+ EClass getAcceptStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.AcceptStatement#getClause <em>Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Clause</em>'.
+ * @see org.eclipse.papyrus.alf.alf.AcceptStatement#getClause()
+ * @see #getAcceptStatement()
+ * @generated
+ */
+ EReference getAcceptStatement_Clause();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.AcceptStatement#getSimpleAccept <em>Simple Accept</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Simple Accept</em>'.
+ * @see org.eclipse.papyrus.alf.alf.AcceptStatement#getSimpleAccept()
+ * @see #getAcceptStatement()
+ * @generated
+ */
+ EReference getAcceptStatement_SimpleAccept();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.AcceptStatement#getCompoundAccept <em>Compound Accept</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Compound Accept</em>'.
+ * @see org.eclipse.papyrus.alf.alf.AcceptStatement#getCompoundAccept()
+ * @see #getAcceptStatement()
+ * @generated
+ */
+ EReference getAcceptStatement_CompoundAccept();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.SimpleAcceptStatementCompletion <em>Simple Accept Statement Completion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Simple Accept Statement Completion</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SimpleAcceptStatementCompletion
+ * @generated
+ */
+ EClass getSimpleAcceptStatementCompletion();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.CompoundAcceptStatementCompletion <em>Compound Accept Statement Completion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Compound Accept Statement Completion</em>'.
+ * @see org.eclipse.papyrus.alf.alf.CompoundAcceptStatementCompletion
+ * @generated
+ */
+ EClass getCompoundAcceptStatementCompletion();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.CompoundAcceptStatementCompletion#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.alf.alf.CompoundAcceptStatementCompletion#getBlock()
+ * @see #getCompoundAcceptStatementCompletion()
+ * @generated
+ */
+ EReference getCompoundAcceptStatementCompletion_Block();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.CompoundAcceptStatementCompletion#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.alf.alf.CompoundAcceptStatementCompletion#getAcceptBlock()
+ * @see #getCompoundAcceptStatementCompletion()
+ * @generated
+ */
+ EReference getCompoundAcceptStatementCompletion_AcceptBlock();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.AcceptBlock
+ * @generated
+ */
+ EClass getAcceptBlock();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.AcceptBlock#getClause <em>Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Clause</em>'.
+ * @see org.eclipse.papyrus.alf.alf.AcceptBlock#getClause()
+ * @see #getAcceptBlock()
+ * @generated
+ */
+ EReference getAcceptBlock_Clause();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.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.alf.alf.AcceptBlock#getBlock()
+ * @see #getAcceptBlock()
+ * @generated
+ */
+ EReference getAcceptBlock_Block();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.AcceptClause <em>Accept Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Accept Clause</em>'.
+ * @see org.eclipse.papyrus.alf.alf.AcceptClause
+ * @generated
+ */
+ EClass getAcceptClause();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.AcceptClause#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.alf.alf.AcceptClause#getName()
+ * @see #getAcceptClause()
+ * @generated
+ */
+ EAttribute getAcceptClause_Name();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.AcceptClause#getQualifiedNameList <em>Qualified Name List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Qualified Name List</em>'.
+ * @see org.eclipse.papyrus.alf.alf.AcceptClause#getQualifiedNameList()
+ * @see #getAcceptClause()
+ * @generated
+ */
+ EReference getAcceptClause_QualifiedNameList();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.ClassifyStatement
+ * @generated
+ */
+ EClass getClassifyStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.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.alf.alf.ClassifyStatement#getExpression()
+ * @see #getClassifyStatement()
+ * @generated
+ */
+ EReference getClassifyStatement_Expression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.ClassifyStatement#getClause <em>Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Clause</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ClassifyStatement#getClause()
+ * @see #getClassifyStatement()
+ * @generated
+ */
+ EReference getClassifyStatement_Clause();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.ClassificationClause <em>Classification Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Classification Clause</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ClassificationClause
+ * @generated
+ */
+ EClass getClassificationClause();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.ClassificationClause#getClassifyFromClause <em>Classify From Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Classify From Clause</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ClassificationClause#getClassifyFromClause()
+ * @see #getClassificationClause()
+ * @generated
+ */
+ EReference getClassificationClause_ClassifyFromClause();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.ClassificationClause#getClassifyToClause <em>Classify To Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Classify To Clause</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ClassificationClause#getClassifyToClause()
+ * @see #getClassificationClause()
+ * @generated
+ */
+ EReference getClassificationClause_ClassifyToClause();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.ClassificationClause#getReclassyAllClause <em>Reclassy All Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Reclassy All Clause</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ClassificationClause#getReclassyAllClause()
+ * @see #getClassificationClause()
+ * @generated
+ */
+ EReference getClassificationClause_ReclassyAllClause();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.ClassificationFromClause <em>Classification From Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Classification From Clause</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ClassificationFromClause
+ * @generated
+ */
+ EClass getClassificationFromClause();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.ClassificationFromClause#getQualifiedNameList <em>Qualified Name List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Qualified Name List</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ClassificationFromClause#getQualifiedNameList()
+ * @see #getClassificationFromClause()
+ * @generated
+ */
+ EReference getClassificationFromClause_QualifiedNameList();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.ClassificationToClause <em>Classification To Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Classification To Clause</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ClassificationToClause
+ * @generated
+ */
+ EClass getClassificationToClause();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.ClassificationToClause#getQualifiedNameList <em>Qualified Name List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Qualified Name List</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ClassificationToClause#getQualifiedNameList()
+ * @see #getClassificationToClause()
+ * @generated
+ */
+ EReference getClassificationToClause_QualifiedNameList();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.ReclassifyAllClause <em>Reclassify All Clause</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Reclassify All Clause</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ReclassifyAllClause
+ * @generated
+ */
+ EClass getReclassifyAllClause();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.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.alf.alf.QualifiedNameList
+ * @generated
+ */
+ EClass getQualifiedNameList();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.alf.alf.QualifiedNameList#getQualifiedName <em>Qualified Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Qualified Name</em>'.
+ * @see org.eclipse.papyrus.alf.alf.QualifiedNameList#getQualifiedName()
+ * @see #getQualifiedNameList()
+ * @generated
+ */
+ EReference getQualifiedNameList_QualifiedName();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.InvocationOrAssignementOrDeclarationStatement <em>Invocation Or Assignement Or Declaration Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Invocation Or Assignement Or Declaration Statement</em>'.
+ * @see org.eclipse.papyrus.alf.alf.InvocationOrAssignementOrDeclarationStatement
+ * @generated
+ */
+ EClass getInvocationOrAssignementOrDeclarationStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.InvocationOrAssignementOrDeclarationStatement#getTypePart_OR_assignedPart_OR_invocationPart <em>Type Part OR assigned Part OR invocation Part</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Type Part OR assigned Part OR invocation Part</em>'.
+ * @see org.eclipse.papyrus.alf.alf.InvocationOrAssignementOrDeclarationStatement#getTypePart_OR_assignedPart_OR_invocationPart()
+ * @see #getInvocationOrAssignementOrDeclarationStatement()
+ * @generated
+ */
+ EReference getInvocationOrAssignementOrDeclarationStatement_TypePart_OR_assignedPart_OR_invocationPart();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.InvocationOrAssignementOrDeclarationStatement#getVariableDeclarationCompletion <em>Variable Declaration Completion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Variable Declaration Completion</em>'.
+ * @see org.eclipse.papyrus.alf.alf.InvocationOrAssignementOrDeclarationStatement#getVariableDeclarationCompletion()
+ * @see #getInvocationOrAssignementOrDeclarationStatement()
+ * @generated
+ */
+ EReference getInvocationOrAssignementOrDeclarationStatement_VariableDeclarationCompletion();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.InvocationOrAssignementOrDeclarationStatement#getAssignmentCompletion <em>Assignment Completion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Assignment Completion</em>'.
+ * @see org.eclipse.papyrus.alf.alf.InvocationOrAssignementOrDeclarationStatement#getAssignmentCompletion()
+ * @see #getInvocationOrAssignementOrDeclarationStatement()
+ * @generated
+ */
+ EReference getInvocationOrAssignementOrDeclarationStatement_AssignmentCompletion();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.SuperInvocationStatement <em>Super Invocation Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Super Invocation Statement</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SuperInvocationStatement
+ * @generated
+ */
+ EClass getSuperInvocationStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.SuperInvocationStatement#get_super <em>super</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>super</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SuperInvocationStatement#get_super()
+ * @see #getSuperInvocationStatement()
+ * @generated
+ */
+ EReference getSuperInvocationStatement__super();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.ThisInvocationStatement <em>This Invocation Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>This Invocation Statement</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ThisInvocationStatement
+ * @generated
+ */
+ EClass getThisInvocationStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.ThisInvocationStatement#get_this <em>this</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>this</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ThisInvocationStatement#get_this()
+ * @see #getThisInvocationStatement()
+ * @generated
+ */
+ EReference getThisInvocationStatement__this();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.ThisInvocationStatement#getAssignmentCompletion <em>Assignment Completion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Assignment Completion</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ThisInvocationStatement#getAssignmentCompletion()
+ * @see #getThisInvocationStatement()
+ * @generated
+ */
+ EReference getThisInvocationStatement_AssignmentCompletion();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.InstanceCreationInvocationStatement <em>Instance Creation Invocation Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Instance Creation Invocation Statement</em>'.
+ * @see org.eclipse.papyrus.alf.alf.InstanceCreationInvocationStatement
+ * @generated
+ */
+ EClass getInstanceCreationInvocationStatement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.InstanceCreationInvocationStatement#get_new <em>new</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>new</em>'.
+ * @see org.eclipse.papyrus.alf.alf.InstanceCreationInvocationStatement#get_new()
+ * @see #getInstanceCreationInvocationStatement()
+ * @generated
+ */
+ EReference getInstanceCreationInvocationStatement__new();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.VariableDeclarationCompletion <em>Variable Declaration Completion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Variable Declaration Completion</em>'.
+ * @see org.eclipse.papyrus.alf.alf.VariableDeclarationCompletion
+ * @generated
+ */
+ EClass getVariableDeclarationCompletion();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.VariableDeclarationCompletion#isMultiplicityIndicator <em>Multiplicity Indicator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Multiplicity Indicator</em>'.
+ * @see org.eclipse.papyrus.alf.alf.VariableDeclarationCompletion#isMultiplicityIndicator()
+ * @see #getVariableDeclarationCompletion()
+ * @generated
+ */
+ EAttribute getVariableDeclarationCompletion_MultiplicityIndicator();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.VariableDeclarationCompletion#getVariableName <em>Variable Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Variable Name</em>'.
+ * @see org.eclipse.papyrus.alf.alf.VariableDeclarationCompletion#getVariableName()
+ * @see #getVariableDeclarationCompletion()
+ * @generated
+ */
+ EAttribute getVariableDeclarationCompletion_VariableName();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.VariableDeclarationCompletion#getInitValue <em>Init Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Init Value</em>'.
+ * @see org.eclipse.papyrus.alf.alf.VariableDeclarationCompletion#getInitValue()
+ * @see #getVariableDeclarationCompletion()
+ * @generated
+ */
+ EReference getVariableDeclarationCompletion_InitValue();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.alf.alf.AssignmentCompletion <em>Assignment Completion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Assignment Completion</em>'.
+ * @see org.eclipse.papyrus.alf.alf.AssignmentCompletion
+ * @generated
+ */
+ EClass getAssignmentCompletion();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.alf.alf.AssignmentCompletion#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Op</em>'.
+ * @see org.eclipse.papyrus.alf.alf.AssignmentCompletion#getOp()
+ * @see #getAssignmentCompletion()
+ * @generated
+ */
+ EAttribute getAssignmentCompletion_Op();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.alf.alf.AssignmentCompletion#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.alf.alf.AssignmentCompletion#getRightHandSide()
+ * @see #getAssignmentCompletion()
+ * @generated
+ */
+ EReference getAssignmentCompletion_RightHandSide();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.alf.alf.BooleanValue <em>Boolean Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Boolean Value</em>'.
+ * @see org.eclipse.papyrus.alf.alf.BooleanValue
+ * @generated
+ */
+ EEnum getBooleanValue();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.alf.alf.LinkOperationKind <em>Link Operation Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Link Operation Kind</em>'.
+ * @see org.eclipse.papyrus.alf.alf.LinkOperationKind
+ * @generated
+ */
+ EEnum getLinkOperationKind();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.alf.alf.SelectOrRejectOperator <em>Select Or Reject Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Select Or Reject Operator</em>'.
+ * @see org.eclipse.papyrus.alf.alf.SelectOrRejectOperator
+ * @generated
+ */
+ EEnum getSelectOrRejectOperator();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.alf.alf.CollectOrIterateOperator <em>Collect Or Iterate Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Collect Or Iterate Operator</em>'.
+ * @see org.eclipse.papyrus.alf.alf.CollectOrIterateOperator
+ * @generated
+ */
+ EEnum getCollectOrIterateOperator();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperator <em>For All Or Exists Or One Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>For All Or Exists Or One Operator</em>'.
+ * @see org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperator
+ * @generated
+ */
+ EEnum getForAllOrExistsOrOneOperator();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.alf.alf.AnnotationKind <em>Annotation Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Annotation Kind</em>'.
+ * @see org.eclipse.papyrus.alf.alf.AnnotationKind
+ * @generated
+ */
+ EEnum getAnnotationKind();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.alf.alf.AssignmentOperator <em>Assignment Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Assignment Operator</em>'.
+ * @see org.eclipse.papyrus.alf.alf.AssignmentOperator
+ * @generated
+ */
+ EEnum getAssignmentOperator();
+
+ /**
+ * 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();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals
+ {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.TestImpl <em>Test</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.TestImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getTest()
+ * @generated
+ */
+ EClass TEST = eINSTANCE.getTest();
+
+ /**
+ * The meta object literal for the '<em><b>Expression</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TEST__EXPRESSION = eINSTANCE.getTest_Expression();
+
+ /**
+ * The meta object literal for the '<em><b>Assign Expression</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TEST__ASSIGN_EXPRESSION = eINSTANCE.getTest_AssignExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Statements</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TEST__STATEMENTS = eINSTANCE.getTest_Statements();
+
+ /**
+ * The meta object literal for the '<em><b>Block</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TEST__BLOCK = eINSTANCE.getTest_Block();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.LITERALImpl <em>LITERAL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.LITERALImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getLITERAL()
+ * @generated
+ */
+ EClass LITERAL = eINSTANCE.getLITERAL();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.BOOLEAN_LITERALImpl <em>BOOLEAN LITERAL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.BOOLEAN_LITERALImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getBOOLEAN_LITERAL()
+ * @generated
+ */
+ EClass BOOLEAN_LITERAL = eINSTANCE.getBOOLEAN_LITERAL();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BOOLEAN_LITERAL__VALUE = eINSTANCE.getBOOLEAN_LITERAL_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.NUMBER_LITERALImpl <em>NUMBER LITERAL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.NUMBER_LITERALImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getNUMBER_LITERAL()
+ * @generated
+ */
+ EClass NUMBER_LITERAL = eINSTANCE.getNUMBER_LITERAL();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NUMBER_LITERAL__VALUE = eINSTANCE.getNUMBER_LITERAL_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.INTEGER_LITERALImpl <em>INTEGER LITERAL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.INTEGER_LITERALImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getINTEGER_LITERAL()
+ * @generated
+ */
+ EClass INTEGER_LITERAL = eINSTANCE.getINTEGER_LITERAL();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.UNLIMITED_LITERALImpl <em>UNLIMITED LITERAL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.UNLIMITED_LITERALImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getUNLIMITED_LITERAL()
+ * @generated
+ */
+ EClass UNLIMITED_LITERAL = eINSTANCE.getUNLIMITED_LITERAL();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.STRING_LITERALImpl <em>STRING LITERAL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.STRING_LITERALImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSTRING_LITERAL()
+ * @generated
+ */
+ EClass STRING_LITERAL = eINSTANCE.getSTRING_LITERAL();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute STRING_LITERAL__VALUE = eINSTANCE.getSTRING_LITERAL_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.NameExpressionImpl <em>Name Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.NameExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getNameExpression()
+ * @generated
+ */
+ EClass NAME_EXPRESSION = eINSTANCE.getNameExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Prefix Op</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NAME_EXPRESSION__PREFIX_OP = eINSTANCE.getNameExpression_PrefixOp();
+
+ /**
+ * The meta object literal for the '<em><b>Path</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NAME_EXPRESSION__PATH = eINSTANCE.getNameExpression_Path();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NAME_EXPRESSION__ID = eINSTANCE.getNameExpression_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Invocation Completion</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NAME_EXPRESSION__INVOCATION_COMPLETION = eINSTANCE.getNameExpression_InvocationCompletion();
+
+ /**
+ * The meta object literal for the '<em><b>Sequence Construction Completion</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NAME_EXPRESSION__SEQUENCE_CONSTRUCTION_COMPLETION = eINSTANCE.getNameExpression_SequenceConstructionCompletion();
+
+ /**
+ * The meta object literal for the '<em><b>Postfix Op</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NAME_EXPRESSION__POSTFIX_OP = eINSTANCE.getNameExpression_PostfixOp();
+
+ /**
+ * The meta object literal for the '<em><b>Suffix</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NAME_EXPRESSION__SUFFIX = eINSTANCE.getNameExpression_Suffix();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.QualifiedNamePathImpl <em>Qualified Name Path</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.QualifiedNamePathImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getQualifiedNamePath()
+ * @generated
+ */
+ EClass QUALIFIED_NAME_PATH = eINSTANCE.getQualifiedNamePath();
+
+ /**
+ * The meta object literal for the '<em><b>Namespace</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference QUALIFIED_NAME_PATH__NAMESPACE = eINSTANCE.getQualifiedNamePath_Namespace();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.UnqualifiedNameImpl <em>Unqualified Name</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.UnqualifiedNameImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getUnqualifiedName()
+ * @generated
+ */
+ EClass UNQUALIFIED_NAME = eINSTANCE.getUnqualifiedName();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute UNQUALIFIED_NAME__NAME = eINSTANCE.getUnqualifiedName_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Template Binding</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference UNQUALIFIED_NAME__TEMPLATE_BINDING = eINSTANCE.getUnqualifiedName_TemplateBinding();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.TemplateBindingImpl <em>Template Binding</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.TemplateBindingImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getTemplateBinding()
+ * @generated
+ */
+ EClass TEMPLATE_BINDING = eINSTANCE.getTemplateBinding();
+
+ /**
+ * The meta object literal for the '<em><b>Bindings</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TEMPLATE_BINDING__BINDINGS = eINSTANCE.getTemplateBinding_Bindings();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.NamedTemplateBindingImpl <em>Named Template Binding</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.NamedTemplateBindingImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getNamedTemplateBinding()
+ * @generated
+ */
+ EClass NAMED_TEMPLATE_BINDING = eINSTANCE.getNamedTemplateBinding();
+
+ /**
+ * The meta object literal for the '<em><b>Formal</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NAMED_TEMPLATE_BINDING__FORMAL = eINSTANCE.getNamedTemplateBinding_Formal();
+
+ /**
+ * The meta object literal for the '<em><b>Actual</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NAMED_TEMPLATE_BINDING__ACTUAL = eINSTANCE.getNamedTemplateBinding_Actual();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.QualifiedNameWithBindingImpl <em>Qualified Name With Binding</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.QualifiedNameWithBindingImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getQualifiedNameWithBinding()
+ * @generated
+ */
+ EClass QUALIFIED_NAME_WITH_BINDING = eINSTANCE.getQualifiedNameWithBinding();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute QUALIFIED_NAME_WITH_BINDING__ID = eINSTANCE.getQualifiedNameWithBinding_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Binding</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference QUALIFIED_NAME_WITH_BINDING__BINDING = eINSTANCE.getQualifiedNameWithBinding_Binding();
+
+ /**
+ * The meta object literal for the '<em><b>Remaining</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference QUALIFIED_NAME_WITH_BINDING__REMAINING = eINSTANCE.getQualifiedNameWithBinding_Remaining();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.TupleImpl <em>Tuple</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.TupleImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getTuple()
+ * @generated
+ */
+ EClass TUPLE = eINSTANCE.getTuple();
+
+ /**
+ * The meta object literal for the '<em><b>Tuple Elements</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TUPLE__TUPLE_ELEMENTS = eINSTANCE.getTuple_TupleElements();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.TupleElementImpl <em>Tuple Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.TupleElementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getTupleElement()
+ * @generated
+ */
+ EClass TUPLE_ELEMENT = eINSTANCE.getTupleElement();
+
+ /**
+ * The meta object literal for the '<em><b>Argument</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TUPLE_ELEMENT__ARGUMENT = eINSTANCE.getTupleElement_Argument();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ExpressionImpl <em>Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getExpression()
+ * @generated
+ */
+ EClass EXPRESSION = eINSTANCE.getExpression();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ConditionalTestExpressionImpl <em>Conditional Test Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ConditionalTestExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getConditionalTestExpression()
+ * @generated
+ */
+ EClass CONDITIONAL_TEST_EXPRESSION = eINSTANCE.getConditionalTestExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Exp</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONDITIONAL_TEST_EXPRESSION__EXP = eINSTANCE.getConditionalTestExpression_Exp();
+
+ /**
+ * The meta object literal for the '<em><b>When True</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONDITIONAL_TEST_EXPRESSION__WHEN_TRUE = eINSTANCE.getConditionalTestExpression_WhenTrue();
+
+ /**
+ * The meta object literal for the '<em><b>When False</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONDITIONAL_TEST_EXPRESSION__WHEN_FALSE = eINSTANCE.getConditionalTestExpression_WhenFalse();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ConditionalOrExpressionImpl <em>Conditional Or Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ConditionalOrExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getConditionalOrExpression()
+ * @generated
+ */
+ EClass CONDITIONAL_OR_EXPRESSION = eINSTANCE.getConditionalOrExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Exp</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONDITIONAL_OR_EXPRESSION__EXP = eINSTANCE.getConditionalOrExpression_Exp();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ConditionalAndExpressionImpl <em>Conditional And Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ConditionalAndExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getConditionalAndExpression()
+ * @generated
+ */
+ EClass CONDITIONAL_AND_EXPRESSION = eINSTANCE.getConditionalAndExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Exp</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONDITIONAL_AND_EXPRESSION__EXP = eINSTANCE.getConditionalAndExpression_Exp();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.InclusiveOrExpressionImpl <em>Inclusive Or Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.InclusiveOrExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getInclusiveOrExpression()
+ * @generated
+ */
+ EClass INCLUSIVE_OR_EXPRESSION = eINSTANCE.getInclusiveOrExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Exp</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INCLUSIVE_OR_EXPRESSION__EXP = eINSTANCE.getInclusiveOrExpression_Exp();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ExclusiveOrExpressionImpl <em>Exclusive Or Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ExclusiveOrExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getExclusiveOrExpression()
+ * @generated
+ */
+ EClass EXCLUSIVE_OR_EXPRESSION = eINSTANCE.getExclusiveOrExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Exp</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXCLUSIVE_OR_EXPRESSION__EXP = eINSTANCE.getExclusiveOrExpression_Exp();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.AndExpressionImpl <em>And Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.AndExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAndExpression()
+ * @generated
+ */
+ EClass AND_EXPRESSION = eINSTANCE.getAndExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Exp</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference AND_EXPRESSION__EXP = eINSTANCE.getAndExpression_Exp();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.EqualityExpressionImpl <em>Equality Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.EqualityExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getEqualityExpression()
+ * @generated
+ */
+ EClass EQUALITY_EXPRESSION = eINSTANCE.getEqualityExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Exp</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EQUALITY_EXPRESSION__EXP = eINSTANCE.getEqualityExpression_Exp();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EQUALITY_EXPRESSION__OP = eINSTANCE.getEqualityExpression_Op();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ClassificationExpressionImpl <em>Classification Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ClassificationExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getClassificationExpression()
+ * @generated
+ */
+ EClass CLASSIFICATION_EXPRESSION = eINSTANCE.getClassificationExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Exp</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLASSIFICATION_EXPRESSION__EXP = eINSTANCE.getClassificationExpression_Exp();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CLASSIFICATION_EXPRESSION__OP = eINSTANCE.getClassificationExpression_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Type Name</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLASSIFICATION_EXPRESSION__TYPE_NAME = eINSTANCE.getClassificationExpression_TypeName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.RelationalExpressionImpl <em>Relational Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.RelationalExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getRelationalExpression()
+ * @generated
+ */
+ EClass RELATIONAL_EXPRESSION = eINSTANCE.getRelationalExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RELATIONAL_EXPRESSION__LEFT = eINSTANCE.getRelationalExpression_Left();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RELATIONAL_EXPRESSION__OP = eINSTANCE.getRelationalExpression_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RELATIONAL_EXPRESSION__RIGHT = eINSTANCE.getRelationalExpression_Right();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ShiftExpressionImpl <em>Shift Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ShiftExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getShiftExpression()
+ * @generated
+ */
+ EClass SHIFT_EXPRESSION = eINSTANCE.getShiftExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Exp</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SHIFT_EXPRESSION__EXP = eINSTANCE.getShiftExpression_Exp();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SHIFT_EXPRESSION__OP = eINSTANCE.getShiftExpression_Op();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.AdditiveExpressionImpl <em>Additive Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.AdditiveExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAdditiveExpression()
+ * @generated
+ */
+ EClass ADDITIVE_EXPRESSION = eINSTANCE.getAdditiveExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Exp</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ADDITIVE_EXPRESSION__EXP = eINSTANCE.getAdditiveExpression_Exp();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ADDITIVE_EXPRESSION__OP = eINSTANCE.getAdditiveExpression_Op();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.MultiplicativeExpressionImpl <em>Multiplicative Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.MultiplicativeExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getMultiplicativeExpression()
+ * @generated
+ */
+ EClass MULTIPLICATIVE_EXPRESSION = eINSTANCE.getMultiplicativeExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Exp</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MULTIPLICATIVE_EXPRESSION__EXP = eINSTANCE.getMultiplicativeExpression_Exp();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MULTIPLICATIVE_EXPRESSION__OP = eINSTANCE.getMultiplicativeExpression_Op();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.UnaryExpressionImpl <em>Unary Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.UnaryExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getUnaryExpression()
+ * @generated
+ */
+ EClass UNARY_EXPRESSION = eINSTANCE.getUnaryExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute UNARY_EXPRESSION__OP = eINSTANCE.getUnaryExpression_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Exp</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference UNARY_EXPRESSION__EXP = eINSTANCE.getUnaryExpression_Exp();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.PrimaryExpressionImpl <em>Primary Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.PrimaryExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getPrimaryExpression()
+ * @generated
+ */
+ EClass PRIMARY_EXPRESSION = eINSTANCE.getPrimaryExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Prefix</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PRIMARY_EXPRESSION__PREFIX = eINSTANCE.getPrimaryExpression_Prefix();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.SuffixExpressionImpl <em>Suffix Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SuffixExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSuffixExpression()
+ * @generated
+ */
+ EClass SUFFIX_EXPRESSION = eINSTANCE.getSuffixExpression();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.OperationCallExpressionImpl <em>Operation Call Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.OperationCallExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getOperationCallExpression()
+ * @generated
+ */
+ EClass OPERATION_CALL_EXPRESSION = eINSTANCE.getOperationCallExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Operation Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPERATION_CALL_EXPRESSION__OPERATION_NAME = eINSTANCE.getOperationCallExpression_OperationName();
+
+ /**
+ * The meta object literal for the '<em><b>Tuple</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPERATION_CALL_EXPRESSION__TUPLE = eINSTANCE.getOperationCallExpression_Tuple();
+
+ /**
+ * The meta object literal for the '<em><b>Suffix</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPERATION_CALL_EXPRESSION__SUFFIX = eINSTANCE.getOperationCallExpression_Suffix();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.PropertyCallExpressionImpl <em>Property Call Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.PropertyCallExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getPropertyCallExpression()
+ * @generated
+ */
+ EClass PROPERTY_CALL_EXPRESSION = eINSTANCE.getPropertyCallExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Property Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PROPERTY_CALL_EXPRESSION__PROPERTY_NAME = eINSTANCE.getPropertyCallExpression_PropertyName();
+
+ /**
+ * The meta object literal for the '<em><b>Index</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROPERTY_CALL_EXPRESSION__INDEX = eINSTANCE.getPropertyCallExpression_Index();
+
+ /**
+ * The meta object literal for the '<em><b>Suffix</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROPERTY_CALL_EXPRESSION__SUFFIX = eINSTANCE.getPropertyCallExpression_Suffix();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.LinkOperationExpressionImpl <em>Link Operation Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.LinkOperationExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getLinkOperationExpression()
+ * @generated
+ */
+ EClass LINK_OPERATION_EXPRESSION = eINSTANCE.getLinkOperationExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LINK_OPERATION_EXPRESSION__KIND = eINSTANCE.getLinkOperationExpression_Kind();
+
+ /**
+ * The meta object literal for the '<em><b>Tuple</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LINK_OPERATION_EXPRESSION__TUPLE = eINSTANCE.getLinkOperationExpression_Tuple();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.LinkOperationTupleImpl <em>Link Operation Tuple</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.LinkOperationTupleImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getLinkOperationTuple()
+ * @generated
+ */
+ EClass LINK_OPERATION_TUPLE = eINSTANCE.getLinkOperationTuple();
+
+ /**
+ * The meta object literal for the '<em><b>Link Operation Tuple Element</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LINK_OPERATION_TUPLE__LINK_OPERATION_TUPLE_ELEMENT = eINSTANCE.getLinkOperationTuple_LinkOperationTupleElement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.LinkOperationTupleElementImpl <em>Link Operation Tuple Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.LinkOperationTupleElementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getLinkOperationTupleElement()
+ * @generated
+ */
+ EClass LINK_OPERATION_TUPLE_ELEMENT = eINSTANCE.getLinkOperationTupleElement();
+
+ /**
+ * The meta object literal for the '<em><b>Role</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LINK_OPERATION_TUPLE_ELEMENT__ROLE = eINSTANCE.getLinkOperationTupleElement_Role();
+
+ /**
+ * The meta object literal for the '<em><b>Role Index</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LINK_OPERATION_TUPLE_ELEMENT__ROLE_INDEX = eINSTANCE.getLinkOperationTupleElement_RoleIndex();
+
+ /**
+ * The meta object literal for the '<em><b>Object</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LINK_OPERATION_TUPLE_ELEMENT__OBJECT = eINSTANCE.getLinkOperationTupleElement_Object();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.SequenceOperationExpressionImpl <em>Sequence Operation Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SequenceOperationExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSequenceOperationExpression()
+ * @generated
+ */
+ EClass SEQUENCE_OPERATION_EXPRESSION = eINSTANCE.getSequenceOperationExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Operation Name</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SEQUENCE_OPERATION_EXPRESSION__OPERATION_NAME = eINSTANCE.getSequenceOperationExpression_OperationName();
+
+ /**
+ * The meta object literal for the '<em><b>Tuple</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SEQUENCE_OPERATION_EXPRESSION__TUPLE = eINSTANCE.getSequenceOperationExpression_Tuple();
+
+ /**
+ * The meta object literal for the '<em><b>Suffix</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SEQUENCE_OPERATION_EXPRESSION__SUFFIX = eINSTANCE.getSequenceOperationExpression_Suffix();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.SequenceReductionExpressionImpl <em>Sequence Reduction Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SequenceReductionExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSequenceReductionExpression()
+ * @generated
+ */
+ EClass SEQUENCE_REDUCTION_EXPRESSION = eINSTANCE.getSequenceReductionExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Is Ordered</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SEQUENCE_REDUCTION_EXPRESSION__IS_ORDERED = eINSTANCE.getSequenceReductionExpression_IsOrdered();
+
+ /**
+ * The meta object literal for the '<em><b>Behavior</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SEQUENCE_REDUCTION_EXPRESSION__BEHAVIOR = eINSTANCE.getSequenceReductionExpression_Behavior();
+
+ /**
+ * The meta object literal for the '<em><b>Suffix</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SEQUENCE_REDUCTION_EXPRESSION__SUFFIX = eINSTANCE.getSequenceReductionExpression_Suffix();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.SequenceExpansionExpressionImpl <em>Sequence Expansion Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SequenceExpansionExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSequenceExpansionExpression()
+ * @generated
+ */
+ EClass SEQUENCE_EXPANSION_EXPRESSION = eINSTANCE.getSequenceExpansionExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SEQUENCE_EXPANSION_EXPRESSION__NAME = eINSTANCE.getSequenceExpansionExpression_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Expr</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SEQUENCE_EXPANSION_EXPRESSION__EXPR = eINSTANCE.getSequenceExpansionExpression_Expr();
+
+ /**
+ * The meta object literal for the '<em><b>Suffix</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SEQUENCE_EXPANSION_EXPRESSION__SUFFIX = eINSTANCE.getSequenceExpansionExpression_Suffix();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.SelectOrRejectOperationImpl <em>Select Or Reject Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SelectOrRejectOperationImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSelectOrRejectOperation()
+ * @generated
+ */
+ EClass SELECT_OR_REJECT_OPERATION = eINSTANCE.getSelectOrRejectOperation();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SELECT_OR_REJECT_OPERATION__OP = eINSTANCE.getSelectOrRejectOperation_Op();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.CollectOrIterateOperationImpl <em>Collect Or Iterate Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.CollectOrIterateOperationImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getCollectOrIterateOperation()
+ * @generated
+ */
+ EClass COLLECT_OR_ITERATE_OPERATION = eINSTANCE.getCollectOrIterateOperation();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COLLECT_OR_ITERATE_OPERATION__OP = eINSTANCE.getCollectOrIterateOperation_Op();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ForAllOrExistsOrOneOperationImpl <em>For All Or Exists Or One Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ForAllOrExistsOrOneOperationImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getForAllOrExistsOrOneOperation()
+ * @generated
+ */
+ EClass FOR_ALL_OR_EXISTS_OR_ONE_OPERATION = eINSTANCE.getForAllOrExistsOrOneOperation();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FOR_ALL_OR_EXISTS_OR_ONE_OPERATION__OP = eINSTANCE.getForAllOrExistsOrOneOperation_Op();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.IsUniqueOperationImpl <em>Is Unique Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.IsUniqueOperationImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getIsUniqueOperation()
+ * @generated
+ */
+ EClass IS_UNIQUE_OPERATION = eINSTANCE.getIsUniqueOperation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ValueSpecificationImpl <em>Value Specification</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ValueSpecificationImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getValueSpecification()
+ * @generated
+ */
+ EClass VALUE_SPECIFICATION = eINSTANCE.getValueSpecification();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.NonLiteralValueSpecificationImpl <em>Non Literal Value Specification</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.NonLiteralValueSpecificationImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getNonLiteralValueSpecification()
+ * @generated
+ */
+ EClass NON_LITERAL_VALUE_SPECIFICATION = eINSTANCE.getNonLiteralValueSpecification();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ParenthesizedExpressionImpl <em>Parenthesized Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ParenthesizedExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getParenthesizedExpression()
+ * @generated
+ */
+ EClass PARENTHESIZED_EXPRESSION = eINSTANCE.getParenthesizedExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Exp Or Type Cast</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PARENTHESIZED_EXPRESSION__EXP_OR_TYPE_CAST = eINSTANCE.getParenthesizedExpression_ExpOrTypeCast();
+
+ /**
+ * The meta object literal for the '<em><b>Casted</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PARENTHESIZED_EXPRESSION__CASTED = eINSTANCE.getParenthesizedExpression_Casted();
+
+ /**
+ * The meta object literal for the '<em><b>Suffix</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PARENTHESIZED_EXPRESSION__SUFFIX = eINSTANCE.getParenthesizedExpression_Suffix();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.NullExpressionImpl <em>Null Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.NullExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getNullExpression()
+ * @generated
+ */
+ EClass NULL_EXPRESSION = eINSTANCE.getNullExpression();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ThisExpressionImpl <em>This Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ThisExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getThisExpression()
+ * @generated
+ */
+ EClass THIS_EXPRESSION = eINSTANCE.getThisExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Suffix</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference THIS_EXPRESSION__SUFFIX = eINSTANCE.getThisExpression_Suffix();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.SuperInvocationExpressionImpl <em>Super Invocation Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SuperInvocationExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSuperInvocationExpression()
+ * @generated
+ */
+ EClass SUPER_INVOCATION_EXPRESSION = eINSTANCE.getSuperInvocationExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Tuple</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SUPER_INVOCATION_EXPRESSION__TUPLE = eINSTANCE.getSuperInvocationExpression_Tuple();
+
+ /**
+ * The meta object literal for the '<em><b>Operation Name</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SUPER_INVOCATION_EXPRESSION__OPERATION_NAME = eINSTANCE.getSuperInvocationExpression_OperationName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.InstanceCreationExpressionImpl <em>Instance Creation Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.InstanceCreationExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getInstanceCreationExpression()
+ * @generated
+ */
+ EClass INSTANCE_CREATION_EXPRESSION = eINSTANCE.getInstanceCreationExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Constructor</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INSTANCE_CREATION_EXPRESSION__CONSTRUCTOR = eINSTANCE.getInstanceCreationExpression_Constructor();
+
+ /**
+ * The meta object literal for the '<em><b>Tuple</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INSTANCE_CREATION_EXPRESSION__TUPLE = eINSTANCE.getInstanceCreationExpression_Tuple();
+
+ /**
+ * The meta object literal for the '<em><b>Suffix</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INSTANCE_CREATION_EXPRESSION__SUFFIX = eINSTANCE.getInstanceCreationExpression_Suffix();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.InstanceCreationTupleImpl <em>Instance Creation Tuple</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.InstanceCreationTupleImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getInstanceCreationTuple()
+ * @generated
+ */
+ EClass INSTANCE_CREATION_TUPLE = eINSTANCE.getInstanceCreationTuple();
+
+ /**
+ * The meta object literal for the '<em><b>Instance Creation Tuple Element</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INSTANCE_CREATION_TUPLE__INSTANCE_CREATION_TUPLE_ELEMENT = eINSTANCE.getInstanceCreationTuple_InstanceCreationTupleElement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.InstanceCreationTupleElementImpl <em>Instance Creation Tuple Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.InstanceCreationTupleElementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getInstanceCreationTupleElement()
+ * @generated
+ */
+ EClass INSTANCE_CREATION_TUPLE_ELEMENT = eINSTANCE.getInstanceCreationTupleElement();
+
+ /**
+ * The meta object literal for the '<em><b>Role</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute INSTANCE_CREATION_TUPLE_ELEMENT__ROLE = eINSTANCE.getInstanceCreationTupleElement_Role();
+
+ /**
+ * The meta object literal for the '<em><b>Object</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INSTANCE_CREATION_TUPLE_ELEMENT__OBJECT = eINSTANCE.getInstanceCreationTupleElement_Object();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.SequenceConstructionOrAccessCompletionImpl <em>Sequence Construction Or Access Completion</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SequenceConstructionOrAccessCompletionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSequenceConstructionOrAccessCompletion()
+ * @generated
+ */
+ EClass SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION = eINSTANCE.getSequenceConstructionOrAccessCompletion();
+
+ /**
+ * The meta object literal for the '<em><b>Multiplicity Indicator</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__MULTIPLICITY_INDICATOR = eINSTANCE.getSequenceConstructionOrAccessCompletion_MultiplicityIndicator();
+
+ /**
+ * The meta object literal for the '<em><b>Access Completion</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__ACCESS_COMPLETION = eINSTANCE.getSequenceConstructionOrAccessCompletion_AccessCompletion();
+
+ /**
+ * The meta object literal for the '<em><b>Sequence Completion</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__SEQUENCE_COMPLETION = eINSTANCE.getSequenceConstructionOrAccessCompletion_SequenceCompletion();
+
+ /**
+ * The meta object literal for the '<em><b>Expression</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__EXPRESSION = eINSTANCE.getSequenceConstructionOrAccessCompletion_Expression();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.AccessCompletionImpl <em>Access Completion</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.AccessCompletionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAccessCompletion()
+ * @generated
+ */
+ EClass ACCESS_COMPLETION = eINSTANCE.getAccessCompletion();
+
+ /**
+ * The meta object literal for the '<em><b>Access Index</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ACCESS_COMPLETION__ACCESS_INDEX = eINSTANCE.getAccessCompletion_AccessIndex();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.PartialSequenceConstructionCompletionImpl <em>Partial Sequence Construction Completion</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.PartialSequenceConstructionCompletionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getPartialSequenceConstructionCompletion()
+ * @generated
+ */
+ EClass PARTIAL_SEQUENCE_CONSTRUCTION_COMPLETION = eINSTANCE.getPartialSequenceConstructionCompletion();
+
+ /**
+ * The meta object literal for the '<em><b>Expression</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PARTIAL_SEQUENCE_CONSTRUCTION_COMPLETION__EXPRESSION = eINSTANCE.getPartialSequenceConstructionCompletion_Expression();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.SequenceConstructionExpressionImpl <em>Sequence Construction Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SequenceConstructionExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSequenceConstructionExpression()
+ * @generated
+ */
+ EClass SEQUENCE_CONSTRUCTION_EXPRESSION = eINSTANCE.getSequenceConstructionExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Sequence Element</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_ELEMENT = eINSTANCE.getSequenceConstructionExpression_SequenceElement();
+
+ /**
+ * The meta object literal for the '<em><b>Range Upper</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SEQUENCE_CONSTRUCTION_EXPRESSION__RANGE_UPPER = eINSTANCE.getSequenceConstructionExpression_RangeUpper();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.SequenceElementImpl <em>Sequence Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SequenceElementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSequenceElement()
+ * @generated
+ */
+ EClass SEQUENCE_ELEMENT = eINSTANCE.getSequenceElement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ClassExtentExpressionImpl <em>Class Extent Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ClassExtentExpressionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getClassExtentExpression()
+ * @generated
+ */
+ EClass CLASS_EXTENT_EXPRESSION = eINSTANCE.getClassExtentExpression();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.BlockImpl <em>Block</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.BlockImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getBlock()
+ * @generated
+ */
+ EClass BLOCK = eINSTANCE.getBlock();
+
+ /**
+ * The meta object literal for the '<em><b>Sequence</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BLOCK__SEQUENCE = eINSTANCE.getBlock_Sequence();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.StatementSequenceImpl <em>Statement Sequence</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.StatementSequenceImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getStatementSequence()
+ * @generated
+ */
+ EClass STATEMENT_SEQUENCE = eINSTANCE.getStatementSequence();
+
+ /**
+ * The meta object literal for the '<em><b>Statements</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STATEMENT_SEQUENCE__STATEMENTS = eINSTANCE.getStatementSequence_Statements();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.DocumentedStatementImpl <em>Documented Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.DocumentedStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getDocumentedStatement()
+ * @generated
+ */
+ EClass DOCUMENTED_STATEMENT = eINSTANCE.getDocumentedStatement();
+
+ /**
+ * The meta object literal for the '<em><b>Comment</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DOCUMENTED_STATEMENT__COMMENT = eINSTANCE.getDocumentedStatement_Comment();
+
+ /**
+ * The meta object literal for the '<em><b>Statement</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DOCUMENTED_STATEMENT__STATEMENT = eINSTANCE.getDocumentedStatement_Statement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.InlineStatementImpl <em>Inline Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.InlineStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getInlineStatement()
+ * @generated
+ */
+ EClass INLINE_STATEMENT = eINSTANCE.getInlineStatement();
+
+ /**
+ * The meta object literal for the '<em><b>Langage Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute INLINE_STATEMENT__LANGAGE_NAME = eINSTANCE.getInlineStatement_LangageName();
+
+ /**
+ * The meta object literal for the '<em><b>Body</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute INLINE_STATEMENT__BODY = eINSTANCE.getInlineStatement_Body();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.AnnotatedStatementImpl <em>Annotated Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.AnnotatedStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAnnotatedStatement()
+ * @generated
+ */
+ EClass ANNOTATED_STATEMENT = eINSTANCE.getAnnotatedStatement();
+
+ /**
+ * The meta object literal for the '<em><b>Annotation</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ANNOTATED_STATEMENT__ANNOTATION = eINSTANCE.getAnnotatedStatement_Annotation();
+
+ /**
+ * The meta object literal for the '<em><b>Statement</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ANNOTATED_STATEMENT__STATEMENT = eINSTANCE.getAnnotatedStatement_Statement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.StatementImpl <em>Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.StatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getStatement()
+ * @generated
+ */
+ EClass STATEMENT = eINSTANCE.getStatement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.AnnotationImpl <em>Annotation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.AnnotationImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAnnotation()
+ * @generated
+ */
+ EClass ANNOTATION = eINSTANCE.getAnnotation();
+
+ /**
+ * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ANNOTATION__KIND = eINSTANCE.getAnnotation_Kind();
+
+ /**
+ * The meta object literal for the '<em><b>Args</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ANNOTATION__ARGS = eINSTANCE.getAnnotation_Args();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.BlockStatementImpl <em>Block Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.BlockStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getBlockStatement()
+ * @generated
+ */
+ EClass BLOCK_STATEMENT = eINSTANCE.getBlockStatement();
+
+ /**
+ * The meta object literal for the '<em><b>Block</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BLOCK_STATEMENT__BLOCK = eINSTANCE.getBlockStatement_Block();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.EmptyStatementImpl <em>Empty Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.EmptyStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getEmptyStatement()
+ * @generated
+ */
+ EClass EMPTY_STATEMENT = eINSTANCE.getEmptyStatement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.LocalNameDeclarationStatementImpl <em>Local Name Declaration Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.LocalNameDeclarationStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getLocalNameDeclarationStatement()
+ * @generated
+ */
+ EClass LOCAL_NAME_DECLARATION_STATEMENT = eINSTANCE.getLocalNameDeclarationStatement();
+
+ /**
+ * The meta object literal for the '<em><b>Var Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LOCAL_NAME_DECLARATION_STATEMENT__VAR_NAME = eINSTANCE.getLocalNameDeclarationStatement_VarName();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LOCAL_NAME_DECLARATION_STATEMENT__TYPE = eINSTANCE.getLocalNameDeclarationStatement_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Multiplicity Indicator</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LOCAL_NAME_DECLARATION_STATEMENT__MULTIPLICITY_INDICATOR = eINSTANCE.getLocalNameDeclarationStatement_MultiplicityIndicator();
+
+ /**
+ * The meta object literal for the '<em><b>Init</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LOCAL_NAME_DECLARATION_STATEMENT__INIT = eINSTANCE.getLocalNameDeclarationStatement_Init();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.IfStatementImpl <em>If Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.IfStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getIfStatement()
+ * @generated
+ */
+ EClass IF_STATEMENT = eINSTANCE.getIfStatement();
+
+ /**
+ * The meta object literal for the '<em><b>Sequential Clausses</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference IF_STATEMENT__SEQUENTIAL_CLAUSSES = eINSTANCE.getIfStatement_SequentialClausses();
+
+ /**
+ * The meta object literal for the '<em><b>Final Clause</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference IF_STATEMENT__FINAL_CLAUSE = eINSTANCE.getIfStatement_FinalClause();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.SequentialClausesImpl <em>Sequential Clauses</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SequentialClausesImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSequentialClauses()
+ * @generated
+ */
+ EClass SEQUENTIAL_CLAUSES = eINSTANCE.getSequentialClauses();
+
+ /**
+ * The meta object literal for the '<em><b>Conccurent Clauses</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SEQUENTIAL_CLAUSES__CONCCURENT_CLAUSES = eINSTANCE.getSequentialClauses_ConccurentClauses();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ConcurrentClausesImpl <em>Concurrent Clauses</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ConcurrentClausesImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getConcurrentClauses()
+ * @generated
+ */
+ EClass CONCURRENT_CLAUSES = eINSTANCE.getConcurrentClauses();
+
+ /**
+ * The meta object literal for the '<em><b>Non Final Clause</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONCURRENT_CLAUSES__NON_FINAL_CLAUSE = eINSTANCE.getConcurrentClauses_NonFinalClause();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.NonFinalClauseImpl <em>Non Final Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.NonFinalClauseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getNonFinalClause()
+ * @generated
+ */
+ EClass NON_FINAL_CLAUSE = eINSTANCE.getNonFinalClause();
+
+ /**
+ * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NON_FINAL_CLAUSE__CONDITION = eINSTANCE.getNonFinalClause_Condition();
+
+ /**
+ * The meta object literal for the '<em><b>Block</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NON_FINAL_CLAUSE__BLOCK = eINSTANCE.getNonFinalClause_Block();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.FinalClauseImpl <em>Final Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.FinalClauseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getFinalClause()
+ * @generated
+ */
+ EClass FINAL_CLAUSE = eINSTANCE.getFinalClause();
+
+ /**
+ * The meta object literal for the '<em><b>Block</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FINAL_CLAUSE__BLOCK = eINSTANCE.getFinalClause_Block();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.SwitchStatementImpl <em>Switch Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SwitchStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSwitchStatement()
+ * @generated
+ */
+ EClass SWITCH_STATEMENT = eINSTANCE.getSwitchStatement();
+
+ /**
+ * The meta object literal for the '<em><b>Expression</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SWITCH_STATEMENT__EXPRESSION = eINSTANCE.getSwitchStatement_Expression();
+
+ /**
+ * The meta object literal for the '<em><b>Switch Clause</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SWITCH_STATEMENT__SWITCH_CLAUSE = eINSTANCE.getSwitchStatement_SwitchClause();
+
+ /**
+ * The meta object literal for the '<em><b>Default Clause</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SWITCH_STATEMENT__DEFAULT_CLAUSE = eINSTANCE.getSwitchStatement_DefaultClause();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.SwitchClauseImpl <em>Switch Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SwitchClauseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSwitchClause()
+ * @generated
+ */
+ EClass SWITCH_CLAUSE = eINSTANCE.getSwitchClause();
+
+ /**
+ * The meta object literal for the '<em><b>Switch Case</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SWITCH_CLAUSE__SWITCH_CASE = eINSTANCE.getSwitchClause_SwitchCase();
+
+ /**
+ * The meta object literal for the '<em><b>Statement Sequence</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SWITCH_CLAUSE__STATEMENT_SEQUENCE = eINSTANCE.getSwitchClause_StatementSequence();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.SwitchCaseImpl <em>Switch Case</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SwitchCaseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSwitchCase()
+ * @generated
+ */
+ EClass SWITCH_CASE = eINSTANCE.getSwitchCase();
+
+ /**
+ * The meta object literal for the '<em><b>Expression</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SWITCH_CASE__EXPRESSION = eINSTANCE.getSwitchCase_Expression();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.SwitchDefaultClauseImpl <em>Switch Default Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SwitchDefaultClauseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSwitchDefaultClause()
+ * @generated
+ */
+ EClass SWITCH_DEFAULT_CLAUSE = eINSTANCE.getSwitchDefaultClause();
+
+ /**
+ * The meta object literal for the '<em><b>Statement Sequence</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SWITCH_DEFAULT_CLAUSE__STATEMENT_SEQUENCE = eINSTANCE.getSwitchDefaultClause_StatementSequence();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.NonEmptyStatementSequenceImpl <em>Non Empty Statement Sequence</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.NonEmptyStatementSequenceImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getNonEmptyStatementSequence()
+ * @generated
+ */
+ EClass NON_EMPTY_STATEMENT_SEQUENCE = eINSTANCE.getNonEmptyStatementSequence();
+
+ /**
+ * The meta object literal for the '<em><b>Statement</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NON_EMPTY_STATEMENT_SEQUENCE__STATEMENT = eINSTANCE.getNonEmptyStatementSequence_Statement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.WhileStatementImpl <em>While Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.WhileStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getWhileStatement()
+ * @generated
+ */
+ EClass WHILE_STATEMENT = eINSTANCE.getWhileStatement();
+
+ /**
+ * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference WHILE_STATEMENT__CONDITION = eINSTANCE.getWhileStatement_Condition();
+
+ /**
+ * The meta object literal for the '<em><b>Block</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference WHILE_STATEMENT__BLOCK = eINSTANCE.getWhileStatement_Block();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.DoStatementImpl <em>Do Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.DoStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getDoStatement()
+ * @generated
+ */
+ EClass DO_STATEMENT = eINSTANCE.getDoStatement();
+
+ /**
+ * The meta object literal for the '<em><b>Block</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DO_STATEMENT__BLOCK = eINSTANCE.getDoStatement_Block();
+
+ /**
+ * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DO_STATEMENT__CONDITION = eINSTANCE.getDoStatement_Condition();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ForStatementImpl <em>For Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ForStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getForStatement()
+ * @generated
+ */
+ EClass FOR_STATEMENT = eINSTANCE.getForStatement();
+
+ /**
+ * The meta object literal for the '<em><b>Control</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FOR_STATEMENT__CONTROL = eINSTANCE.getForStatement_Control();
+
+ /**
+ * The meta object literal for the '<em><b>Block</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FOR_STATEMENT__BLOCK = eINSTANCE.getForStatement_Block();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ForControlImpl <em>For Control</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ForControlImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getForControl()
+ * @generated
+ */
+ EClass FOR_CONTROL = eINSTANCE.getForControl();
+
+ /**
+ * The meta object literal for the '<em><b>Loop Variable Definition</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FOR_CONTROL__LOOP_VARIABLE_DEFINITION = eINSTANCE.getForControl_LoopVariableDefinition();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.LoopVariableDefinitionImpl <em>Loop Variable Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.LoopVariableDefinitionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getLoopVariableDefinition()
+ * @generated
+ */
+ EClass LOOP_VARIABLE_DEFINITION = eINSTANCE.getLoopVariableDefinition();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LOOP_VARIABLE_DEFINITION__NAME = eINSTANCE.getLoopVariableDefinition_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Expression1</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LOOP_VARIABLE_DEFINITION__EXPRESSION1 = eINSTANCE.getLoopVariableDefinition_Expression1();
+
+ /**
+ * The meta object literal for the '<em><b>Expression2</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LOOP_VARIABLE_DEFINITION__EXPRESSION2 = eINSTANCE.getLoopVariableDefinition_Expression2();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LOOP_VARIABLE_DEFINITION__TYPE = eINSTANCE.getLoopVariableDefinition_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Expression</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LOOP_VARIABLE_DEFINITION__EXPRESSION = eINSTANCE.getLoopVariableDefinition_Expression();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.BreakStatementImpl <em>Break Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.BreakStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getBreakStatement()
+ * @generated
+ */
+ EClass BREAK_STATEMENT = eINSTANCE.getBreakStatement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ReturnStatementImpl <em>Return Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ReturnStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getReturnStatement()
+ * @generated
+ */
+ EClass RETURN_STATEMENT = eINSTANCE.getReturnStatement();
+
+ /**
+ * The meta object literal for the '<em><b>Expression</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RETURN_STATEMENT__EXPRESSION = eINSTANCE.getReturnStatement_Expression();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.AcceptStatementImpl <em>Accept Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.AcceptStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAcceptStatement()
+ * @generated
+ */
+ EClass ACCEPT_STATEMENT = eINSTANCE.getAcceptStatement();
+
+ /**
+ * The meta object literal for the '<em><b>Clause</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ACCEPT_STATEMENT__CLAUSE = eINSTANCE.getAcceptStatement_Clause();
+
+ /**
+ * The meta object literal for the '<em><b>Simple Accept</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ACCEPT_STATEMENT__SIMPLE_ACCEPT = eINSTANCE.getAcceptStatement_SimpleAccept();
+
+ /**
+ * The meta object literal for the '<em><b>Compound Accept</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ACCEPT_STATEMENT__COMPOUND_ACCEPT = eINSTANCE.getAcceptStatement_CompoundAccept();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.SimpleAcceptStatementCompletionImpl <em>Simple Accept Statement Completion</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SimpleAcceptStatementCompletionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSimpleAcceptStatementCompletion()
+ * @generated
+ */
+ EClass SIMPLE_ACCEPT_STATEMENT_COMPLETION = eINSTANCE.getSimpleAcceptStatementCompletion();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.CompoundAcceptStatementCompletionImpl <em>Compound Accept Statement Completion</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.CompoundAcceptStatementCompletionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getCompoundAcceptStatementCompletion()
+ * @generated
+ */
+ EClass COMPOUND_ACCEPT_STATEMENT_COMPLETION = eINSTANCE.getCompoundAcceptStatementCompletion();
+
+ /**
+ * The meta object literal for the '<em><b>Block</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMPOUND_ACCEPT_STATEMENT_COMPLETION__BLOCK = eINSTANCE.getCompoundAcceptStatementCompletion_Block();
+
+ /**
+ * The meta object literal for the '<em><b>Accept Block</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMPOUND_ACCEPT_STATEMENT_COMPLETION__ACCEPT_BLOCK = eINSTANCE.getCompoundAcceptStatementCompletion_AcceptBlock();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.AcceptBlockImpl <em>Accept Block</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.AcceptBlockImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAcceptBlock()
+ * @generated
+ */
+ EClass ACCEPT_BLOCK = eINSTANCE.getAcceptBlock();
+
+ /**
+ * The meta object literal for the '<em><b>Clause</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ACCEPT_BLOCK__CLAUSE = eINSTANCE.getAcceptBlock_Clause();
+
+ /**
+ * The meta object literal for the '<em><b>Block</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ACCEPT_BLOCK__BLOCK = eINSTANCE.getAcceptBlock_Block();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.AcceptClauseImpl <em>Accept Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.AcceptClauseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAcceptClause()
+ * @generated
+ */
+ EClass ACCEPT_CLAUSE = eINSTANCE.getAcceptClause();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ACCEPT_CLAUSE__NAME = eINSTANCE.getAcceptClause_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Qualified Name List</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ACCEPT_CLAUSE__QUALIFIED_NAME_LIST = eINSTANCE.getAcceptClause_QualifiedNameList();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ClassifyStatementImpl <em>Classify Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ClassifyStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getClassifyStatement()
+ * @generated
+ */
+ EClass CLASSIFY_STATEMENT = eINSTANCE.getClassifyStatement();
+
+ /**
+ * The meta object literal for the '<em><b>Expression</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLASSIFY_STATEMENT__EXPRESSION = eINSTANCE.getClassifyStatement_Expression();
+
+ /**
+ * The meta object literal for the '<em><b>Clause</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLASSIFY_STATEMENT__CLAUSE = eINSTANCE.getClassifyStatement_Clause();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ClassificationClauseImpl <em>Classification Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ClassificationClauseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getClassificationClause()
+ * @generated
+ */
+ EClass CLASSIFICATION_CLAUSE = eINSTANCE.getClassificationClause();
+
+ /**
+ * The meta object literal for the '<em><b>Classify From Clause</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLASSIFICATION_CLAUSE__CLASSIFY_FROM_CLAUSE = eINSTANCE.getClassificationClause_ClassifyFromClause();
+
+ /**
+ * The meta object literal for the '<em><b>Classify To Clause</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLASSIFICATION_CLAUSE__CLASSIFY_TO_CLAUSE = eINSTANCE.getClassificationClause_ClassifyToClause();
+
+ /**
+ * The meta object literal for the '<em><b>Reclassy All Clause</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLASSIFICATION_CLAUSE__RECLASSY_ALL_CLAUSE = eINSTANCE.getClassificationClause_ReclassyAllClause();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ClassificationFromClauseImpl <em>Classification From Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ClassificationFromClauseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getClassificationFromClause()
+ * @generated
+ */
+ EClass CLASSIFICATION_FROM_CLAUSE = eINSTANCE.getClassificationFromClause();
+
+ /**
+ * The meta object literal for the '<em><b>Qualified Name List</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLASSIFICATION_FROM_CLAUSE__QUALIFIED_NAME_LIST = eINSTANCE.getClassificationFromClause_QualifiedNameList();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ClassificationToClauseImpl <em>Classification To Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ClassificationToClauseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getClassificationToClause()
+ * @generated
+ */
+ EClass CLASSIFICATION_TO_CLAUSE = eINSTANCE.getClassificationToClause();
+
+ /**
+ * The meta object literal for the '<em><b>Qualified Name List</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLASSIFICATION_TO_CLAUSE__QUALIFIED_NAME_LIST = eINSTANCE.getClassificationToClause_QualifiedNameList();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ReclassifyAllClauseImpl <em>Reclassify All Clause</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ReclassifyAllClauseImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getReclassifyAllClause()
+ * @generated
+ */
+ EClass RECLASSIFY_ALL_CLAUSE = eINSTANCE.getReclassifyAllClause();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.QualifiedNameListImpl <em>Qualified Name List</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.QualifiedNameListImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getQualifiedNameList()
+ * @generated
+ */
+ EClass QUALIFIED_NAME_LIST = eINSTANCE.getQualifiedNameList();
+
+ /**
+ * The meta object literal for the '<em><b>Qualified Name</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference QUALIFIED_NAME_LIST__QUALIFIED_NAME = eINSTANCE.getQualifiedNameList_QualifiedName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.InvocationOrAssignementOrDeclarationStatementImpl <em>Invocation Or Assignement Or Declaration Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.InvocationOrAssignementOrDeclarationStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getInvocationOrAssignementOrDeclarationStatement()
+ * @generated
+ */
+ EClass INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT = eINSTANCE.getInvocationOrAssignementOrDeclarationStatement();
+
+ /**
+ * The meta object literal for the '<em><b>Type Part OR assigned Part OR invocation Part</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__TYPE_PART_OR_ASSIGNED_PART_OR_INVOCATION_PART = eINSTANCE.getInvocationOrAssignementOrDeclarationStatement_TypePart_OR_assignedPart_OR_invocationPart();
+
+ /**
+ * The meta object literal for the '<em><b>Variable Declaration Completion</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__VARIABLE_DECLARATION_COMPLETION = eINSTANCE.getInvocationOrAssignementOrDeclarationStatement_VariableDeclarationCompletion();
+
+ /**
+ * The meta object literal for the '<em><b>Assignment Completion</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__ASSIGNMENT_COMPLETION = eINSTANCE.getInvocationOrAssignementOrDeclarationStatement_AssignmentCompletion();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.SuperInvocationStatementImpl <em>Super Invocation Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.SuperInvocationStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSuperInvocationStatement()
+ * @generated
+ */
+ EClass SUPER_INVOCATION_STATEMENT = eINSTANCE.getSuperInvocationStatement();
+
+ /**
+ * The meta object literal for the '<em><b>super</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SUPER_INVOCATION_STATEMENT__SUPER = eINSTANCE.getSuperInvocationStatement__super();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.ThisInvocationStatementImpl <em>This Invocation Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.ThisInvocationStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getThisInvocationStatement()
+ * @generated
+ */
+ EClass THIS_INVOCATION_STATEMENT = eINSTANCE.getThisInvocationStatement();
+
+ /**
+ * The meta object literal for the '<em><b>this</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference THIS_INVOCATION_STATEMENT__THIS = eINSTANCE.getThisInvocationStatement__this();
+
+ /**
+ * The meta object literal for the '<em><b>Assignment Completion</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference THIS_INVOCATION_STATEMENT__ASSIGNMENT_COMPLETION = eINSTANCE.getThisInvocationStatement_AssignmentCompletion();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.InstanceCreationInvocationStatementImpl <em>Instance Creation Invocation Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.InstanceCreationInvocationStatementImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getInstanceCreationInvocationStatement()
+ * @generated
+ */
+ EClass INSTANCE_CREATION_INVOCATION_STATEMENT = eINSTANCE.getInstanceCreationInvocationStatement();
+
+ /**
+ * The meta object literal for the '<em><b>new</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INSTANCE_CREATION_INVOCATION_STATEMENT__NEW = eINSTANCE.getInstanceCreationInvocationStatement__new();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.VariableDeclarationCompletionImpl <em>Variable Declaration Completion</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.VariableDeclarationCompletionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getVariableDeclarationCompletion()
+ * @generated
+ */
+ EClass VARIABLE_DECLARATION_COMPLETION = eINSTANCE.getVariableDeclarationCompletion();
+
+ /**
+ * The meta object literal for the '<em><b>Multiplicity Indicator</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VARIABLE_DECLARATION_COMPLETION__MULTIPLICITY_INDICATOR = eINSTANCE.getVariableDeclarationCompletion_MultiplicityIndicator();
+
+ /**
+ * The meta object literal for the '<em><b>Variable Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VARIABLE_DECLARATION_COMPLETION__VARIABLE_NAME = eINSTANCE.getVariableDeclarationCompletion_VariableName();
+
+ /**
+ * The meta object literal for the '<em><b>Init Value</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VARIABLE_DECLARATION_COMPLETION__INIT_VALUE = eINSTANCE.getVariableDeclarationCompletion_InitValue();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.impl.AssignmentCompletionImpl <em>Assignment Completion</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.impl.AssignmentCompletionImpl
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAssignmentCompletion()
+ * @generated
+ */
+ EClass ASSIGNMENT_COMPLETION = eINSTANCE.getAssignmentCompletion();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ASSIGNMENT_COMPLETION__OP = eINSTANCE.getAssignmentCompletion_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Right Hand Side</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ASSIGNMENT_COMPLETION__RIGHT_HAND_SIDE = eINSTANCE.getAssignmentCompletion_RightHandSide();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.BooleanValue <em>Boolean Value</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.BooleanValue
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getBooleanValue()
+ * @generated
+ */
+ EEnum BOOLEAN_VALUE = eINSTANCE.getBooleanValue();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.LinkOperationKind <em>Link Operation Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.LinkOperationKind
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getLinkOperationKind()
+ * @generated
+ */
+ EEnum LINK_OPERATION_KIND = eINSTANCE.getLinkOperationKind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.SelectOrRejectOperator <em>Select Or Reject Operator</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.SelectOrRejectOperator
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getSelectOrRejectOperator()
+ * @generated
+ */
+ EEnum SELECT_OR_REJECT_OPERATOR = eINSTANCE.getSelectOrRejectOperator();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.CollectOrIterateOperator <em>Collect Or Iterate Operator</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.CollectOrIterateOperator
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getCollectOrIterateOperator()
+ * @generated
+ */
+ EEnum COLLECT_OR_ITERATE_OPERATOR = eINSTANCE.getCollectOrIterateOperator();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperator <em>For All Or Exists Or One Operator</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperator
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getForAllOrExistsOrOneOperator()
+ * @generated
+ */
+ EEnum FOR_ALL_OR_EXISTS_OR_ONE_OPERATOR = eINSTANCE.getForAllOrExistsOrOneOperator();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.AnnotationKind <em>Annotation Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.AnnotationKind
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAnnotationKind()
+ * @generated
+ */
+ EEnum ANNOTATION_KIND = eINSTANCE.getAnnotationKind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.alf.alf.AssignmentOperator <em>Assignment Operator</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.AssignmentOperator
+ * @see org.eclipse.papyrus.alf.alf.impl.AlfPackageImpl#getAssignmentOperator()
+ * @generated
+ */
+ EEnum ASSIGNMENT_OPERATOR = eINSTANCE.getAssignmentOperator();
+
+ }
+
+} //AlfPackage
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AndExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AndExpression.java
new file mode 100644
index 00000000000..90b39548a61
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AndExpression.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>And Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.AndExpression#getExp <em>Exp</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAndExpression()
+ * @model
+ * @generated
+ */
+public interface AndExpression extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Exp</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.EqualityExpression}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exp</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exp</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAndExpression_Exp()
+ * @model containment="true"
+ * @generated
+ */
+ EList<EqualityExpression> getExp();
+
+} // AndExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AnnotatedStatement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AnnotatedStatement.java
new file mode 100644
index 00000000000..b880cccda75
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AnnotatedStatement.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Annotated Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.AnnotatedStatement#getAnnotation <em>Annotation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.AnnotatedStatement#getStatement <em>Statement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAnnotatedStatement()
+ * @model
+ * @generated
+ */
+public interface AnnotatedStatement extends Statement
+{
+ /**
+ * Returns the value of the '<em><b>Annotation</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Annotation</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Annotation</em>' containment reference.
+ * @see #setAnnotation(Annotation)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAnnotatedStatement_Annotation()
+ * @model containment="true"
+ * @generated
+ */
+ Annotation getAnnotation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.AnnotatedStatement#getAnnotation <em>Annotation</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Annotation</em>' containment reference.
+ * @see #getAnnotation()
+ * @generated
+ */
+ void setAnnotation(Annotation value);
+
+ /**
+ * Returns the value of the '<em><b>Statement</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Statement</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Statement</em>' containment reference.
+ * @see #setStatement(Statement)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAnnotatedStatement_Statement()
+ * @model containment="true"
+ * @generated
+ */
+ Statement getStatement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.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);
+
+} // AnnotatedStatement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Annotation.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Annotation.java
new file mode 100644
index 00000000000..25ee8a4ca0d
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Annotation.java
@@ -0,0 +1,77 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Annotation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.Annotation#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.Annotation#getArgs <em>Args</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAnnotation()
+ * @model
+ * @generated
+ */
+public interface Annotation extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Kind</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.alf.alf.AnnotationKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Kind</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.papyrus.alf.alf.AnnotationKind
+ * @see #setKind(AnnotationKind)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAnnotation_Kind()
+ * @model
+ * @generated
+ */
+ AnnotationKind getKind();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.Annotation#getKind <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.papyrus.alf.alf.AnnotationKind
+ * @see #getKind()
+ * @generated
+ */
+ void setKind(AnnotationKind value);
+
+ /**
+ * Returns the value of the '<em><b>Args</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Args</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Args</em>' attribute list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAnnotation_Args()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getArgs();
+
+} // Annotation
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AnnotationKind.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AnnotationKind.java
new file mode 100644
index 00000000000..07c91eeacee
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AnnotationKind.java
@@ -0,0 +1,281 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Annotation Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAnnotationKind()
+ * @model
+ * @generated
+ */
+public enum AnnotationKind implements Enumerator
+{
+ /**
+ * The '<em><b>ISOLATED</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ISOLATED_VALUE
+ * @generated
+ * @ordered
+ */
+ ISOLATED(0, "ISOLATED", "isolated"),
+
+ /**
+ * The '<em><b>DETERMINED</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #DETERMINED_VALUE
+ * @generated
+ * @ordered
+ */
+ DETERMINED(1, "DETERMINED", "determined"),
+
+ /**
+ * The '<em><b>ASSURED</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ASSURED_VALUE
+ * @generated
+ * @ordered
+ */
+ ASSURED(2, "ASSURED", "assured"),
+
+ /**
+ * The '<em><b>PARALLEL</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PARALLEL_VALUE
+ * @generated
+ * @ordered
+ */
+ PARALLEL(3, "PARALLEL", "parallel");
+
+ /**
+ * The '<em><b>ISOLATED</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ISOLATED</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ISOLATED
+ * @model literal="isolated"
+ * @generated
+ * @ordered
+ */
+ public static final int ISOLATED_VALUE = 0;
+
+ /**
+ * The '<em><b>DETERMINED</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>DETERMINED</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #DETERMINED
+ * @model literal="determined"
+ * @generated
+ * @ordered
+ */
+ public static final int DETERMINED_VALUE = 1;
+
+ /**
+ * The '<em><b>ASSURED</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ASSURED</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ASSURED
+ * @model literal="assured"
+ * @generated
+ * @ordered
+ */
+ public static final int ASSURED_VALUE = 2;
+
+ /**
+ * The '<em><b>PARALLEL</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>PARALLEL</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PARALLEL
+ * @model literal="parallel"
+ * @generated
+ * @ordered
+ */
+ public static final int PARALLEL_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>Annotation Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final AnnotationKind[] VALUES_ARRAY =
+ new AnnotationKind[]
+ {
+ ISOLATED,
+ DETERMINED,
+ ASSURED,
+ PARALLEL,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Annotation Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<AnnotationKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Annotation Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static AnnotationKind get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ AnnotationKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Annotation Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static AnnotationKind getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ AnnotationKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Annotation Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static AnnotationKind get(int value)
+ {
+ switch (value)
+ {
+ case ISOLATED_VALUE: return ISOLATED;
+ case DETERMINED_VALUE: return DETERMINED;
+ case ASSURED_VALUE: return ASSURED;
+ case PARALLEL_VALUE: return PARALLEL;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private AnnotationKind(int value, String name, String literal)
+ {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral()
+ {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ return literal;
+ }
+
+} //AnnotationKind
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AssignmentCompletion.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AssignmentCompletion.java
new file mode 100644
index 00000000000..134f8e309be
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AssignmentCompletion.java
@@ -0,0 +1,85 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Assignment Completion</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.AssignmentCompletion#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.AssignmentCompletion#getRightHandSide <em>Right Hand Side</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAssignmentCompletion()
+ * @model
+ * @generated
+ */
+public interface AssignmentCompletion extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.alf.alf.AssignmentOperator}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op</em>' attribute.
+ * @see org.eclipse.papyrus.alf.alf.AssignmentOperator
+ * @see #setOp(AssignmentOperator)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAssignmentCompletion_Op()
+ * @model
+ * @generated
+ */
+ AssignmentOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.AssignmentCompletion#getOp <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' attribute.
+ * @see org.eclipse.papyrus.alf.alf.AssignmentOperator
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(AssignmentOperator value);
+
+ /**
+ * Returns the value of the '<em><b>Right Hand Side</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Right Hand Side</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Right Hand Side</em>' containment reference.
+ * @see #setRightHandSide(SequenceElement)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAssignmentCompletion_RightHandSide()
+ * @model containment="true"
+ * @generated
+ */
+ SequenceElement getRightHandSide();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.AssignmentCompletion#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(SequenceElement value);
+
+} // AssignmentCompletion
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AssignmentOperator.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AssignmentOperator.java
new file mode 100644
index 00000000000..25b7f39e085
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/AssignmentOperator.java
@@ -0,0 +1,497 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Assignment Operator</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getAssignmentOperator()
+ * @model
+ * @generated
+ */
+public enum AssignmentOperator implements Enumerator
+{
+ /**
+ * The '<em><b>ASSIGN</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ASSIGN_VALUE
+ * @generated
+ * @ordered
+ */
+ ASSIGN(0, "ASSIGN", "="),
+
+ /**
+ * The '<em><b>PLUSASSIGN</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PLUSASSIGN_VALUE
+ * @generated
+ * @ordered
+ */
+ PLUSASSIGN(1, "PLUSASSIGN", "+="),
+
+ /**
+ * The '<em><b>MINUSASSIGN</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MINUSASSIGN_VALUE
+ * @generated
+ * @ordered
+ */
+ MINUSASSIGN(2, "MINUSASSIGN", "-="),
+
+ /**
+ * The '<em><b>MULTASSIGN</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MULTASSIGN_VALUE
+ * @generated
+ * @ordered
+ */
+ MULTASSIGN(3, "MULTASSIGN", "*="),
+
+ /**
+ * The '<em><b>MODASSIGN</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MODASSIGN_VALUE
+ * @generated
+ * @ordered
+ */
+ MODASSIGN(4, "MODASSIGN", "%="),
+
+ /**
+ * The '<em><b>DIVASSIGN</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #DIVASSIGN_VALUE
+ * @generated
+ * @ordered
+ */
+ DIVASSIGN(5, "DIVASSIGN", "/="),
+
+ /**
+ * The '<em><b>ANDASSIGN</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ANDASSIGN_VALUE
+ * @generated
+ * @ordered
+ */
+ ANDASSIGN(6, "ANDASSIGN", "&="),
+
+ /**
+ * The '<em><b>ORASSIGN</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ORASSIGN_VALUE
+ * @generated
+ * @ordered
+ */
+ ORASSIGN(7, "ORASSIGN", "|="),
+
+ /**
+ * The '<em><b>XORASSIGN</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #XORASSIGN_VALUE
+ * @generated
+ * @ordered
+ */
+ XORASSIGN(8, "XORASSIGN", "^="),
+
+ /**
+ * The '<em><b>LSHIFTASSIGN</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #LSHIFTASSIGN_VALUE
+ * @generated
+ * @ordered
+ */
+ LSHIFTASSIGN(9, "LSHIFTASSIGN", "<<="),
+
+ /**
+ * The '<em><b>RSHIFTASSIGN</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #RSHIFTASSIGN_VALUE
+ * @generated
+ * @ordered
+ */
+ RSHIFTASSIGN(10, "RSHIFTASSIGN", ">>="),
+
+ /**
+ * The '<em><b>URSHIFTASSIGN</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #URSHIFTASSIGN_VALUE
+ * @generated
+ * @ordered
+ */
+ URSHIFTASSIGN(11, "URSHIFTASSIGN", ">>>=");
+
+ /**
+ * The '<em><b>ASSIGN</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ASSIGN</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ASSIGN
+ * @model literal="="
+ * @generated
+ * @ordered
+ */
+ public static final int ASSIGN_VALUE = 0;
+
+ /**
+ * The '<em><b>PLUSASSIGN</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>PLUSASSIGN</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PLUSASSIGN
+ * @model literal="+="
+ * @generated
+ * @ordered
+ */
+ public static final int PLUSASSIGN_VALUE = 1;
+
+ /**
+ * The '<em><b>MINUSASSIGN</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>MINUSASSIGN</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MINUSASSIGN
+ * @model literal="-="
+ * @generated
+ * @ordered
+ */
+ public static final int MINUSASSIGN_VALUE = 2;
+
+ /**
+ * The '<em><b>MULTASSIGN</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>MULTASSIGN</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MULTASSIGN
+ * @model literal="*="
+ * @generated
+ * @ordered
+ */
+ public static final int MULTASSIGN_VALUE = 3;
+
+ /**
+ * The '<em><b>MODASSIGN</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>MODASSIGN</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MODASSIGN
+ * @model literal="%="
+ * @generated
+ * @ordered
+ */
+ public static final int MODASSIGN_VALUE = 4;
+
+ /**
+ * The '<em><b>DIVASSIGN</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>DIVASSIGN</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #DIVASSIGN
+ * @model literal="/="
+ * @generated
+ * @ordered
+ */
+ public static final int DIVASSIGN_VALUE = 5;
+
+ /**
+ * The '<em><b>ANDASSIGN</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ANDASSIGN</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ANDASSIGN
+ * @model literal="&="
+ * @generated
+ * @ordered
+ */
+ public static final int ANDASSIGN_VALUE = 6;
+
+ /**
+ * The '<em><b>ORASSIGN</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ORASSIGN</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ORASSIGN
+ * @model literal="|="
+ * @generated
+ * @ordered
+ */
+ public static final int ORASSIGN_VALUE = 7;
+
+ /**
+ * The '<em><b>XORASSIGN</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>XORASSIGN</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #XORASSIGN
+ * @model literal="^="
+ * @generated
+ * @ordered
+ */
+ public static final int XORASSIGN_VALUE = 8;
+
+ /**
+ * The '<em><b>LSHIFTASSIGN</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>LSHIFTASSIGN</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #LSHIFTASSIGN
+ * @model literal="<<="
+ * @generated
+ * @ordered
+ */
+ public static final int LSHIFTASSIGN_VALUE = 9;
+
+ /**
+ * The '<em><b>RSHIFTASSIGN</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>RSHIFTASSIGN</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #RSHIFTASSIGN
+ * @model literal=">>="
+ * @generated
+ * @ordered
+ */
+ public static final int RSHIFTASSIGN_VALUE = 10;
+
+ /**
+ * The '<em><b>URSHIFTASSIGN</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>URSHIFTASSIGN</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #URSHIFTASSIGN
+ * @model literal=">>>="
+ * @generated
+ * @ordered
+ */
+ public static final int URSHIFTASSIGN_VALUE = 11;
+
+ /**
+ * An array of all the '<em><b>Assignment Operator</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final AssignmentOperator[] VALUES_ARRAY =
+ new AssignmentOperator[]
+ {
+ ASSIGN,
+ PLUSASSIGN,
+ MINUSASSIGN,
+ MULTASSIGN,
+ MODASSIGN,
+ DIVASSIGN,
+ ANDASSIGN,
+ ORASSIGN,
+ XORASSIGN,
+ LSHIFTASSIGN,
+ RSHIFTASSIGN,
+ URSHIFTASSIGN,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Assignment Operator</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<AssignmentOperator> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Assignment Operator</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static AssignmentOperator get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ AssignmentOperator result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Assignment Operator</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static AssignmentOperator getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ AssignmentOperator result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Assignment Operator</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static AssignmentOperator get(int value)
+ {
+ switch (value)
+ {
+ case ASSIGN_VALUE: return ASSIGN;
+ case PLUSASSIGN_VALUE: return PLUSASSIGN;
+ case MINUSASSIGN_VALUE: return MINUSASSIGN;
+ case MULTASSIGN_VALUE: return MULTASSIGN;
+ case MODASSIGN_VALUE: return MODASSIGN;
+ case DIVASSIGN_VALUE: return DIVASSIGN;
+ case ANDASSIGN_VALUE: return ANDASSIGN;
+ case ORASSIGN_VALUE: return ORASSIGN;
+ case XORASSIGN_VALUE: return XORASSIGN;
+ case LSHIFTASSIGN_VALUE: return LSHIFTASSIGN;
+ case RSHIFTASSIGN_VALUE: return RSHIFTASSIGN;
+ case URSHIFTASSIGN_VALUE: return URSHIFTASSIGN;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private AssignmentOperator(int value, String name, String literal)
+ {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral()
+ {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ return literal;
+ }
+
+} //AssignmentOperator
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/BOOLEAN_LITERAL.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/BOOLEAN_LITERAL.java
new file mode 100644
index 00000000000..47909685db0
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/BOOLEAN_LITERAL.java
@@ -0,0 +1,57 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>BOOLEAN LITERAL</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.BOOLEAN_LITERAL#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getBOOLEAN_LITERAL()
+ * @model
+ * @generated
+ */
+public interface BOOLEAN_LITERAL extends LITERAL
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.alf.alf.BooleanValue}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see org.eclipse.papyrus.alf.alf.BooleanValue
+ * @see #setValue(BooleanValue)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getBOOLEAN_LITERAL_Value()
+ * @model
+ * @generated
+ */
+ BooleanValue getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.BOOLEAN_LITERAL#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see org.eclipse.papyrus.alf.alf.BooleanValue
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(BooleanValue value);
+
+} // BOOLEAN_LITERAL
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Block.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Block.java
new file mode 100644
index 00000000000..9f88c554111
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Block.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Block</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.Block#getSequence <em>Sequence</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getBlock()
+ * @model
+ * @generated
+ */
+public interface Block extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Sequence</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sequence</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Sequence</em>' containment reference.
+ * @see #setSequence(StatementSequence)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getBlock_Sequence()
+ * @model containment="true"
+ * @generated
+ */
+ StatementSequence getSequence();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.Block#getSequence <em>Sequence</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Sequence</em>' containment reference.
+ * @see #getSequence()
+ * @generated
+ */
+ void setSequence(StatementSequence value);
+
+} // Block
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/BlockStatement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/BlockStatement.java
new file mode 100644
index 00000000000..b140888cb1e
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/BlockStatement.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Block Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.BlockStatement#getBlock <em>Block</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.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 -->
+ * <p>
+ * If the meaning of the '<em>Block</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Block</em>' containment reference.
+ * @see #setBlock(Block)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getBlockStatement_Block()
+ * @model containment="true"
+ * @generated
+ */
+ Block getBlock();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.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);
+
+} // BlockStatement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/BooleanValue.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/BooleanValue.java
new file mode 100644
index 00000000000..319371cd51d
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/BooleanValue.java
@@ -0,0 +1,227 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Boolean Value</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getBooleanValue()
+ * @model
+ * @generated
+ */
+public enum BooleanValue implements Enumerator
+{
+ /**
+ * The '<em><b>TRUE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #TRUE_VALUE
+ * @generated
+ * @ordered
+ */
+ TRUE(0, "TRUE", "true"),
+
+ /**
+ * The '<em><b>FALSE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FALSE_VALUE
+ * @generated
+ * @ordered
+ */
+ FALSE(1, "FALSE", "false");
+
+ /**
+ * The '<em><b>TRUE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>TRUE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #TRUE
+ * @model literal="true"
+ * @generated
+ * @ordered
+ */
+ public static final int TRUE_VALUE = 0;
+
+ /**
+ * The '<em><b>FALSE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>FALSE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FALSE
+ * @model literal="false"
+ * @generated
+ * @ordered
+ */
+ public static final int FALSE_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>Boolean Value</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final BooleanValue[] VALUES_ARRAY =
+ new BooleanValue[]
+ {
+ TRUE,
+ FALSE,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Boolean Value</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<BooleanValue> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Boolean Value</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static BooleanValue get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ BooleanValue result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Boolean Value</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static BooleanValue getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ BooleanValue result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Boolean Value</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static BooleanValue get(int value)
+ {
+ switch (value)
+ {
+ case TRUE_VALUE: return TRUE;
+ case FALSE_VALUE: return FALSE;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private BooleanValue(int value, String name, String literal)
+ {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral()
+ {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ return literal;
+ }
+
+} //BooleanValue
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/BreakStatement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/BreakStatement.java
new file mode 100644
index 00000000000..11bb01058be
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/BreakStatement.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Break Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getBreakStatement()
+ * @model
+ * @generated
+ */
+public interface BreakStatement extends Statement
+{
+} // BreakStatement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassExtentExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassExtentExpression.java
new file mode 100644
index 00000000000..42808740d75
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassExtentExpression.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Class Extent Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getClassExtentExpression()
+ * @model
+ * @generated
+ */
+public interface ClassExtentExpression extends SuffixExpression
+{
+} // ClassExtentExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassificationClause.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassificationClause.java
new file mode 100644
index 00000000000..cf80c02de4c
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassificationClause.java
@@ -0,0 +1,109 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Classification Clause</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ClassificationClause#getClassifyFromClause <em>Classify From Clause</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ClassificationClause#getClassifyToClause <em>Classify To Clause</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ClassificationClause#getReclassyAllClause <em>Reclassy All Clause</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getClassificationClause()
+ * @model
+ * @generated
+ */
+public interface ClassificationClause extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Classify From Clause</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Classify From Clause</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Classify From Clause</em>' containment reference.
+ * @see #setClassifyFromClause(ClassificationFromClause)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getClassificationClause_ClassifyFromClause()
+ * @model containment="true"
+ * @generated
+ */
+ ClassificationFromClause getClassifyFromClause();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ClassificationClause#getClassifyFromClause <em>Classify From Clause</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Classify From Clause</em>' containment reference.
+ * @see #getClassifyFromClause()
+ * @generated
+ */
+ void setClassifyFromClause(ClassificationFromClause value);
+
+ /**
+ * Returns the value of the '<em><b>Classify To Clause</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Classify To Clause</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Classify To Clause</em>' containment reference.
+ * @see #setClassifyToClause(ClassificationToClause)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getClassificationClause_ClassifyToClause()
+ * @model containment="true"
+ * @generated
+ */
+ ClassificationToClause getClassifyToClause();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ClassificationClause#getClassifyToClause <em>Classify To Clause</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Classify To Clause</em>' containment reference.
+ * @see #getClassifyToClause()
+ * @generated
+ */
+ void setClassifyToClause(ClassificationToClause value);
+
+ /**
+ * Returns the value of the '<em><b>Reclassy All Clause</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Reclassy All Clause</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Reclassy All Clause</em>' containment reference.
+ * @see #setReclassyAllClause(ReclassifyAllClause)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getClassificationClause_ReclassyAllClause()
+ * @model containment="true"
+ * @generated
+ */
+ ReclassifyAllClause getReclassyAllClause();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ClassificationClause#getReclassyAllClause <em>Reclassy All Clause</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Reclassy All Clause</em>' containment reference.
+ * @see #getReclassyAllClause()
+ * @generated
+ */
+ void setReclassyAllClause(ReclassifyAllClause value);
+
+} // ClassificationClause
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassificationExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassificationExpression.java
new file mode 100644
index 00000000000..1f46c2b41f0
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassificationExpression.java
@@ -0,0 +1,109 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Classification Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ClassificationExpression#getExp <em>Exp</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ClassificationExpression#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ClassificationExpression#getTypeName <em>Type Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getClassificationExpression()
+ * @model
+ * @generated
+ */
+public interface ClassificationExpression extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Exp</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exp</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exp</em>' containment reference.
+ * @see #setExp(RelationalExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getClassificationExpression_Exp()
+ * @model containment="true"
+ * @generated
+ */
+ RelationalExpression getExp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ClassificationExpression#getExp <em>Exp</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Exp</em>' containment reference.
+ * @see #getExp()
+ * @generated
+ */
+ void setExp(RelationalExpression value);
+
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op</em>' attribute.
+ * @see #setOp(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getClassificationExpression_Op()
+ * @model
+ * @generated
+ */
+ String getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ClassificationExpression#getOp <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' attribute.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(String value);
+
+ /**
+ * Returns the value of the '<em><b>Type Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type Name</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type Name</em>' containment reference.
+ * @see #setTypeName(NameExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getClassificationExpression_TypeName()
+ * @model containment="true"
+ * @generated
+ */
+ NameExpression getTypeName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.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(NameExpression value);
+
+} // ClassificationExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassificationFromClause.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassificationFromClause.java
new file mode 100644
index 00000000000..9e4d2b632c4
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassificationFromClause.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Classification From Clause</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ClassificationFromClause#getQualifiedNameList <em>Qualified Name List</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getClassificationFromClause()
+ * @model
+ * @generated
+ */
+public interface ClassificationFromClause extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Qualified Name List</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Qualified Name List</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Qualified Name List</em>' containment reference.
+ * @see #setQualifiedNameList(QualifiedNameList)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getClassificationFromClause_QualifiedNameList()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedNameList getQualifiedNameList();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ClassificationFromClause#getQualifiedNameList <em>Qualified Name List</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Qualified Name List</em>' containment reference.
+ * @see #getQualifiedNameList()
+ * @generated
+ */
+ void setQualifiedNameList(QualifiedNameList value);
+
+} // ClassificationFromClause
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassificationToClause.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassificationToClause.java
new file mode 100644
index 00000000000..9f7cd546e42
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassificationToClause.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Classification To Clause</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ClassificationToClause#getQualifiedNameList <em>Qualified Name List</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getClassificationToClause()
+ * @model
+ * @generated
+ */
+public interface ClassificationToClause extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Qualified Name List</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Qualified Name List</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Qualified Name List</em>' containment reference.
+ * @see #setQualifiedNameList(QualifiedNameList)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getClassificationToClause_QualifiedNameList()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedNameList getQualifiedNameList();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ClassificationToClause#getQualifiedNameList <em>Qualified Name List</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Qualified Name List</em>' containment reference.
+ * @see #getQualifiedNameList()
+ * @generated
+ */
+ void setQualifiedNameList(QualifiedNameList value);
+
+} // ClassificationToClause
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassifyStatement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassifyStatement.java
new file mode 100644
index 00000000000..43b90b5c3b1
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ClassifyStatement.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Classify Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ClassifyStatement#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ClassifyStatement#getClause <em>Clause</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.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 -->
+ * <p>
+ * If the meaning of the '<em>Expression</em>' containment 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>' containment reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getClassifyStatement_Expression()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.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>Clause</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Clause</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Clause</em>' containment reference.
+ * @see #setClause(ClassificationClause)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getClassifyStatement_Clause()
+ * @model containment="true"
+ * @generated
+ */
+ ClassificationClause getClause();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ClassifyStatement#getClause <em>Clause</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Clause</em>' containment reference.
+ * @see #getClause()
+ * @generated
+ */
+ void setClause(ClassificationClause value);
+
+} // ClassifyStatement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/CollectOrIterateOperation.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/CollectOrIterateOperation.java
new file mode 100644
index 00000000000..38d69c66bbf
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/CollectOrIterateOperation.java
@@ -0,0 +1,57 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Collect Or Iterate Operation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.CollectOrIterateOperation#getOp <em>Op</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getCollectOrIterateOperation()
+ * @model
+ * @generated
+ */
+public interface CollectOrIterateOperation extends SequenceExpansionExpression
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.alf.alf.CollectOrIterateOperator}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op</em>' attribute.
+ * @see org.eclipse.papyrus.alf.alf.CollectOrIterateOperator
+ * @see #setOp(CollectOrIterateOperator)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getCollectOrIterateOperation_Op()
+ * @model
+ * @generated
+ */
+ CollectOrIterateOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.CollectOrIterateOperation#getOp <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' attribute.
+ * @see org.eclipse.papyrus.alf.alf.CollectOrIterateOperator
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(CollectOrIterateOperator value);
+
+} // CollectOrIterateOperation
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/CollectOrIterateOperator.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/CollectOrIterateOperator.java
new file mode 100644
index 00000000000..20575c32de6
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/CollectOrIterateOperator.java
@@ -0,0 +1,227 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Collect Or Iterate Operator</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getCollectOrIterateOperator()
+ * @model
+ * @generated
+ */
+public enum CollectOrIterateOperator implements Enumerator
+{
+ /**
+ * The '<em><b>COLLECT</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #COLLECT_VALUE
+ * @generated
+ * @ordered
+ */
+ COLLECT(0, "COLLECT", "collect"),
+
+ /**
+ * The '<em><b>ITERATE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ITERATE_VALUE
+ * @generated
+ * @ordered
+ */
+ ITERATE(1, "ITERATE", "iterate");
+
+ /**
+ * The '<em><b>COLLECT</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>COLLECT</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #COLLECT
+ * @model literal="collect"
+ * @generated
+ * @ordered
+ */
+ public static final int COLLECT_VALUE = 0;
+
+ /**
+ * The '<em><b>ITERATE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ITERATE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ITERATE
+ * @model literal="iterate"
+ * @generated
+ * @ordered
+ */
+ public static final int ITERATE_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>Collect Or Iterate Operator</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final CollectOrIterateOperator[] VALUES_ARRAY =
+ new CollectOrIterateOperator[]
+ {
+ COLLECT,
+ ITERATE,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Collect Or Iterate Operator</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<CollectOrIterateOperator> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Collect Or Iterate Operator</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CollectOrIterateOperator get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ CollectOrIterateOperator result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Collect Or Iterate Operator</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CollectOrIterateOperator getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ CollectOrIterateOperator result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Collect Or Iterate Operator</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CollectOrIterateOperator get(int value)
+ {
+ switch (value)
+ {
+ case COLLECT_VALUE: return COLLECT;
+ case ITERATE_VALUE: return ITERATE;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private CollectOrIterateOperator(int value, String name, String literal)
+ {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral()
+ {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ return literal;
+ }
+
+} //CollectOrIterateOperator
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/CompoundAcceptStatementCompletion.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/CompoundAcceptStatementCompletion.java
new file mode 100644
index 00000000000..8157d9fa7d7
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/CompoundAcceptStatementCompletion.java
@@ -0,0 +1,74 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Compound Accept Statement Completion</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.CompoundAcceptStatementCompletion#getBlock <em>Block</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.CompoundAcceptStatementCompletion#getAcceptBlock <em>Accept Block</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getCompoundAcceptStatementCompletion()
+ * @model
+ * @generated
+ */
+public interface CompoundAcceptStatementCompletion extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Block</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Block</em>' containment reference.
+ * @see #setBlock(Block)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getCompoundAcceptStatementCompletion_Block()
+ * @model containment="true"
+ * @generated
+ */
+ Block getBlock();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.CompoundAcceptStatementCompletion#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>Accept Block</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.AcceptBlock}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Accept Block</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Accept Block</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getCompoundAcceptStatementCompletion_AcceptBlock()
+ * @model containment="true"
+ * @generated
+ */
+ EList<AcceptBlock> getAcceptBlock();
+
+} // CompoundAcceptStatementCompletion
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ConcurrentClauses.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ConcurrentClauses.java
new file mode 100644
index 00000000000..85f7b0487ff
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ConcurrentClauses.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Concurrent Clauses</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ConcurrentClauses#getNonFinalClause <em>Non Final Clause</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getConcurrentClauses()
+ * @model
+ * @generated
+ */
+public interface ConcurrentClauses extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Non Final Clause</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.NonFinalClause}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Non Final Clause</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Non Final Clause</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getConcurrentClauses_NonFinalClause()
+ * @model containment="true"
+ * @generated
+ */
+ EList<NonFinalClause> getNonFinalClause();
+
+} // ConcurrentClauses
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ConditionalAndExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ConditionalAndExpression.java
new file mode 100644
index 00000000000..1af22742976
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ConditionalAndExpression.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Conditional And Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ConditionalAndExpression#getExp <em>Exp</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getConditionalAndExpression()
+ * @model
+ * @generated
+ */
+public interface ConditionalAndExpression extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Exp</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.InclusiveOrExpression}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exp</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exp</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getConditionalAndExpression_Exp()
+ * @model containment="true"
+ * @generated
+ */
+ EList<InclusiveOrExpression> getExp();
+
+} // ConditionalAndExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ConditionalOrExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ConditionalOrExpression.java
new file mode 100644
index 00000000000..098018b2dbd
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ConditionalOrExpression.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Conditional Or Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ConditionalOrExpression#getExp <em>Exp</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getConditionalOrExpression()
+ * @model
+ * @generated
+ */
+public interface ConditionalOrExpression extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Exp</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.ConditionalAndExpression}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exp</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exp</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getConditionalOrExpression_Exp()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ConditionalAndExpression> getExp();
+
+} // ConditionalOrExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ConditionalTestExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ConditionalTestExpression.java
new file mode 100644
index 00000000000..f30575e88bf
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ConditionalTestExpression.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Conditional Test Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ConditionalTestExpression#getExp <em>Exp</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ConditionalTestExpression#getWhenTrue <em>When True</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ConditionalTestExpression#getWhenFalse <em>When False</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getConditionalTestExpression()
+ * @model
+ * @generated
+ */
+public interface ConditionalTestExpression extends Expression
+{
+ /**
+ * Returns the value of the '<em><b>Exp</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exp</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exp</em>' containment reference.
+ * @see #setExp(ConditionalOrExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getConditionalTestExpression_Exp()
+ * @model containment="true"
+ * @generated
+ */
+ ConditionalOrExpression getExp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ConditionalTestExpression#getExp <em>Exp</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Exp</em>' containment reference.
+ * @see #getExp()
+ * @generated
+ */
+ void setExp(ConditionalOrExpression value);
+
+ /**
+ * Returns the value of the '<em><b>When True</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>When True</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>When True</em>' containment reference.
+ * @see #setWhenTrue(ConditionalTestExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getConditionalTestExpression_WhenTrue()
+ * @model containment="true"
+ * @generated
+ */
+ ConditionalTestExpression getWhenTrue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ConditionalTestExpression#getWhenTrue <em>When True</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>When True</em>' containment reference.
+ * @see #getWhenTrue()
+ * @generated
+ */
+ void setWhenTrue(ConditionalTestExpression value);
+
+ /**
+ * Returns the value of the '<em><b>When False</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>When False</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>When False</em>' containment reference.
+ * @see #setWhenFalse(ConditionalTestExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getConditionalTestExpression_WhenFalse()
+ * @model containment="true"
+ * @generated
+ */
+ ConditionalTestExpression getWhenFalse();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ConditionalTestExpression#getWhenFalse <em>When False</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>When False</em>' containment reference.
+ * @see #getWhenFalse()
+ * @generated
+ */
+ void setWhenFalse(ConditionalTestExpression value);
+
+} // ConditionalTestExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/DoStatement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/DoStatement.java
new file mode 100644
index 00000000000..b0b3e7e0e29
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/DoStatement.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Do Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.DoStatement#getBlock <em>Block</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.DoStatement#getCondition <em>Condition</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getDoStatement()
+ * @model
+ * @generated
+ */
+public interface DoStatement extends Statement
+{
+ /**
+ * Returns the value of the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Block</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Block</em>' containment reference.
+ * @see #setBlock(Block)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getDoStatement_Block()
+ * @model containment="true"
+ * @generated
+ */
+ Block getBlock();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.DoStatement#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>Condition</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Condition</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Condition</em>' containment reference.
+ * @see #setCondition(Expression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getDoStatement_Condition()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getCondition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.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);
+
+} // DoStatement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/DocumentedStatement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/DocumentedStatement.java
new file mode 100644
index 00000000000..4ec75ed7b24
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/DocumentedStatement.java
@@ -0,0 +1,82 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Documented Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.DocumentedStatement#getComment <em>Comment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.DocumentedStatement#getStatement <em>Statement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getDocumentedStatement()
+ * @model
+ * @generated
+ */
+public interface DocumentedStatement extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Comment</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Comment</em>' attribute.
+ * @see #setComment(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getDocumentedStatement_Comment()
+ * @model
+ * @generated
+ */
+ String getComment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.DocumentedStatement#getComment <em>Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Comment</em>' attribute.
+ * @see #getComment()
+ * @generated
+ */
+ void setComment(String value);
+
+ /**
+ * Returns the value of the '<em><b>Statement</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Statement</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Statement</em>' containment reference.
+ * @see #setStatement(Statement)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getDocumentedStatement_Statement()
+ * @model containment="true"
+ * @generated
+ */
+ Statement getStatement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.DocumentedStatement#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);
+
+} // DocumentedStatement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/EmptyStatement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/EmptyStatement.java
new file mode 100644
index 00000000000..71f0813634b
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/EmptyStatement.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Empty Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getEmptyStatement()
+ * @model
+ * @generated
+ */
+public interface EmptyStatement extends Statement
+{
+} // EmptyStatement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/EqualityExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/EqualityExpression.java
new file mode 100644
index 00000000000..5cdf94b4f00
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/EqualityExpression.java
@@ -0,0 +1,64 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Equality Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.EqualityExpression#getExp <em>Exp</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.EqualityExpression#getOp <em>Op</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getEqualityExpression()
+ * @model
+ * @generated
+ */
+public interface EqualityExpression extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Exp</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.ClassificationExpression}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exp</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exp</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getEqualityExpression_Exp()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ClassificationExpression> getExp();
+
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op</em>' attribute list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getEqualityExpression_Op()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getOp();
+
+} // EqualityExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ExclusiveOrExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ExclusiveOrExpression.java
new file mode 100644
index 00000000000..e7f92a9349a
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ExclusiveOrExpression.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Exclusive Or Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ExclusiveOrExpression#getExp <em>Exp</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getExclusiveOrExpression()
+ * @model
+ * @generated
+ */
+public interface ExclusiveOrExpression extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Exp</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.AndExpression}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exp</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exp</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getExclusiveOrExpression_Exp()
+ * @model containment="true"
+ * @generated
+ */
+ EList<AndExpression> getExp();
+
+} // ExclusiveOrExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Expression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Expression.java
new file mode 100644
index 00000000000..17dfd1b0864
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Expression.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getExpression()
+ * @model
+ * @generated
+ */
+public interface Expression extends SequenceElement
+{
+} // Expression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/FinalClause.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/FinalClause.java
new file mode 100644
index 00000000000..1a37de0ab0d
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/FinalClause.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Final Clause</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.FinalClause#getBlock <em>Block</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getFinalClause()
+ * @model
+ * @generated
+ */
+public interface FinalClause extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Block</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Block</em>' containment reference.
+ * @see #setBlock(Block)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getFinalClause_Block()
+ * @model containment="true"
+ * @generated
+ */
+ Block getBlock();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.FinalClause#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);
+
+} // FinalClause
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ForAllOrExistsOrOneOperation.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ForAllOrExistsOrOneOperation.java
new file mode 100644
index 00000000000..08bf4a03399
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ForAllOrExistsOrOneOperation.java
@@ -0,0 +1,57 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>For All Or Exists Or One Operation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperation#getOp <em>Op</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getForAllOrExistsOrOneOperation()
+ * @model
+ * @generated
+ */
+public interface ForAllOrExistsOrOneOperation extends SequenceExpansionExpression
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperator}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op</em>' attribute.
+ * @see org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperator
+ * @see #setOp(ForAllOrExistsOrOneOperator)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getForAllOrExistsOrOneOperation_Op()
+ * @model
+ * @generated
+ */
+ ForAllOrExistsOrOneOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperation#getOp <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' attribute.
+ * @see org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperator
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(ForAllOrExistsOrOneOperator value);
+
+} // ForAllOrExistsOrOneOperation
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ForAllOrExistsOrOneOperator.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ForAllOrExistsOrOneOperator.java
new file mode 100644
index 00000000000..e828234f6bc
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ForAllOrExistsOrOneOperator.java
@@ -0,0 +1,254 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>For All Or Exists Or One Operator</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getForAllOrExistsOrOneOperator()
+ * @model
+ * @generated
+ */
+public enum ForAllOrExistsOrOneOperator implements Enumerator
+{
+ /**
+ * The '<em><b>FORALL</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FORALL_VALUE
+ * @generated
+ * @ordered
+ */
+ FORALL(0, "FORALL", "forAll"),
+
+ /**
+ * The '<em><b>EXISTS</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #EXISTS_VALUE
+ * @generated
+ * @ordered
+ */
+ EXISTS(1, "EXISTS", "exists"),
+
+ /**
+ * The '<em><b>ONE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ONE_VALUE
+ * @generated
+ * @ordered
+ */
+ ONE(2, "ONE", "one");
+
+ /**
+ * The '<em><b>FORALL</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>FORALL</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FORALL
+ * @model literal="forAll"
+ * @generated
+ * @ordered
+ */
+ public static final int FORALL_VALUE = 0;
+
+ /**
+ * The '<em><b>EXISTS</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>EXISTS</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #EXISTS
+ * @model literal="exists"
+ * @generated
+ * @ordered
+ */
+ public static final int EXISTS_VALUE = 1;
+
+ /**
+ * The '<em><b>ONE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ONE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ONE
+ * @model literal="one"
+ * @generated
+ * @ordered
+ */
+ public static final int ONE_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>For All Or Exists Or One Operator</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final ForAllOrExistsOrOneOperator[] VALUES_ARRAY =
+ new ForAllOrExistsOrOneOperator[]
+ {
+ FORALL,
+ EXISTS,
+ ONE,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>For All Or Exists Or One Operator</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<ForAllOrExistsOrOneOperator> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>For All Or Exists Or One Operator</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ForAllOrExistsOrOneOperator get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ ForAllOrExistsOrOneOperator result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>For All Or Exists Or One Operator</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ForAllOrExistsOrOneOperator getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ ForAllOrExistsOrOneOperator result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>For All Or Exists Or One Operator</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ForAllOrExistsOrOneOperator get(int value)
+ {
+ switch (value)
+ {
+ case FORALL_VALUE: return FORALL;
+ case EXISTS_VALUE: return EXISTS;
+ case ONE_VALUE: return ONE;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private ForAllOrExistsOrOneOperator(int value, String name, String literal)
+ {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral()
+ {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ return literal;
+ }
+
+} //ForAllOrExistsOrOneOperator
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ForControl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ForControl.java
new file mode 100644
index 00000000000..f0dd375e8bc
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ForControl.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>For Control</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ForControl#getLoopVariableDefinition <em>Loop Variable Definition</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getForControl()
+ * @model
+ * @generated
+ */
+public interface ForControl extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Loop Variable Definition</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.LoopVariableDefinition}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Loop Variable Definition</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Loop Variable Definition</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getForControl_LoopVariableDefinition()
+ * @model containment="true"
+ * @generated
+ */
+ EList<LoopVariableDefinition> getLoopVariableDefinition();
+
+} // ForControl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ForStatement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ForStatement.java
new file mode 100644
index 00000000000..5b3144af07a
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ForStatement.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>For Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ForStatement#getControl <em>Control</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ForStatement#getBlock <em>Block</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getForStatement()
+ * @model
+ * @generated
+ */
+public interface ForStatement extends Statement
+{
+ /**
+ * Returns the value of the '<em><b>Control</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Control</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Control</em>' containment reference.
+ * @see #setControl(ForControl)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getForStatement_Control()
+ * @model containment="true"
+ * @generated
+ */
+ ForControl getControl();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ForStatement#getControl <em>Control</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Control</em>' containment reference.
+ * @see #getControl()
+ * @generated
+ */
+ void setControl(ForControl value);
+
+ /**
+ * Returns the value of the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Block</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Block</em>' containment reference.
+ * @see #setBlock(Block)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getForStatement_Block()
+ * @model containment="true"
+ * @generated
+ */
+ Block getBlock();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ForStatement#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);
+
+} // ForStatement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/INTEGER_LITERAL.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/INTEGER_LITERAL.java
new file mode 100644
index 00000000000..d11dfeb7691
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/INTEGER_LITERAL.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>INTEGER LITERAL</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getINTEGER_LITERAL()
+ * @model
+ * @generated
+ */
+public interface INTEGER_LITERAL extends NUMBER_LITERAL
+{
+} // INTEGER_LITERAL
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/IfStatement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/IfStatement.java
new file mode 100644
index 00000000000..3369e76db22
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/IfStatement.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>If Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.IfStatement#getSequentialClausses <em>Sequential Clausses</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.IfStatement#getFinalClause <em>Final Clause</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getIfStatement()
+ * @model
+ * @generated
+ */
+public interface IfStatement extends Statement
+{
+ /**
+ * Returns the value of the '<em><b>Sequential Clausses</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sequential Clausses</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Sequential Clausses</em>' containment reference.
+ * @see #setSequentialClausses(SequentialClauses)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getIfStatement_SequentialClausses()
+ * @model containment="true"
+ * @generated
+ */
+ SequentialClauses getSequentialClausses();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.IfStatement#getSequentialClausses <em>Sequential Clausses</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Sequential Clausses</em>' containment reference.
+ * @see #getSequentialClausses()
+ * @generated
+ */
+ void setSequentialClausses(SequentialClauses value);
+
+ /**
+ * Returns the value of the '<em><b>Final Clause</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Final Clause</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Final Clause</em>' containment reference.
+ * @see #setFinalClause(FinalClause)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getIfStatement_FinalClause()
+ * @model containment="true"
+ * @generated
+ */
+ FinalClause getFinalClause();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.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(FinalClause value);
+
+} // IfStatement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InclusiveOrExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InclusiveOrExpression.java
new file mode 100644
index 00000000000..83c5ad8557c
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InclusiveOrExpression.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Inclusive Or Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.InclusiveOrExpression#getExp <em>Exp</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInclusiveOrExpression()
+ * @model
+ * @generated
+ */
+public interface InclusiveOrExpression extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Exp</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.ExclusiveOrExpression}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exp</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exp</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInclusiveOrExpression_Exp()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ExclusiveOrExpression> getExp();
+
+} // InclusiveOrExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InlineStatement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InlineStatement.java
new file mode 100644
index 00000000000..153181d6604
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InlineStatement.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Inline Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.InlineStatement#getLangageName <em>Langage Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.InlineStatement#getBody <em>Body</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInlineStatement()
+ * @model
+ * @generated
+ */
+public interface InlineStatement extends Statement
+{
+ /**
+ * Returns the value of the '<em><b>Langage Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Langage Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Langage Name</em>' attribute.
+ * @see #setLangageName(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInlineStatement_LangageName()
+ * @model
+ * @generated
+ */
+ String getLangageName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.InlineStatement#getLangageName <em>Langage Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Langage Name</em>' attribute.
+ * @see #getLangageName()
+ * @generated
+ */
+ void setLangageName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Body</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Body</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Body</em>' attribute.
+ * @see #setBody(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInlineStatement_Body()
+ * @model
+ * @generated
+ */
+ String getBody();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.InlineStatement#getBody <em>Body</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Body</em>' attribute.
+ * @see #getBody()
+ * @generated
+ */
+ void setBody(String value);
+
+} // InlineStatement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InstanceCreationExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InstanceCreationExpression.java
new file mode 100644
index 00000000000..29f9619c15a
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InstanceCreationExpression.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Instance Creation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.InstanceCreationExpression#getConstructor <em>Constructor</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.InstanceCreationExpression#getTuple <em>Tuple</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.InstanceCreationExpression#getSuffix <em>Suffix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInstanceCreationExpression()
+ * @model
+ * @generated
+ */
+public interface InstanceCreationExpression extends ValueSpecification, NonLiteralValueSpecification
+{
+ /**
+ * Returns the value of the '<em><b>Constructor</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Constructor</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Constructor</em>' containment reference.
+ * @see #setConstructor(QualifiedNameWithBinding)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInstanceCreationExpression_Constructor()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedNameWithBinding getConstructor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.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(QualifiedNameWithBinding value);
+
+ /**
+ * Returns the value of the '<em><b>Tuple</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tuple</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tuple</em>' containment reference.
+ * @see #setTuple(InstanceCreationTuple)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInstanceCreationExpression_Tuple()
+ * @model containment="true"
+ * @generated
+ */
+ InstanceCreationTuple getTuple();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.InstanceCreationExpression#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(InstanceCreationTuple value);
+
+ /**
+ * Returns the value of the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Suffix</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Suffix</em>' containment reference.
+ * @see #setSuffix(SuffixExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInstanceCreationExpression_Suffix()
+ * @model containment="true"
+ * @generated
+ */
+ SuffixExpression getSuffix();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.InstanceCreationExpression#getSuffix <em>Suffix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Suffix</em>' containment reference.
+ * @see #getSuffix()
+ * @generated
+ */
+ void setSuffix(SuffixExpression value);
+
+} // InstanceCreationExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InstanceCreationInvocationStatement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InstanceCreationInvocationStatement.java
new file mode 100644
index 00000000000..ee2dc9991eb
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InstanceCreationInvocationStatement.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Instance Creation Invocation Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.InstanceCreationInvocationStatement#get_new <em>new</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInstanceCreationInvocationStatement()
+ * @model
+ * @generated
+ */
+public interface InstanceCreationInvocationStatement extends Statement
+{
+ /**
+ * Returns the value of the '<em><b>new</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>new</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>new</em>' containment reference.
+ * @see #set_new(InstanceCreationExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInstanceCreationInvocationStatement__new()
+ * @model containment="true"
+ * @generated
+ */
+ InstanceCreationExpression get_new();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.InstanceCreationInvocationStatement#get_new <em>new</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>new</em>' containment reference.
+ * @see #get_new()
+ * @generated
+ */
+ void set_new(InstanceCreationExpression value);
+
+} // InstanceCreationInvocationStatement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InstanceCreationTuple.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InstanceCreationTuple.java
new file mode 100644
index 00000000000..0fb5683db2d
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InstanceCreationTuple.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Instance Creation Tuple</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.InstanceCreationTuple#getInstanceCreationTupleElement <em>Instance Creation Tuple Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInstanceCreationTuple()
+ * @model
+ * @generated
+ */
+public interface InstanceCreationTuple extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Instance Creation Tuple Element</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.InstanceCreationTupleElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Instance Creation Tuple Element</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Instance Creation Tuple Element</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInstanceCreationTuple_InstanceCreationTupleElement()
+ * @model containment="true"
+ * @generated
+ */
+ EList<InstanceCreationTupleElement> getInstanceCreationTupleElement();
+
+} // InstanceCreationTuple
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InstanceCreationTupleElement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InstanceCreationTupleElement.java
new file mode 100644
index 00000000000..2133cb11ada
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InstanceCreationTupleElement.java
@@ -0,0 +1,82 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Instance Creation Tuple Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.InstanceCreationTupleElement#getRole <em>Role</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.InstanceCreationTupleElement#getObject <em>Object</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInstanceCreationTupleElement()
+ * @model
+ * @generated
+ */
+public interface InstanceCreationTupleElement extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Role</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Role</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Role</em>' attribute.
+ * @see #setRole(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInstanceCreationTupleElement_Role()
+ * @model
+ * @generated
+ */
+ String getRole();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.InstanceCreationTupleElement#getRole <em>Role</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Role</em>' attribute.
+ * @see #getRole()
+ * @generated
+ */
+ void setRole(String value);
+
+ /**
+ * Returns the value of the '<em><b>Object</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Object</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Object</em>' containment reference.
+ * @see #setObject(Expression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInstanceCreationTupleElement_Object()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getObject();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.InstanceCreationTupleElement#getObject <em>Object</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Object</em>' containment reference.
+ * @see #getObject()
+ * @generated
+ */
+ void setObject(Expression value);
+
+} // InstanceCreationTupleElement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InvocationOrAssignementOrDeclarationStatement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InvocationOrAssignementOrDeclarationStatement.java
new file mode 100644
index 00000000000..8818ee9b415
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/InvocationOrAssignementOrDeclarationStatement.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Invocation Or Assignement Or Declaration Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.InvocationOrAssignementOrDeclarationStatement#getTypePart_OR_assignedPart_OR_invocationPart <em>Type Part OR assigned Part OR invocation Part</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.InvocationOrAssignementOrDeclarationStatement#getVariableDeclarationCompletion <em>Variable Declaration Completion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.InvocationOrAssignementOrDeclarationStatement#getAssignmentCompletion <em>Assignment Completion</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInvocationOrAssignementOrDeclarationStatement()
+ * @model
+ * @generated
+ */
+public interface InvocationOrAssignementOrDeclarationStatement extends Statement
+{
+ /**
+ * Returns the value of the '<em><b>Type Part OR assigned Part OR invocation Part</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type Part OR assigned Part OR invocation Part</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type Part OR assigned Part OR invocation Part</em>' containment reference.
+ * @see #setTypePart_OR_assignedPart_OR_invocationPart(NameExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInvocationOrAssignementOrDeclarationStatement_TypePart_OR_assignedPart_OR_invocationPart()
+ * @model containment="true"
+ * @generated
+ */
+ NameExpression getTypePart_OR_assignedPart_OR_invocationPart();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.InvocationOrAssignementOrDeclarationStatement#getTypePart_OR_assignedPart_OR_invocationPart <em>Type Part OR assigned Part OR invocation Part</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type Part OR assigned Part OR invocation Part</em>' containment reference.
+ * @see #getTypePart_OR_assignedPart_OR_invocationPart()
+ * @generated
+ */
+ void setTypePart_OR_assignedPart_OR_invocationPart(NameExpression value);
+
+ /**
+ * Returns the value of the '<em><b>Variable Declaration Completion</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Variable Declaration Completion</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Variable Declaration Completion</em>' containment reference.
+ * @see #setVariableDeclarationCompletion(VariableDeclarationCompletion)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInvocationOrAssignementOrDeclarationStatement_VariableDeclarationCompletion()
+ * @model containment="true"
+ * @generated
+ */
+ VariableDeclarationCompletion getVariableDeclarationCompletion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.InvocationOrAssignementOrDeclarationStatement#getVariableDeclarationCompletion <em>Variable Declaration Completion</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Variable Declaration Completion</em>' containment reference.
+ * @see #getVariableDeclarationCompletion()
+ * @generated
+ */
+ void setVariableDeclarationCompletion(VariableDeclarationCompletion value);
+
+ /**
+ * Returns the value of the '<em><b>Assignment Completion</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Assignment Completion</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Assignment Completion</em>' containment reference.
+ * @see #setAssignmentCompletion(AssignmentCompletion)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getInvocationOrAssignementOrDeclarationStatement_AssignmentCompletion()
+ * @model containment="true"
+ * @generated
+ */
+ AssignmentCompletion getAssignmentCompletion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.InvocationOrAssignementOrDeclarationStatement#getAssignmentCompletion <em>Assignment Completion</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Assignment Completion</em>' containment reference.
+ * @see #getAssignmentCompletion()
+ * @generated
+ */
+ void setAssignmentCompletion(AssignmentCompletion value);
+
+} // InvocationOrAssignementOrDeclarationStatement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/IsUniqueOperation.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/IsUniqueOperation.java
new file mode 100644
index 00000000000..373169c65ee
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/IsUniqueOperation.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Is Unique Operation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getIsUniqueOperation()
+ * @model
+ * @generated
+ */
+public interface IsUniqueOperation extends SequenceExpansionExpression
+{
+} // IsUniqueOperation
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LITERAL.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LITERAL.java
new file mode 100644
index 00000000000..ede81158bc1
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LITERAL.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>LITERAL</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLITERAL()
+ * @model
+ * @generated
+ */
+public interface LITERAL extends ValueSpecification
+{
+} // LITERAL
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LinkOperationExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LinkOperationExpression.java
new file mode 100644
index 00000000000..f33146118d2
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LinkOperationExpression.java
@@ -0,0 +1,84 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Link Operation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.LinkOperationExpression#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.LinkOperationExpression#getTuple <em>Tuple</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLinkOperationExpression()
+ * @model
+ * @generated
+ */
+public interface LinkOperationExpression extends SuffixExpression
+{
+ /**
+ * Returns the value of the '<em><b>Kind</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.alf.alf.LinkOperationKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Kind</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.papyrus.alf.alf.LinkOperationKind
+ * @see #setKind(LinkOperationKind)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLinkOperationExpression_Kind()
+ * @model
+ * @generated
+ */
+ LinkOperationKind getKind();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.LinkOperationExpression#getKind <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.papyrus.alf.alf.LinkOperationKind
+ * @see #getKind()
+ * @generated
+ */
+ void setKind(LinkOperationKind value);
+
+ /**
+ * Returns the value of the '<em><b>Tuple</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tuple</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tuple</em>' containment reference.
+ * @see #setTuple(LinkOperationTuple)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLinkOperationExpression_Tuple()
+ * @model containment="true"
+ * @generated
+ */
+ LinkOperationTuple getTuple();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.LinkOperationExpression#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(LinkOperationTuple value);
+
+} // LinkOperationExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LinkOperationKind.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LinkOperationKind.java
new file mode 100644
index 00000000000..d1a98c2d87a
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LinkOperationKind.java
@@ -0,0 +1,254 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Link Operation Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLinkOperationKind()
+ * @model
+ * @generated
+ */
+public enum LinkOperationKind implements Enumerator
+{
+ /**
+ * The '<em><b>CREATE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CREATE_VALUE
+ * @generated
+ * @ordered
+ */
+ CREATE(0, "CREATE", "createLink"),
+
+ /**
+ * The '<em><b>DESTROY</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #DESTROY_VALUE
+ * @generated
+ * @ordered
+ */
+ DESTROY(1, "DESTROY", "destroyLink"),
+
+ /**
+ * The '<em><b>CLEAR</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CLEAR_VALUE
+ * @generated
+ * @ordered
+ */
+ CLEAR(2, "CLEAR", "clearAssoc");
+
+ /**
+ * The '<em><b>CREATE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>CREATE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CREATE
+ * @model literal="createLink"
+ * @generated
+ * @ordered
+ */
+ public static final int CREATE_VALUE = 0;
+
+ /**
+ * The '<em><b>DESTROY</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>DESTROY</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #DESTROY
+ * @model literal="destroyLink"
+ * @generated
+ * @ordered
+ */
+ public static final int DESTROY_VALUE = 1;
+
+ /**
+ * The '<em><b>CLEAR</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>CLEAR</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CLEAR
+ * @model literal="clearAssoc"
+ * @generated
+ * @ordered
+ */
+ public static final int CLEAR_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Link Operation Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final LinkOperationKind[] VALUES_ARRAY =
+ new LinkOperationKind[]
+ {
+ CREATE,
+ DESTROY,
+ CLEAR,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Link Operation Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<LinkOperationKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Link Operation Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LinkOperationKind get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ LinkOperationKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Link Operation Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LinkOperationKind getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ LinkOperationKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Link Operation Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LinkOperationKind get(int value)
+ {
+ switch (value)
+ {
+ case CREATE_VALUE: return CREATE;
+ case DESTROY_VALUE: return DESTROY;
+ case CLEAR_VALUE: return CLEAR;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private LinkOperationKind(int value, String name, String literal)
+ {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral()
+ {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ return literal;
+ }
+
+} //LinkOperationKind
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LinkOperationTuple.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LinkOperationTuple.java
new file mode 100644
index 00000000000..d40b21ce1e2
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LinkOperationTuple.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Link Operation Tuple</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.LinkOperationTuple#getLinkOperationTupleElement <em>Link Operation Tuple Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLinkOperationTuple()
+ * @model
+ * @generated
+ */
+public interface LinkOperationTuple extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Link Operation Tuple Element</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.LinkOperationTupleElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Link Operation Tuple Element</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Link Operation Tuple Element</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLinkOperationTuple_LinkOperationTupleElement()
+ * @model containment="true"
+ * @generated
+ */
+ EList<LinkOperationTupleElement> getLinkOperationTupleElement();
+
+} // LinkOperationTuple
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LinkOperationTupleElement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LinkOperationTupleElement.java
new file mode 100644
index 00000000000..38b6d4e8a89
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LinkOperationTupleElement.java
@@ -0,0 +1,109 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Link Operation Tuple Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.LinkOperationTupleElement#getRole <em>Role</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.LinkOperationTupleElement#getRoleIndex <em>Role Index</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.LinkOperationTupleElement#getObject <em>Object</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLinkOperationTupleElement()
+ * @model
+ * @generated
+ */
+public interface LinkOperationTupleElement extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Role</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Role</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Role</em>' attribute.
+ * @see #setRole(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLinkOperationTupleElement_Role()
+ * @model
+ * @generated
+ */
+ String getRole();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.LinkOperationTupleElement#getRole <em>Role</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Role</em>' attribute.
+ * @see #getRole()
+ * @generated
+ */
+ void setRole(String value);
+
+ /**
+ * Returns the value of the '<em><b>Role Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Role Index</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Role Index</em>' containment reference.
+ * @see #setRoleIndex(Expression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLinkOperationTupleElement_RoleIndex()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getRoleIndex();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.LinkOperationTupleElement#getRoleIndex <em>Role Index</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Role Index</em>' containment reference.
+ * @see #getRoleIndex()
+ * @generated
+ */
+ void setRoleIndex(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Object</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Object</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Object</em>' containment reference.
+ * @see #setObject(Expression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLinkOperationTupleElement_Object()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getObject();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.LinkOperationTupleElement#getObject <em>Object</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Object</em>' containment reference.
+ * @see #getObject()
+ * @generated
+ */
+ void setObject(Expression value);
+
+} // LinkOperationTupleElement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LocalNameDeclarationStatement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LocalNameDeclarationStatement.java
new file mode 100644
index 00000000000..7febaa3c70d
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LocalNameDeclarationStatement.java
@@ -0,0 +1,135 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Local Name Declaration Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.LocalNameDeclarationStatement#getVarName <em>Var Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.LocalNameDeclarationStatement#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.LocalNameDeclarationStatement#isMultiplicityIndicator <em>Multiplicity Indicator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.LocalNameDeclarationStatement#getInit <em>Init</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLocalNameDeclarationStatement()
+ * @model
+ * @generated
+ */
+public interface LocalNameDeclarationStatement extends Statement
+{
+ /**
+ * Returns the value of the '<em><b>Var Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Var Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Var Name</em>' attribute.
+ * @see #setVarName(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLocalNameDeclarationStatement_VarName()
+ * @model
+ * @generated
+ */
+ String getVarName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.LocalNameDeclarationStatement#getVarName <em>Var Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Var Name</em>' attribute.
+ * @see #getVarName()
+ * @generated
+ */
+ void setVarName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' containment reference.
+ * @see #setType(QualifiedNameWithBinding)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLocalNameDeclarationStatement_Type()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedNameWithBinding getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.LocalNameDeclarationStatement#getType <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' containment reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(QualifiedNameWithBinding value);
+
+ /**
+ * Returns the value of the '<em><b>Multiplicity Indicator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Multiplicity Indicator</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Multiplicity Indicator</em>' attribute.
+ * @see #setMultiplicityIndicator(boolean)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLocalNameDeclarationStatement_MultiplicityIndicator()
+ * @model
+ * @generated
+ */
+ boolean isMultiplicityIndicator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.LocalNameDeclarationStatement#isMultiplicityIndicator <em>Multiplicity Indicator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Multiplicity Indicator</em>' attribute.
+ * @see #isMultiplicityIndicator()
+ * @generated
+ */
+ void setMultiplicityIndicator(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Init</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Init</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Init</em>' containment reference.
+ * @see #setInit(SequenceElement)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLocalNameDeclarationStatement_Init()
+ * @model containment="true"
+ * @generated
+ */
+ SequenceElement getInit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.LocalNameDeclarationStatement#getInit <em>Init</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Init</em>' containment reference.
+ * @see #getInit()
+ * @generated
+ */
+ void setInit(SequenceElement value);
+
+} // LocalNameDeclarationStatement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LoopVariableDefinition.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LoopVariableDefinition.java
new file mode 100644
index 00000000000..4224aae5a11
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/LoopVariableDefinition.java
@@ -0,0 +1,163 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Loop Variable Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.LoopVariableDefinition#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.LoopVariableDefinition#getExpression1 <em>Expression1</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.LoopVariableDefinition#getExpression2 <em>Expression2</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.LoopVariableDefinition#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.LoopVariableDefinition#getExpression <em>Expression</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLoopVariableDefinition()
+ * @model
+ * @generated
+ */
+public interface LoopVariableDefinition extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLoopVariableDefinition_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.LoopVariableDefinition#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>Expression1</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expression1</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Expression1</em>' containment reference.
+ * @see #setExpression1(Expression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLoopVariableDefinition_Expression1()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getExpression1();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.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 -->
+ * <p>
+ * If the meaning of the '<em>Expression2</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Expression2</em>' containment reference.
+ * @see #setExpression2(Expression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLoopVariableDefinition_Expression2()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getExpression2();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.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</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' containment reference.
+ * @see #setType(QualifiedNameWithBinding)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLoopVariableDefinition_Type()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedNameWithBinding getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.LoopVariableDefinition#getType <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' containment reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(QualifiedNameWithBinding value);
+
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expression</em>' containment 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>' containment reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getLoopVariableDefinition_Expression()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.LoopVariableDefinition#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);
+
+} // LoopVariableDefinition
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/MultiplicativeExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/MultiplicativeExpression.java
new file mode 100644
index 00000000000..f8b0297c761
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/MultiplicativeExpression.java
@@ -0,0 +1,64 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Multiplicative Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.MultiplicativeExpression#getExp <em>Exp</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.MultiplicativeExpression#getOp <em>Op</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getMultiplicativeExpression()
+ * @model
+ * @generated
+ */
+public interface MultiplicativeExpression extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Exp</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.UnaryExpression}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exp</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exp</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getMultiplicativeExpression_Exp()
+ * @model containment="true"
+ * @generated
+ */
+ EList<UnaryExpression> getExp();
+
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op</em>' attribute list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getMultiplicativeExpression_Op()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getOp();
+
+} // MultiplicativeExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NUMBER_LITERAL.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NUMBER_LITERAL.java
new file mode 100644
index 00000000000..b7453b31079
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NUMBER_LITERAL.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>NUMBER LITERAL</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.NUMBER_LITERAL#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNUMBER_LITERAL()
+ * @model
+ * @generated
+ */
+public interface NUMBER_LITERAL extends LITERAL
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNUMBER_LITERAL_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.NUMBER_LITERAL#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);
+
+} // NUMBER_LITERAL
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NameExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NameExpression.java
new file mode 100644
index 00000000000..c99c412f69b
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NameExpression.java
@@ -0,0 +1,216 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Name Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.NameExpression#getPrefixOp <em>Prefix Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.NameExpression#getPath <em>Path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.NameExpression#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.NameExpression#getInvocationCompletion <em>Invocation Completion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.NameExpression#getSequenceConstructionCompletion <em>Sequence Construction Completion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.NameExpression#getPostfixOp <em>Postfix Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.NameExpression#getSuffix <em>Suffix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNameExpression()
+ * @model
+ * @generated
+ */
+public interface NameExpression extends ValueSpecification, NonLiteralValueSpecification
+{
+ /**
+ * Returns the value of the '<em><b>Prefix Op</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Prefix Op</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Prefix Op</em>' attribute.
+ * @see #setPrefixOp(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNameExpression_PrefixOp()
+ * @model
+ * @generated
+ */
+ String getPrefixOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.NameExpression#getPrefixOp <em>Prefix Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Prefix Op</em>' attribute.
+ * @see #getPrefixOp()
+ * @generated
+ */
+ void setPrefixOp(String value);
+
+ /**
+ * Returns the value of the '<em><b>Path</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Path</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Path</em>' containment reference.
+ * @see #setPath(QualifiedNamePath)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNameExpression_Path()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedNamePath getPath();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.NameExpression#getPath <em>Path</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Path</em>' containment reference.
+ * @see #getPath()
+ * @generated
+ */
+ void setPath(QualifiedNamePath value);
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNameExpression_Id()
+ * @model
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.NameExpression#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Invocation Completion</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Invocation Completion</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Invocation Completion</em>' containment reference.
+ * @see #setInvocationCompletion(Tuple)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNameExpression_InvocationCompletion()
+ * @model containment="true"
+ * @generated
+ */
+ Tuple getInvocationCompletion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.NameExpression#getInvocationCompletion <em>Invocation Completion</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Invocation Completion</em>' containment reference.
+ * @see #getInvocationCompletion()
+ * @generated
+ */
+ void setInvocationCompletion(Tuple value);
+
+ /**
+ * Returns the value of the '<em><b>Sequence Construction Completion</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sequence Construction Completion</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Sequence Construction Completion</em>' containment reference.
+ * @see #setSequenceConstructionCompletion(SequenceConstructionOrAccessCompletion)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNameExpression_SequenceConstructionCompletion()
+ * @model containment="true"
+ * @generated
+ */
+ SequenceConstructionOrAccessCompletion getSequenceConstructionCompletion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.NameExpression#getSequenceConstructionCompletion <em>Sequence Construction Completion</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Sequence Construction Completion</em>' containment reference.
+ * @see #getSequenceConstructionCompletion()
+ * @generated
+ */
+ void setSequenceConstructionCompletion(SequenceConstructionOrAccessCompletion value);
+
+ /**
+ * Returns the value of the '<em><b>Postfix Op</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Postfix Op</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Postfix Op</em>' attribute.
+ * @see #setPostfixOp(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNameExpression_PostfixOp()
+ * @model
+ * @generated
+ */
+ String getPostfixOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.NameExpression#getPostfixOp <em>Postfix Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Postfix Op</em>' attribute.
+ * @see #getPostfixOp()
+ * @generated
+ */
+ void setPostfixOp(String value);
+
+ /**
+ * Returns the value of the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Suffix</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Suffix</em>' containment reference.
+ * @see #setSuffix(SuffixExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNameExpression_Suffix()
+ * @model containment="true"
+ * @generated
+ */
+ SuffixExpression getSuffix();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.NameExpression#getSuffix <em>Suffix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Suffix</em>' containment reference.
+ * @see #getSuffix()
+ * @generated
+ */
+ void setSuffix(SuffixExpression value);
+
+} // NameExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NamedTemplateBinding.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NamedTemplateBinding.java
new file mode 100644
index 00000000000..04b61edb870
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NamedTemplateBinding.java
@@ -0,0 +1,82 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Named Template Binding</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.NamedTemplateBinding#getFormal <em>Formal</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.NamedTemplateBinding#getActual <em>Actual</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNamedTemplateBinding()
+ * @model
+ * @generated
+ */
+public interface NamedTemplateBinding extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Formal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Formal</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Formal</em>' attribute.
+ * @see #setFormal(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNamedTemplateBinding_Formal()
+ * @model
+ * @generated
+ */
+ String getFormal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.NamedTemplateBinding#getFormal <em>Formal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Formal</em>' attribute.
+ * @see #getFormal()
+ * @generated
+ */
+ void setFormal(String value);
+
+ /**
+ * Returns the value of the '<em><b>Actual</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Actual</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Actual</em>' containment reference.
+ * @see #setActual(QualifiedNameWithBinding)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNamedTemplateBinding_Actual()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedNameWithBinding getActual();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.NamedTemplateBinding#getActual <em>Actual</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Actual</em>' containment reference.
+ * @see #getActual()
+ * @generated
+ */
+ void setActual(QualifiedNameWithBinding value);
+
+} // NamedTemplateBinding
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NonEmptyStatementSequence.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NonEmptyStatementSequence.java
new file mode 100644
index 00000000000..2ae7b389ef8
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NonEmptyStatementSequence.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Non Empty Statement Sequence</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.NonEmptyStatementSequence#getStatement <em>Statement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNonEmptyStatementSequence()
+ * @model
+ * @generated
+ */
+public interface NonEmptyStatementSequence extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Statement</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.DocumentedStatement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Statement</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Statement</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNonEmptyStatementSequence_Statement()
+ * @model containment="true"
+ * @generated
+ */
+ EList<DocumentedStatement> getStatement();
+
+} // NonEmptyStatementSequence
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NonFinalClause.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NonFinalClause.java
new file mode 100644
index 00000000000..8c9be8e5726
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NonFinalClause.java
@@ -0,0 +1,82 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Non Final Clause</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.NonFinalClause#getCondition <em>Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.NonFinalClause#getBlock <em>Block</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNonFinalClause()
+ * @model
+ * @generated
+ */
+public interface NonFinalClause extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Condition</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Condition</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Condition</em>' containment reference.
+ * @see #setCondition(Expression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNonFinalClause_Condition()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getCondition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.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>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Block</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Block</em>' containment reference.
+ * @see #setBlock(Block)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNonFinalClause_Block()
+ * @model containment="true"
+ * @generated
+ */
+ Block getBlock();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.NonFinalClause#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);
+
+} // NonFinalClause
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NonLiteralValueSpecification.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NonLiteralValueSpecification.java
new file mode 100644
index 00000000000..095f9222d1b
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NonLiteralValueSpecification.java
@@ -0,0 +1,23 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Non Literal Value Specification</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNonLiteralValueSpecification()
+ * @model
+ * @generated
+ */
+public interface NonLiteralValueSpecification extends EObject
+{
+} // NonLiteralValueSpecification
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NullExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NullExpression.java
new file mode 100644
index 00000000000..c1678ca37b3
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/NullExpression.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Null Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getNullExpression()
+ * @model
+ * @generated
+ */
+public interface NullExpression extends ValueSpecification
+{
+} // NullExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/OperationCallExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/OperationCallExpression.java
new file mode 100644
index 00000000000..c39c10d7719
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/OperationCallExpression.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Operation Call Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.OperationCallExpression#getOperationName <em>Operation Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.OperationCallExpression#getTuple <em>Tuple</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.OperationCallExpression#getSuffix <em>Suffix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getOperationCallExpression()
+ * @model
+ * @generated
+ */
+public interface OperationCallExpression extends SuffixExpression
+{
+ /**
+ * Returns the value of the '<em><b>Operation Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operation Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Operation Name</em>' attribute.
+ * @see #setOperationName(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getOperationCallExpression_OperationName()
+ * @model
+ * @generated
+ */
+ String getOperationName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.OperationCallExpression#getOperationName <em>Operation Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Operation Name</em>' attribute.
+ * @see #getOperationName()
+ * @generated
+ */
+ void setOperationName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Tuple</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tuple</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tuple</em>' containment reference.
+ * @see #setTuple(Tuple)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getOperationCallExpression_Tuple()
+ * @model containment="true"
+ * @generated
+ */
+ Tuple getTuple();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.OperationCallExpression#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);
+
+ /**
+ * Returns the value of the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Suffix</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Suffix</em>' containment reference.
+ * @see #setSuffix(SuffixExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getOperationCallExpression_Suffix()
+ * @model containment="true"
+ * @generated
+ */
+ SuffixExpression getSuffix();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.OperationCallExpression#getSuffix <em>Suffix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Suffix</em>' containment reference.
+ * @see #getSuffix()
+ * @generated
+ */
+ void setSuffix(SuffixExpression value);
+
+} // OperationCallExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ParenthesizedExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ParenthesizedExpression.java
new file mode 100644
index 00000000000..802b85e6881
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ParenthesizedExpression.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Parenthesized Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ParenthesizedExpression#getExpOrTypeCast <em>Exp Or Type Cast</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ParenthesizedExpression#getCasted <em>Casted</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ParenthesizedExpression#getSuffix <em>Suffix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getParenthesizedExpression()
+ * @model
+ * @generated
+ */
+public interface ParenthesizedExpression extends ValueSpecification, NonLiteralValueSpecification
+{
+ /**
+ * Returns the value of the '<em><b>Exp Or Type Cast</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exp Or Type Cast</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exp Or Type Cast</em>' containment reference.
+ * @see #setExpOrTypeCast(Expression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getParenthesizedExpression_ExpOrTypeCast()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getExpOrTypeCast();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ParenthesizedExpression#getExpOrTypeCast <em>Exp Or Type Cast</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Exp Or Type Cast</em>' containment reference.
+ * @see #getExpOrTypeCast()
+ * @generated
+ */
+ void setExpOrTypeCast(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Casted</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Casted</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Casted</em>' containment reference.
+ * @see #setCasted(NonLiteralValueSpecification)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getParenthesizedExpression_Casted()
+ * @model containment="true"
+ * @generated
+ */
+ NonLiteralValueSpecification getCasted();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ParenthesizedExpression#getCasted <em>Casted</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Casted</em>' containment reference.
+ * @see #getCasted()
+ * @generated
+ */
+ void setCasted(NonLiteralValueSpecification value);
+
+ /**
+ * Returns the value of the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Suffix</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Suffix</em>' containment reference.
+ * @see #setSuffix(SuffixExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getParenthesizedExpression_Suffix()
+ * @model containment="true"
+ * @generated
+ */
+ SuffixExpression getSuffix();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ParenthesizedExpression#getSuffix <em>Suffix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Suffix</em>' containment reference.
+ * @see #getSuffix()
+ * @generated
+ */
+ void setSuffix(SuffixExpression value);
+
+} // ParenthesizedExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/PartialSequenceConstructionCompletion.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/PartialSequenceConstructionCompletion.java
new file mode 100644
index 00000000000..a2683e709f1
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/PartialSequenceConstructionCompletion.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Partial Sequence Construction Completion</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.PartialSequenceConstructionCompletion#getExpression <em>Expression</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getPartialSequenceConstructionCompletion()
+ * @model
+ * @generated
+ */
+public interface PartialSequenceConstructionCompletion extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expression</em>' containment 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>' containment reference.
+ * @see #setExpression(SequenceConstructionExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getPartialSequenceConstructionCompletion_Expression()
+ * @model containment="true"
+ * @generated
+ */
+ SequenceConstructionExpression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.PartialSequenceConstructionCompletion#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(SequenceConstructionExpression value);
+
+} // PartialSequenceConstructionCompletion
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/PrimaryExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/PrimaryExpression.java
new file mode 100644
index 00000000000..66f00d9367d
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/PrimaryExpression.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Primary Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.PrimaryExpression#getPrefix <em>Prefix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getPrimaryExpression()
+ * @model
+ * @generated
+ */
+public interface PrimaryExpression extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Prefix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Prefix</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Prefix</em>' containment reference.
+ * @see #setPrefix(ValueSpecification)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getPrimaryExpression_Prefix()
+ * @model containment="true"
+ * @generated
+ */
+ ValueSpecification getPrefix();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.PrimaryExpression#getPrefix <em>Prefix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Prefix</em>' containment reference.
+ * @see #getPrefix()
+ * @generated
+ */
+ void setPrefix(ValueSpecification value);
+
+} // PrimaryExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/PropertyCallExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/PropertyCallExpression.java
new file mode 100644
index 00000000000..a693b8efcd6
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/PropertyCallExpression.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Property Call Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.PropertyCallExpression#getPropertyName <em>Property Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.PropertyCallExpression#getIndex <em>Index</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.PropertyCallExpression#getSuffix <em>Suffix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getPropertyCallExpression()
+ * @model
+ * @generated
+ */
+public interface PropertyCallExpression extends SuffixExpression
+{
+ /**
+ * Returns the value of the '<em><b>Property Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Property Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Property Name</em>' attribute.
+ * @see #setPropertyName(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getPropertyCallExpression_PropertyName()
+ * @model
+ * @generated
+ */
+ String getPropertyName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.PropertyCallExpression#getPropertyName <em>Property Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Property Name</em>' attribute.
+ * @see #getPropertyName()
+ * @generated
+ */
+ void setPropertyName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Index</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Index</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Index</em>' containment reference.
+ * @see #setIndex(Expression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getPropertyCallExpression_Index()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getIndex();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.PropertyCallExpression#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);
+
+ /**
+ * Returns the value of the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Suffix</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Suffix</em>' containment reference.
+ * @see #setSuffix(SuffixExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getPropertyCallExpression_Suffix()
+ * @model containment="true"
+ * @generated
+ */
+ SuffixExpression getSuffix();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.PropertyCallExpression#getSuffix <em>Suffix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Suffix</em>' containment reference.
+ * @see #getSuffix()
+ * @generated
+ */
+ void setSuffix(SuffixExpression value);
+
+} // PropertyCallExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/QualifiedNameList.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/QualifiedNameList.java
new file mode 100644
index 00000000000..cf01c5106c6
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/QualifiedNameList.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Qualified Name List</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.QualifiedNameList#getQualifiedName <em>Qualified Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getQualifiedNameList()
+ * @model
+ * @generated
+ */
+public interface QualifiedNameList extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Qualified Name</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Qualified Name</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Qualified Name</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getQualifiedNameList_QualifiedName()
+ * @model containment="true"
+ * @generated
+ */
+ EList<QualifiedNameWithBinding> getQualifiedName();
+
+} // QualifiedNameList
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/QualifiedNamePath.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/QualifiedNamePath.java
new file mode 100644
index 00000000000..22c593dd876
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/QualifiedNamePath.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Qualified Name Path</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.QualifiedNamePath#getNamespace <em>Namespace</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getQualifiedNamePath()
+ * @model
+ * @generated
+ */
+public interface QualifiedNamePath extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Namespace</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.UnqualifiedName}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Namespace</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Namespace</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getQualifiedNamePath_Namespace()
+ * @model containment="true"
+ * @generated
+ */
+ EList<UnqualifiedName> getNamespace();
+
+} // QualifiedNamePath
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/QualifiedNameWithBinding.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/QualifiedNameWithBinding.java
new file mode 100644
index 00000000000..3a90993106d
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/QualifiedNameWithBinding.java
@@ -0,0 +1,109 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Qualified Name With Binding</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding#getBinding <em>Binding</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding#getRemaining <em>Remaining</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getQualifiedNameWithBinding()
+ * @model
+ * @generated
+ */
+public interface QualifiedNameWithBinding extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getQualifiedNameWithBinding_Id()
+ * @model
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Binding</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Binding</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Binding</em>' containment reference.
+ * @see #setBinding(TemplateBinding)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getQualifiedNameWithBinding_Binding()
+ * @model containment="true"
+ * @generated
+ */
+ TemplateBinding getBinding();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding#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>Remaining</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Remaining</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Remaining</em>' containment reference.
+ * @see #setRemaining(QualifiedNameWithBinding)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getQualifiedNameWithBinding_Remaining()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedNameWithBinding getRemaining();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding#getRemaining <em>Remaining</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Remaining</em>' containment reference.
+ * @see #getRemaining()
+ * @generated
+ */
+ void setRemaining(QualifiedNameWithBinding value);
+
+} // QualifiedNameWithBinding
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ReclassifyAllClause.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ReclassifyAllClause.java
new file mode 100644
index 00000000000..84107147722
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ReclassifyAllClause.java
@@ -0,0 +1,23 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Reclassify All Clause</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getReclassifyAllClause()
+ * @model
+ * @generated
+ */
+public interface ReclassifyAllClause extends EObject
+{
+} // ReclassifyAllClause
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/RelationalExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/RelationalExpression.java
new file mode 100644
index 00000000000..1ed9ae1089a
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/RelationalExpression.java
@@ -0,0 +1,109 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Relational Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.RelationalExpression#getLeft <em>Left</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.RelationalExpression#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.RelationalExpression#getRight <em>Right</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getRelationalExpression()
+ * @model
+ * @generated
+ */
+public interface RelationalExpression extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Left</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Left</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Left</em>' containment reference.
+ * @see #setLeft(ShiftExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getRelationalExpression_Left()
+ * @model containment="true"
+ * @generated
+ */
+ ShiftExpression getLeft();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.RelationalExpression#getLeft <em>Left</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Left</em>' containment reference.
+ * @see #getLeft()
+ * @generated
+ */
+ void setLeft(ShiftExpression value);
+
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op</em>' attribute.
+ * @see #setOp(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getRelationalExpression_Op()
+ * @model
+ * @generated
+ */
+ String getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.RelationalExpression#getOp <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' attribute.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(String value);
+
+ /**
+ * Returns the value of the '<em><b>Right</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Right</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Right</em>' containment reference.
+ * @see #setRight(ShiftExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getRelationalExpression_Right()
+ * @model containment="true"
+ * @generated
+ */
+ ShiftExpression getRight();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.RelationalExpression#getRight <em>Right</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Right</em>' containment reference.
+ * @see #getRight()
+ * @generated
+ */
+ void setRight(ShiftExpression value);
+
+} // RelationalExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ReturnStatement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ReturnStatement.java
new file mode 100644
index 00000000000..7ff822985a0
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ReturnStatement.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Return Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ReturnStatement#getExpression <em>Expression</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.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 -->
+ * <p>
+ * If the meaning of the '<em>Expression</em>' containment 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>' containment reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getReturnStatement_Expression()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.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);
+
+} // ReturnStatement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/STRING_LITERAL.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/STRING_LITERAL.java
new file mode 100644
index 00000000000..283bb5ee9d3
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/STRING_LITERAL.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>STRING LITERAL</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.STRING_LITERAL#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSTRING_LITERAL()
+ * @model
+ * @generated
+ */
+public interface STRING_LITERAL extends LITERAL
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSTRING_LITERAL_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.STRING_LITERAL#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);
+
+} // STRING_LITERAL
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SelectOrRejectOperation.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SelectOrRejectOperation.java
new file mode 100644
index 00000000000..ba6c0a273e3
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SelectOrRejectOperation.java
@@ -0,0 +1,57 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Select Or Reject Operation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SelectOrRejectOperation#getOp <em>Op</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSelectOrRejectOperation()
+ * @model
+ * @generated
+ */
+public interface SelectOrRejectOperation extends SequenceExpansionExpression
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.alf.alf.SelectOrRejectOperator}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op</em>' attribute.
+ * @see org.eclipse.papyrus.alf.alf.SelectOrRejectOperator
+ * @see #setOp(SelectOrRejectOperator)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSelectOrRejectOperation_Op()
+ * @model
+ * @generated
+ */
+ SelectOrRejectOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SelectOrRejectOperation#getOp <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' attribute.
+ * @see org.eclipse.papyrus.alf.alf.SelectOrRejectOperator
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(SelectOrRejectOperator value);
+
+} // SelectOrRejectOperation
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SelectOrRejectOperator.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SelectOrRejectOperator.java
new file mode 100644
index 00000000000..18f445fc0f4
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SelectOrRejectOperator.java
@@ -0,0 +1,227 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Select Or Reject Operator</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSelectOrRejectOperator()
+ * @model
+ * @generated
+ */
+public enum SelectOrRejectOperator implements Enumerator
+{
+ /**
+ * The '<em><b>SELECT</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SELECT_VALUE
+ * @generated
+ * @ordered
+ */
+ SELECT(0, "SELECT", "select"),
+
+ /**
+ * The '<em><b>REJECT</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #REJECT_VALUE
+ * @generated
+ * @ordered
+ */
+ REJECT(1, "REJECT", "reject");
+
+ /**
+ * The '<em><b>SELECT</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SELECT</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SELECT
+ * @model literal="select"
+ * @generated
+ * @ordered
+ */
+ public static final int SELECT_VALUE = 0;
+
+ /**
+ * The '<em><b>REJECT</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>REJECT</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #REJECT
+ * @model literal="reject"
+ * @generated
+ * @ordered
+ */
+ public static final int REJECT_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>Select Or Reject Operator</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final SelectOrRejectOperator[] VALUES_ARRAY =
+ new SelectOrRejectOperator[]
+ {
+ SELECT,
+ REJECT,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Select Or Reject Operator</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<SelectOrRejectOperator> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Select Or Reject Operator</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SelectOrRejectOperator get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ SelectOrRejectOperator result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Select Or Reject Operator</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SelectOrRejectOperator getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ SelectOrRejectOperator result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Select Or Reject Operator</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SelectOrRejectOperator get(int value)
+ {
+ switch (value)
+ {
+ case SELECT_VALUE: return SELECT;
+ case REJECT_VALUE: return REJECT;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private SelectOrRejectOperator(int value, String name, String literal)
+ {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral()
+ {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ return literal;
+ }
+
+} //SelectOrRejectOperator
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceConstructionExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceConstructionExpression.java
new file mode 100644
index 00000000000..00e50d6b48f
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceConstructionExpression.java
@@ -0,0 +1,72 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+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 -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SequenceConstructionExpression#getSequenceElement <em>Sequence Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SequenceConstructionExpression#getRangeUpper <em>Range Upper</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceConstructionExpression()
+ * @model
+ * @generated
+ */
+public interface SequenceConstructionExpression extends SequenceElement
+{
+ /**
+ * Returns the value of the '<em><b>Sequence Element</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.SequenceElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sequence Element</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Sequence Element</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceConstructionExpression_SequenceElement()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SequenceElement> getSequenceElement();
+
+ /**
+ * Returns the value of the '<em><b>Range Upper</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Range Upper</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Range Upper</em>' containment reference.
+ * @see #setRangeUpper(Expression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceConstructionExpression_RangeUpper()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getRangeUpper();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SequenceConstructionExpression#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);
+
+} // SequenceConstructionExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceConstructionOrAccessCompletion.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceConstructionOrAccessCompletion.java
new file mode 100644
index 00000000000..9bf83116311
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceConstructionOrAccessCompletion.java
@@ -0,0 +1,136 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sequence Construction Or Access Completion</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion#isMultiplicityIndicator <em>Multiplicity Indicator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion#getAccessCompletion <em>Access Completion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion#getSequenceCompletion <em>Sequence Completion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion#getExpression <em>Expression</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceConstructionOrAccessCompletion()
+ * @model
+ * @generated
+ */
+public interface SequenceConstructionOrAccessCompletion extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Multiplicity Indicator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Multiplicity Indicator</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Multiplicity Indicator</em>' attribute.
+ * @see #setMultiplicityIndicator(boolean)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceConstructionOrAccessCompletion_MultiplicityIndicator()
+ * @model
+ * @generated
+ */
+ boolean isMultiplicityIndicator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion#isMultiplicityIndicator <em>Multiplicity Indicator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Multiplicity Indicator</em>' attribute.
+ * @see #isMultiplicityIndicator()
+ * @generated
+ */
+ void setMultiplicityIndicator(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Access Completion</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Access Completion</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Access Completion</em>' containment reference.
+ * @see #setAccessCompletion(AccessCompletion)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceConstructionOrAccessCompletion_AccessCompletion()
+ * @model containment="true"
+ * @generated
+ */
+ AccessCompletion getAccessCompletion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion#getAccessCompletion <em>Access Completion</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Access Completion</em>' containment reference.
+ * @see #getAccessCompletion()
+ * @generated
+ */
+ void setAccessCompletion(AccessCompletion value);
+
+ /**
+ * Returns the value of the '<em><b>Sequence Completion</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sequence Completion</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Sequence Completion</em>' containment reference.
+ * @see #setSequenceCompletion(PartialSequenceConstructionCompletion)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceConstructionOrAccessCompletion_SequenceCompletion()
+ * @model containment="true"
+ * @generated
+ */
+ PartialSequenceConstructionCompletion getSequenceCompletion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion#getSequenceCompletion <em>Sequence Completion</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Sequence Completion</em>' containment reference.
+ * @see #getSequenceCompletion()
+ * @generated
+ */
+ void setSequenceCompletion(PartialSequenceConstructionCompletion value);
+
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expression</em>' containment 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>' containment reference.
+ * @see #setExpression(SequenceConstructionExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceConstructionOrAccessCompletion_Expression()
+ * @model containment="true"
+ * @generated
+ */
+ SequenceConstructionExpression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion#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(SequenceConstructionExpression value);
+
+} // SequenceConstructionOrAccessCompletion
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceElement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceElement.java
new file mode 100644
index 00000000000..c8de514148d
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceElement.java
@@ -0,0 +1,23 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sequence Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceElement()
+ * @model
+ * @generated
+ */
+public interface SequenceElement extends EObject
+{
+} // SequenceElement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceExpansionExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceExpansionExpression.java
new file mode 100644
index 00000000000..a70245105fa
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceExpansionExpression.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sequence Expansion Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SequenceExpansionExpression#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SequenceExpansionExpression#getExpr <em>Expr</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SequenceExpansionExpression#getSuffix <em>Suffix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceExpansionExpression()
+ * @model
+ * @generated
+ */
+public interface SequenceExpansionExpression extends SuffixExpression
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceExpansionExpression_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SequenceExpansionExpression#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>Expr</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expr</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Expr</em>' containment reference.
+ * @see #setExpr(Expression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceExpansionExpression_Expr()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getExpr();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SequenceExpansionExpression#getExpr <em>Expr</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Expr</em>' containment reference.
+ * @see #getExpr()
+ * @generated
+ */
+ void setExpr(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Suffix</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Suffix</em>' containment reference.
+ * @see #setSuffix(SuffixExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceExpansionExpression_Suffix()
+ * @model containment="true"
+ * @generated
+ */
+ SuffixExpression getSuffix();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SequenceExpansionExpression#getSuffix <em>Suffix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Suffix</em>' containment reference.
+ * @see #getSuffix()
+ * @generated
+ */
+ void setSuffix(SuffixExpression value);
+
+} // SequenceExpansionExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceOperationExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceOperationExpression.java
new file mode 100644
index 00000000000..45db6ee590f
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceOperationExpression.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sequence Operation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SequenceOperationExpression#getOperationName <em>Operation Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SequenceOperationExpression#getTuple <em>Tuple</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SequenceOperationExpression#getSuffix <em>Suffix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceOperationExpression()
+ * @model
+ * @generated
+ */
+public interface SequenceOperationExpression extends SuffixExpression
+{
+ /**
+ * Returns the value of the '<em><b>Operation Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operation Name</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Operation Name</em>' containment reference.
+ * @see #setOperationName(QualifiedNameWithBinding)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceOperationExpression_OperationName()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedNameWithBinding getOperationName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SequenceOperationExpression#getOperationName <em>Operation Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Operation Name</em>' containment reference.
+ * @see #getOperationName()
+ * @generated
+ */
+ void setOperationName(QualifiedNameWithBinding value);
+
+ /**
+ * Returns the value of the '<em><b>Tuple</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tuple</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tuple</em>' containment reference.
+ * @see #setTuple(Tuple)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceOperationExpression_Tuple()
+ * @model containment="true"
+ * @generated
+ */
+ Tuple getTuple();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SequenceOperationExpression#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);
+
+ /**
+ * Returns the value of the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Suffix</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Suffix</em>' containment reference.
+ * @see #setSuffix(SuffixExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceOperationExpression_Suffix()
+ * @model containment="true"
+ * @generated
+ */
+ SuffixExpression getSuffix();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SequenceOperationExpression#getSuffix <em>Suffix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Suffix</em>' containment reference.
+ * @see #getSuffix()
+ * @generated
+ */
+ void setSuffix(SuffixExpression value);
+
+} // SequenceOperationExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceReductionExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceReductionExpression.java
new file mode 100644
index 00000000000..4980b02124e
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequenceReductionExpression.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sequence Reduction Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SequenceReductionExpression#isIsOrdered <em>Is Ordered</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SequenceReductionExpression#getBehavior <em>Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SequenceReductionExpression#getSuffix <em>Suffix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceReductionExpression()
+ * @model
+ * @generated
+ */
+public interface SequenceReductionExpression extends SuffixExpression
+{
+ /**
+ * Returns the value of the '<em><b>Is Ordered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Ordered</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 Ordered</em>' attribute.
+ * @see #setIsOrdered(boolean)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceReductionExpression_IsOrdered()
+ * @model
+ * @generated
+ */
+ boolean isIsOrdered();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.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>Behavior</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Behavior</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Behavior</em>' containment reference.
+ * @see #setBehavior(QualifiedNameWithBinding)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceReductionExpression_Behavior()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedNameWithBinding getBehavior();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SequenceReductionExpression#getBehavior <em>Behavior</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Behavior</em>' containment reference.
+ * @see #getBehavior()
+ * @generated
+ */
+ void setBehavior(QualifiedNameWithBinding value);
+
+ /**
+ * Returns the value of the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Suffix</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Suffix</em>' containment reference.
+ * @see #setSuffix(SuffixExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequenceReductionExpression_Suffix()
+ * @model containment="true"
+ * @generated
+ */
+ SuffixExpression getSuffix();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SequenceReductionExpression#getSuffix <em>Suffix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Suffix</em>' containment reference.
+ * @see #getSuffix()
+ * @generated
+ */
+ void setSuffix(SuffixExpression value);
+
+} // SequenceReductionExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequentialClauses.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequentialClauses.java
new file mode 100644
index 00000000000..7e789b0e1db
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SequentialClauses.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sequential Clauses</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SequentialClauses#getConccurentClauses <em>Conccurent Clauses</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequentialClauses()
+ * @model
+ * @generated
+ */
+public interface SequentialClauses extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Conccurent Clauses</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.ConcurrentClauses}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Conccurent Clauses</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Conccurent Clauses</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSequentialClauses_ConccurentClauses()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ConcurrentClauses> getConccurentClauses();
+
+} // SequentialClauses
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ShiftExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ShiftExpression.java
new file mode 100644
index 00000000000..544dbbbd520
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ShiftExpression.java
@@ -0,0 +1,74 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Shift Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ShiftExpression#getExp <em>Exp</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ShiftExpression#getOp <em>Op</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getShiftExpression()
+ * @model
+ * @generated
+ */
+public interface ShiftExpression extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Exp</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.AdditiveExpression}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exp</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exp</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getShiftExpression_Exp()
+ * @model containment="true"
+ * @generated
+ */
+ EList<AdditiveExpression> getExp();
+
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op</em>' attribute.
+ * @see #setOp(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getShiftExpression_Op()
+ * @model
+ * @generated
+ */
+ String getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ShiftExpression#getOp <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' attribute.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(String value);
+
+} // ShiftExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SimpleAcceptStatementCompletion.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SimpleAcceptStatementCompletion.java
new file mode 100644
index 00000000000..920485958d4
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SimpleAcceptStatementCompletion.java
@@ -0,0 +1,23 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Simple Accept Statement Completion</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSimpleAcceptStatementCompletion()
+ * @model
+ * @generated
+ */
+public interface SimpleAcceptStatementCompletion extends EObject
+{
+} // SimpleAcceptStatementCompletion
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Statement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Statement.java
new file mode 100644
index 00000000000..ac1863f7e84
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Statement.java
@@ -0,0 +1,23 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getStatement()
+ * @model
+ * @generated
+ */
+public interface Statement extends EObject
+{
+} // Statement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/StatementSequence.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/StatementSequence.java
new file mode 100644
index 00000000000..2b4bc23c7dc
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/StatementSequence.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Statement Sequence</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.StatementSequence#getStatements <em>Statements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getStatementSequence()
+ * @model
+ * @generated
+ */
+public interface StatementSequence extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Statements</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.DocumentedStatement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Statements</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Statements</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getStatementSequence_Statements()
+ * @model containment="true"
+ * @generated
+ */
+ EList<DocumentedStatement> getStatements();
+
+} // StatementSequence
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SuffixExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SuffixExpression.java
new file mode 100644
index 00000000000..154df946b63
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SuffixExpression.java
@@ -0,0 +1,23 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Suffix Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSuffixExpression()
+ * @model
+ * @generated
+ */
+public interface SuffixExpression extends EObject
+{
+} // SuffixExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SuperInvocationExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SuperInvocationExpression.java
new file mode 100644
index 00000000000..87cf2feb833
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SuperInvocationExpression.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Super Invocation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SuperInvocationExpression#getTuple <em>Tuple</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SuperInvocationExpression#getOperationName <em>Operation Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSuperInvocationExpression()
+ * @model
+ * @generated
+ */
+public interface SuperInvocationExpression extends ValueSpecification, NonLiteralValueSpecification
+{
+ /**
+ * Returns the value of the '<em><b>Tuple</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tuple</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tuple</em>' containment reference.
+ * @see #setTuple(Tuple)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSuperInvocationExpression_Tuple()
+ * @model containment="true"
+ * @generated
+ */
+ Tuple getTuple();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SuperInvocationExpression#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);
+
+ /**
+ * Returns the value of the '<em><b>Operation Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operation Name</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Operation Name</em>' containment reference.
+ * @see #setOperationName(QualifiedNameWithBinding)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSuperInvocationExpression_OperationName()
+ * @model containment="true"
+ * @generated
+ */
+ QualifiedNameWithBinding getOperationName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SuperInvocationExpression#getOperationName <em>Operation Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Operation Name</em>' containment reference.
+ * @see #getOperationName()
+ * @generated
+ */
+ void setOperationName(QualifiedNameWithBinding value);
+
+} // SuperInvocationExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SuperInvocationStatement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SuperInvocationStatement.java
new file mode 100644
index 00000000000..63b2f4fc520
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SuperInvocationStatement.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Super Invocation Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SuperInvocationStatement#get_super <em>super</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSuperInvocationStatement()
+ * @model
+ * @generated
+ */
+public interface SuperInvocationStatement extends Statement
+{
+ /**
+ * Returns the value of the '<em><b>super</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>super</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>super</em>' containment reference.
+ * @see #set_super(SuperInvocationExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSuperInvocationStatement__super()
+ * @model containment="true"
+ * @generated
+ */
+ SuperInvocationExpression get_super();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SuperInvocationStatement#get_super <em>super</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>super</em>' containment reference.
+ * @see #get_super()
+ * @generated
+ */
+ void set_super(SuperInvocationExpression value);
+
+} // SuperInvocationStatement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SwitchCase.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SwitchCase.java
new file mode 100644
index 00000000000..e3d546c8d26
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SwitchCase.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Switch Case</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SwitchCase#getExpression <em>Expression</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSwitchCase()
+ * @model
+ * @generated
+ */
+public interface SwitchCase extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expression</em>' containment 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>' containment reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSwitchCase_Expression()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SwitchCase#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);
+
+} // SwitchCase
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SwitchClause.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SwitchClause.java
new file mode 100644
index 00000000000..baf6f2cb550
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SwitchClause.java
@@ -0,0 +1,74 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Switch Clause</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SwitchClause#getSwitchCase <em>Switch Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SwitchClause#getStatementSequence <em>Statement Sequence</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSwitchClause()
+ * @model
+ * @generated
+ */
+public interface SwitchClause extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Switch Case</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.SwitchCase}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Switch Case</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Switch Case</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSwitchClause_SwitchCase()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SwitchCase> getSwitchCase();
+
+ /**
+ * Returns the value of the '<em><b>Statement Sequence</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Statement Sequence</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Statement Sequence</em>' containment reference.
+ * @see #setStatementSequence(NonEmptyStatementSequence)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSwitchClause_StatementSequence()
+ * @model containment="true"
+ * @generated
+ */
+ NonEmptyStatementSequence getStatementSequence();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SwitchClause#getStatementSequence <em>Statement Sequence</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Statement Sequence</em>' containment reference.
+ * @see #getStatementSequence()
+ * @generated
+ */
+ void setStatementSequence(NonEmptyStatementSequence value);
+
+} // SwitchClause
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SwitchDefaultClause.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SwitchDefaultClause.java
new file mode 100644
index 00000000000..40ec523d57b
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SwitchDefaultClause.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Switch Default Clause</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SwitchDefaultClause#getStatementSequence <em>Statement Sequence</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSwitchDefaultClause()
+ * @model
+ * @generated
+ */
+public interface SwitchDefaultClause extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Statement Sequence</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Statement Sequence</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Statement Sequence</em>' containment reference.
+ * @see #setStatementSequence(NonEmptyStatementSequence)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSwitchDefaultClause_StatementSequence()
+ * @model containment="true"
+ * @generated
+ */
+ NonEmptyStatementSequence getStatementSequence();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.SwitchDefaultClause#getStatementSequence <em>Statement Sequence</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Statement Sequence</em>' containment reference.
+ * @see #getStatementSequence()
+ * @generated
+ */
+ void setStatementSequence(NonEmptyStatementSequence value);
+
+} // SwitchDefaultClause
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SwitchStatement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SwitchStatement.java
new file mode 100644
index 00000000000..26f8a5dee20
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/SwitchStatement.java
@@ -0,0 +1,99 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+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 -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SwitchStatement#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SwitchStatement#getSwitchClause <em>Switch Clause</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.SwitchStatement#getDefaultClause <em>Default Clause</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSwitchStatement()
+ * @model
+ * @generated
+ */
+public interface SwitchStatement extends Statement
+{
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expression</em>' containment 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>' containment reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSwitchStatement_Expression()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.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>Switch Clause</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.SwitchClause}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Switch Clause</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Switch Clause</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSwitchStatement_SwitchClause()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SwitchClause> getSwitchClause();
+
+ /**
+ * Returns the value of the '<em><b>Default Clause</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default Clause</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Default Clause</em>' containment reference.
+ * @see #setDefaultClause(SwitchDefaultClause)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getSwitchStatement_DefaultClause()
+ * @model containment="true"
+ * @generated
+ */
+ SwitchDefaultClause getDefaultClause();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.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(SwitchDefaultClause value);
+
+} // SwitchStatement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/TemplateBinding.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/TemplateBinding.java
new file mode 100644
index 00000000000..4e9ff6eea46
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/TemplateBinding.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Template Binding</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.TemplateBinding#getBindings <em>Bindings</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getTemplateBinding()
+ * @model
+ * @generated
+ */
+public interface TemplateBinding extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Bindings</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.NamedTemplateBinding}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Bindings</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Bindings</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getTemplateBinding_Bindings()
+ * @model containment="true"
+ * @generated
+ */
+ EList<NamedTemplateBinding> getBindings();
+
+} // TemplateBinding
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Test.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Test.java
new file mode 100644
index 00000000000..82953be4fe4
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Test.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Test</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.Test#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.Test#getAssignExpression <em>Assign Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.Test#getStatements <em>Statements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.Test#getBlock <em>Block</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getTest()
+ * @model
+ * @generated
+ */
+public interface Test extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.Expression}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expression</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Expression</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getTest_Expression()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Expression> getExpression();
+
+ /**
+ * Returns the value of the '<em><b>Assign Expression</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.AssignmentCompletion}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Assign Expression</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Assign Expression</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getTest_AssignExpression()
+ * @model containment="true"
+ * @generated
+ */
+ EList<AssignmentCompletion> getAssignExpression();
+
+ /**
+ * Returns the value of the '<em><b>Statements</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.Statement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Statements</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Statements</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getTest_Statements()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Statement> getStatements();
+
+ /**
+ * Returns the value of the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Block</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Block</em>' containment reference.
+ * @see #setBlock(Block)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getTest_Block()
+ * @model containment="true"
+ * @generated
+ */
+ Block getBlock();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.Test#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);
+
+} // Test
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ThisExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ThisExpression.java
new file mode 100644
index 00000000000..fdc62416931
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ThisExpression.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>This Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ThisExpression#getSuffix <em>Suffix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getThisExpression()
+ * @model
+ * @generated
+ */
+public interface ThisExpression extends ValueSpecification, NonLiteralValueSpecification
+{
+ /**
+ * Returns the value of the '<em><b>Suffix</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Suffix</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Suffix</em>' containment reference.
+ * @see #setSuffix(SuffixExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getThisExpression_Suffix()
+ * @model containment="true"
+ * @generated
+ */
+ SuffixExpression getSuffix();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ThisExpression#getSuffix <em>Suffix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Suffix</em>' containment reference.
+ * @see #getSuffix()
+ * @generated
+ */
+ void setSuffix(SuffixExpression value);
+
+} // ThisExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ThisInvocationStatement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ThisInvocationStatement.java
new file mode 100644
index 00000000000..2089d051c04
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ThisInvocationStatement.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>This Invocation Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ThisInvocationStatement#get_this <em>this</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.ThisInvocationStatement#getAssignmentCompletion <em>Assignment Completion</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getThisInvocationStatement()
+ * @model
+ * @generated
+ */
+public interface ThisInvocationStatement extends Statement
+{
+ /**
+ * Returns the value of the '<em><b>this</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>this</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>this</em>' containment reference.
+ * @see #set_this(ThisExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getThisInvocationStatement__this()
+ * @model containment="true"
+ * @generated
+ */
+ ThisExpression get_this();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ThisInvocationStatement#get_this <em>this</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>this</em>' containment reference.
+ * @see #get_this()
+ * @generated
+ */
+ void set_this(ThisExpression value);
+
+ /**
+ * Returns the value of the '<em><b>Assignment Completion</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Assignment Completion</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Assignment Completion</em>' containment reference.
+ * @see #setAssignmentCompletion(AssignmentCompletion)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getThisInvocationStatement_AssignmentCompletion()
+ * @model containment="true"
+ * @generated
+ */
+ AssignmentCompletion getAssignmentCompletion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.ThisInvocationStatement#getAssignmentCompletion <em>Assignment Completion</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Assignment Completion</em>' containment reference.
+ * @see #getAssignmentCompletion()
+ * @generated
+ */
+ void setAssignmentCompletion(AssignmentCompletion value);
+
+} // ThisInvocationStatement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Tuple.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Tuple.java
new file mode 100644
index 00000000000..da3f1e02209
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/Tuple.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Tuple</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.Tuple#getTupleElements <em>Tuple Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getTuple()
+ * @model
+ * @generated
+ */
+public interface Tuple extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Tuple Elements</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.alf.alf.TupleElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tuple Elements</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tuple Elements</em>' containment reference list.
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getTuple_TupleElements()
+ * @model containment="true"
+ * @generated
+ */
+ EList<TupleElement> getTupleElements();
+
+} // Tuple
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/TupleElement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/TupleElement.java
new file mode 100644
index 00000000000..c6a9860ede5
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/TupleElement.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Tuple Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.TupleElement#getArgument <em>Argument</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getTupleElement()
+ * @model
+ * @generated
+ */
+public interface TupleElement extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Argument</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Argument</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Argument</em>' containment reference.
+ * @see #setArgument(Expression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getTupleElement_Argument()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getArgument();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.TupleElement#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);
+
+} // TupleElement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/UNLIMITED_LITERAL.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/UNLIMITED_LITERAL.java
new file mode 100644
index 00000000000..76ad4828da5
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/UNLIMITED_LITERAL.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>UNLIMITED LITERAL</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getUNLIMITED_LITERAL()
+ * @model
+ * @generated
+ */
+public interface UNLIMITED_LITERAL extends NUMBER_LITERAL
+{
+} // UNLIMITED_LITERAL
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/UnaryExpression.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/UnaryExpression.java
new file mode 100644
index 00000000000..0ee6ce581fb
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/UnaryExpression.java
@@ -0,0 +1,82 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Unary Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.UnaryExpression#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.UnaryExpression#getExp <em>Exp</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getUnaryExpression()
+ * @model
+ * @generated
+ */
+public interface UnaryExpression extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op</em>' attribute.
+ * @see #setOp(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getUnaryExpression_Op()
+ * @model
+ * @generated
+ */
+ String getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.UnaryExpression#getOp <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' attribute.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(String value);
+
+ /**
+ * Returns the value of the '<em><b>Exp</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exp</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exp</em>' containment reference.
+ * @see #setExp(PrimaryExpression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getUnaryExpression_Exp()
+ * @model containment="true"
+ * @generated
+ */
+ PrimaryExpression getExp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.UnaryExpression#getExp <em>Exp</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Exp</em>' containment reference.
+ * @see #getExp()
+ * @generated
+ */
+ void setExp(PrimaryExpression value);
+
+} // UnaryExpression
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/UnqualifiedName.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/UnqualifiedName.java
new file mode 100644
index 00000000000..12b292b1930
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/UnqualifiedName.java
@@ -0,0 +1,82 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Unqualified Name</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.UnqualifiedName#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.UnqualifiedName#getTemplateBinding <em>Template Binding</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getUnqualifiedName()
+ * @model
+ * @generated
+ */
+public interface UnqualifiedName extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getUnqualifiedName_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.UnqualifiedName#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>Template Binding</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Template Binding</em>' containment 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>' containment reference.
+ * @see #setTemplateBinding(TemplateBinding)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getUnqualifiedName_TemplateBinding()
+ * @model containment="true"
+ * @generated
+ */
+ TemplateBinding getTemplateBinding();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.UnqualifiedName#getTemplateBinding <em>Template Binding</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Template Binding</em>' containment reference.
+ * @see #getTemplateBinding()
+ * @generated
+ */
+ void setTemplateBinding(TemplateBinding value);
+
+} // UnqualifiedName
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ValueSpecification.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ValueSpecification.java
new file mode 100644
index 00000000000..72e8369f878
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/ValueSpecification.java
@@ -0,0 +1,23 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Value Specification</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getValueSpecification()
+ * @model
+ * @generated
+ */
+public interface ValueSpecification extends EObject
+{
+} // ValueSpecification
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/VariableDeclarationCompletion.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/VariableDeclarationCompletion.java
new file mode 100644
index 00000000000..589df2b7970
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/VariableDeclarationCompletion.java
@@ -0,0 +1,109 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Variable Declaration Completion</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.VariableDeclarationCompletion#isMultiplicityIndicator <em>Multiplicity Indicator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.VariableDeclarationCompletion#getVariableName <em>Variable Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.VariableDeclarationCompletion#getInitValue <em>Init Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getVariableDeclarationCompletion()
+ * @model
+ * @generated
+ */
+public interface VariableDeclarationCompletion extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Multiplicity Indicator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Multiplicity Indicator</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Multiplicity Indicator</em>' attribute.
+ * @see #setMultiplicityIndicator(boolean)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getVariableDeclarationCompletion_MultiplicityIndicator()
+ * @model
+ * @generated
+ */
+ boolean isMultiplicityIndicator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.VariableDeclarationCompletion#isMultiplicityIndicator <em>Multiplicity Indicator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Multiplicity Indicator</em>' attribute.
+ * @see #isMultiplicityIndicator()
+ * @generated
+ */
+ void setMultiplicityIndicator(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Variable Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Variable Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Variable Name</em>' attribute.
+ * @see #setVariableName(String)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getVariableDeclarationCompletion_VariableName()
+ * @model
+ * @generated
+ */
+ String getVariableName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.VariableDeclarationCompletion#getVariableName <em>Variable Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Variable Name</em>' attribute.
+ * @see #getVariableName()
+ * @generated
+ */
+ void setVariableName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Init Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Init Value</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Init Value</em>' containment reference.
+ * @see #setInitValue(AssignmentCompletion)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getVariableDeclarationCompletion_InitValue()
+ * @model containment="true"
+ * @generated
+ */
+ AssignmentCompletion getInitValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.VariableDeclarationCompletion#getInitValue <em>Init Value</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Init Value</em>' containment reference.
+ * @see #getInitValue()
+ * @generated
+ */
+ void setInitValue(AssignmentCompletion value);
+
+} // VariableDeclarationCompletion
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/WhileStatement.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/WhileStatement.java
new file mode 100644
index 00000000000..42db7f53b95
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/WhileStatement.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>While Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.WhileStatement#getCondition <em>Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.WhileStatement#getBlock <em>Block</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getWhileStatement()
+ * @model
+ * @generated
+ */
+public interface WhileStatement extends Statement
+{
+ /**
+ * Returns the value of the '<em><b>Condition</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Condition</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Condition</em>' containment reference.
+ * @see #setCondition(Expression)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getWhileStatement_Condition()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getCondition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.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);
+
+ /**
+ * Returns the value of the '<em><b>Block</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Block</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Block</em>' containment reference.
+ * @see #setBlock(Block)
+ * @see org.eclipse.papyrus.alf.alf.AlfPackage#getWhileStatement_Block()
+ * @model containment="true"
+ * @generated
+ */
+ Block getBlock();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.alf.alf.WhileStatement#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);
+
+} // WhileStatement
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AcceptBlockImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AcceptBlockImpl.java
new file mode 100644
index 00000000000..0e659e36f89
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AcceptBlockImpl.java
@@ -0,0 +1,270 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AcceptBlock;
+import org.eclipse.papyrus.alf.alf.AcceptClause;
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Block;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Accept Block</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.AcceptBlockImpl#getClause <em>Clause</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.AcceptBlockImpl#getBlock <em>Block</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AcceptBlockImpl extends MinimalEObjectImpl.Container implements AcceptBlock
+{
+ /**
+ * The cached value of the '{@link #getClause() <em>Clause</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClause()
+ * @generated
+ * @ordered
+ */
+ protected AcceptClause clause;
+
+ /**
+ * The cached value of the '{@link #getBlock() <em>Block</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBlock()
+ * @generated
+ * @ordered
+ */
+ protected Block block;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AcceptBlockImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.ACCEPT_BLOCK;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AcceptClause getClause()
+ {
+ return clause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetClause(AcceptClause newClause, NotificationChain msgs)
+ {
+ AcceptClause oldClause = clause;
+ clause = newClause;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.ACCEPT_BLOCK__CLAUSE, oldClause, newClause);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClause(AcceptClause newClause)
+ {
+ if (newClause != clause)
+ {
+ NotificationChain msgs = null;
+ if (clause != null)
+ msgs = ((InternalEObject)clause).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ACCEPT_BLOCK__CLAUSE, null, msgs);
+ if (newClause != null)
+ msgs = ((InternalEObject)newClause).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ACCEPT_BLOCK__CLAUSE, null, msgs);
+ msgs = basicSetClause(newClause, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.ACCEPT_BLOCK__CLAUSE, newClause, newClause));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Block getBlock()
+ {
+ return block;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBlock(Block newBlock, NotificationChain msgs)
+ {
+ Block oldBlock = block;
+ block = newBlock;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.ACCEPT_BLOCK__BLOCK, oldBlock, newBlock);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBlock(Block newBlock)
+ {
+ if (newBlock != block)
+ {
+ NotificationChain msgs = null;
+ if (block != null)
+ msgs = ((InternalEObject)block).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ACCEPT_BLOCK__BLOCK, null, msgs);
+ if (newBlock != null)
+ msgs = ((InternalEObject)newBlock).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ACCEPT_BLOCK__BLOCK, null, msgs);
+ msgs = basicSetBlock(newBlock, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.ACCEPT_BLOCK__BLOCK, newBlock, newBlock));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCEPT_BLOCK__CLAUSE:
+ return basicSetClause(null, msgs);
+ case AlfPackage.ACCEPT_BLOCK__BLOCK:
+ return basicSetBlock(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCEPT_BLOCK__CLAUSE:
+ return getClause();
+ case AlfPackage.ACCEPT_BLOCK__BLOCK:
+ return getBlock();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCEPT_BLOCK__CLAUSE:
+ setClause((AcceptClause)newValue);
+ return;
+ case AlfPackage.ACCEPT_BLOCK__BLOCK:
+ setBlock((Block)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCEPT_BLOCK__CLAUSE:
+ setClause((AcceptClause)null);
+ return;
+ case AlfPackage.ACCEPT_BLOCK__BLOCK:
+ setBlock((Block)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCEPT_BLOCK__CLAUSE:
+ return clause != null;
+ case AlfPackage.ACCEPT_BLOCK__BLOCK:
+ return block != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //AcceptBlockImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AcceptClauseImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AcceptClauseImpl.java
new file mode 100644
index 00000000000..d23e16592a7
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AcceptClauseImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AcceptClause;
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.QualifiedNameList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Accept Clause</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.AcceptClauseImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.AcceptClauseImpl#getQualifiedNameList <em>Qualified Name List</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AcceptClauseImpl extends MinimalEObjectImpl.Container implements AcceptClause
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getQualifiedNameList() <em>Qualified Name List</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQualifiedNameList()
+ * @generated
+ * @ordered
+ */
+ protected QualifiedNameList qualifiedNameList;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AcceptClauseImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.ACCEPT_CLAUSE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.ACCEPT_CLAUSE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QualifiedNameList getQualifiedNameList()
+ {
+ return qualifiedNameList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetQualifiedNameList(QualifiedNameList newQualifiedNameList, NotificationChain msgs)
+ {
+ QualifiedNameList oldQualifiedNameList = qualifiedNameList;
+ qualifiedNameList = newQualifiedNameList;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.ACCEPT_CLAUSE__QUALIFIED_NAME_LIST, oldQualifiedNameList, newQualifiedNameList);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setQualifiedNameList(QualifiedNameList newQualifiedNameList)
+ {
+ if (newQualifiedNameList != qualifiedNameList)
+ {
+ NotificationChain msgs = null;
+ if (qualifiedNameList != null)
+ msgs = ((InternalEObject)qualifiedNameList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ACCEPT_CLAUSE__QUALIFIED_NAME_LIST, null, msgs);
+ if (newQualifiedNameList != null)
+ msgs = ((InternalEObject)newQualifiedNameList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ACCEPT_CLAUSE__QUALIFIED_NAME_LIST, null, msgs);
+ msgs = basicSetQualifiedNameList(newQualifiedNameList, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.ACCEPT_CLAUSE__QUALIFIED_NAME_LIST, newQualifiedNameList, newQualifiedNameList));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCEPT_CLAUSE__QUALIFIED_NAME_LIST:
+ return basicSetQualifiedNameList(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCEPT_CLAUSE__NAME:
+ return getName();
+ case AlfPackage.ACCEPT_CLAUSE__QUALIFIED_NAME_LIST:
+ return getQualifiedNameList();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCEPT_CLAUSE__NAME:
+ setName((String)newValue);
+ return;
+ case AlfPackage.ACCEPT_CLAUSE__QUALIFIED_NAME_LIST:
+ setQualifiedNameList((QualifiedNameList)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCEPT_CLAUSE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case AlfPackage.ACCEPT_CLAUSE__QUALIFIED_NAME_LIST:
+ setQualifiedNameList((QualifiedNameList)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCEPT_CLAUSE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case AlfPackage.ACCEPT_CLAUSE__QUALIFIED_NAME_LIST:
+ return qualifiedNameList != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AcceptClauseImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AcceptStatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AcceptStatementImpl.java
new file mode 100644
index 00000000000..491902cebd0
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AcceptStatementImpl.java
@@ -0,0 +1,341 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AcceptClause;
+import org.eclipse.papyrus.alf.alf.AcceptStatement;
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.CompoundAcceptStatementCompletion;
+import org.eclipse.papyrus.alf.alf.SimpleAcceptStatementCompletion;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Accept Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.AcceptStatementImpl#getClause <em>Clause</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.AcceptStatementImpl#getSimpleAccept <em>Simple Accept</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.AcceptStatementImpl#getCompoundAccept <em>Compound Accept</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AcceptStatementImpl extends StatementImpl implements AcceptStatement
+{
+ /**
+ * The cached value of the '{@link #getClause() <em>Clause</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClause()
+ * @generated
+ * @ordered
+ */
+ protected AcceptClause clause;
+
+ /**
+ * The cached value of the '{@link #getSimpleAccept() <em>Simple Accept</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSimpleAccept()
+ * @generated
+ * @ordered
+ */
+ protected SimpleAcceptStatementCompletion simpleAccept;
+
+ /**
+ * The cached value of the '{@link #getCompoundAccept() <em>Compound Accept</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCompoundAccept()
+ * @generated
+ * @ordered
+ */
+ protected CompoundAcceptStatementCompletion compoundAccept;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AcceptStatementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.ACCEPT_STATEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AcceptClause getClause()
+ {
+ return clause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetClause(AcceptClause newClause, NotificationChain msgs)
+ {
+ AcceptClause oldClause = clause;
+ clause = newClause;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.ACCEPT_STATEMENT__CLAUSE, oldClause, newClause);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClause(AcceptClause newClause)
+ {
+ if (newClause != clause)
+ {
+ NotificationChain msgs = null;
+ if (clause != null)
+ msgs = ((InternalEObject)clause).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ACCEPT_STATEMENT__CLAUSE, null, msgs);
+ if (newClause != null)
+ msgs = ((InternalEObject)newClause).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ACCEPT_STATEMENT__CLAUSE, null, msgs);
+ msgs = basicSetClause(newClause, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.ACCEPT_STATEMENT__CLAUSE, newClause, newClause));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SimpleAcceptStatementCompletion getSimpleAccept()
+ {
+ return simpleAccept;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSimpleAccept(SimpleAcceptStatementCompletion newSimpleAccept, NotificationChain msgs)
+ {
+ SimpleAcceptStatementCompletion oldSimpleAccept = simpleAccept;
+ simpleAccept = newSimpleAccept;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.ACCEPT_STATEMENT__SIMPLE_ACCEPT, oldSimpleAccept, newSimpleAccept);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSimpleAccept(SimpleAcceptStatementCompletion newSimpleAccept)
+ {
+ if (newSimpleAccept != simpleAccept)
+ {
+ NotificationChain msgs = null;
+ if (simpleAccept != null)
+ msgs = ((InternalEObject)simpleAccept).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ACCEPT_STATEMENT__SIMPLE_ACCEPT, null, msgs);
+ if (newSimpleAccept != null)
+ msgs = ((InternalEObject)newSimpleAccept).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ACCEPT_STATEMENT__SIMPLE_ACCEPT, null, msgs);
+ msgs = basicSetSimpleAccept(newSimpleAccept, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.ACCEPT_STATEMENT__SIMPLE_ACCEPT, newSimpleAccept, newSimpleAccept));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CompoundAcceptStatementCompletion getCompoundAccept()
+ {
+ return compoundAccept;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetCompoundAccept(CompoundAcceptStatementCompletion newCompoundAccept, NotificationChain msgs)
+ {
+ CompoundAcceptStatementCompletion oldCompoundAccept = compoundAccept;
+ compoundAccept = newCompoundAccept;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.ACCEPT_STATEMENT__COMPOUND_ACCEPT, oldCompoundAccept, newCompoundAccept);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCompoundAccept(CompoundAcceptStatementCompletion newCompoundAccept)
+ {
+ if (newCompoundAccept != compoundAccept)
+ {
+ NotificationChain msgs = null;
+ if (compoundAccept != null)
+ msgs = ((InternalEObject)compoundAccept).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ACCEPT_STATEMENT__COMPOUND_ACCEPT, null, msgs);
+ if (newCompoundAccept != null)
+ msgs = ((InternalEObject)newCompoundAccept).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ACCEPT_STATEMENT__COMPOUND_ACCEPT, null, msgs);
+ msgs = basicSetCompoundAccept(newCompoundAccept, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.ACCEPT_STATEMENT__COMPOUND_ACCEPT, newCompoundAccept, newCompoundAccept));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCEPT_STATEMENT__CLAUSE:
+ return basicSetClause(null, msgs);
+ case AlfPackage.ACCEPT_STATEMENT__SIMPLE_ACCEPT:
+ return basicSetSimpleAccept(null, msgs);
+ case AlfPackage.ACCEPT_STATEMENT__COMPOUND_ACCEPT:
+ return basicSetCompoundAccept(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCEPT_STATEMENT__CLAUSE:
+ return getClause();
+ case AlfPackage.ACCEPT_STATEMENT__SIMPLE_ACCEPT:
+ return getSimpleAccept();
+ case AlfPackage.ACCEPT_STATEMENT__COMPOUND_ACCEPT:
+ return getCompoundAccept();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCEPT_STATEMENT__CLAUSE:
+ setClause((AcceptClause)newValue);
+ return;
+ case AlfPackage.ACCEPT_STATEMENT__SIMPLE_ACCEPT:
+ setSimpleAccept((SimpleAcceptStatementCompletion)newValue);
+ return;
+ case AlfPackage.ACCEPT_STATEMENT__COMPOUND_ACCEPT:
+ setCompoundAccept((CompoundAcceptStatementCompletion)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCEPT_STATEMENT__CLAUSE:
+ setClause((AcceptClause)null);
+ return;
+ case AlfPackage.ACCEPT_STATEMENT__SIMPLE_ACCEPT:
+ setSimpleAccept((SimpleAcceptStatementCompletion)null);
+ return;
+ case AlfPackage.ACCEPT_STATEMENT__COMPOUND_ACCEPT:
+ setCompoundAccept((CompoundAcceptStatementCompletion)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCEPT_STATEMENT__CLAUSE:
+ return clause != null;
+ case AlfPackage.ACCEPT_STATEMENT__SIMPLE_ACCEPT:
+ return simpleAccept != null;
+ case AlfPackage.ACCEPT_STATEMENT__COMPOUND_ACCEPT:
+ return compoundAccept != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //AcceptStatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AccessCompletionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AccessCompletionImpl.java
new file mode 100644
index 00000000000..3cb2e1095ef
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AccessCompletionImpl.java
@@ -0,0 +1,198 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AccessCompletion;
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Expression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Access Completion</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.AccessCompletionImpl#getAccessIndex <em>Access Index</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AccessCompletionImpl extends MinimalEObjectImpl.Container implements AccessCompletion
+{
+ /**
+ * The cached value of the '{@link #getAccessIndex() <em>Access Index</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccessIndex()
+ * @generated
+ * @ordered
+ */
+ protected Expression accessIndex;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AccessCompletionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.ACCESS_COMPLETION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getAccessIndex()
+ {
+ return accessIndex;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetAccessIndex(Expression newAccessIndex, NotificationChain msgs)
+ {
+ Expression oldAccessIndex = accessIndex;
+ accessIndex = newAccessIndex;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.ACCESS_COMPLETION__ACCESS_INDEX, oldAccessIndex, newAccessIndex);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAccessIndex(Expression newAccessIndex)
+ {
+ if (newAccessIndex != accessIndex)
+ {
+ NotificationChain msgs = null;
+ if (accessIndex != null)
+ msgs = ((InternalEObject)accessIndex).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ACCESS_COMPLETION__ACCESS_INDEX, null, msgs);
+ if (newAccessIndex != null)
+ msgs = ((InternalEObject)newAccessIndex).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ACCESS_COMPLETION__ACCESS_INDEX, null, msgs);
+ msgs = basicSetAccessIndex(newAccessIndex, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.ACCESS_COMPLETION__ACCESS_INDEX, newAccessIndex, newAccessIndex));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCESS_COMPLETION__ACCESS_INDEX:
+ return basicSetAccessIndex(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCESS_COMPLETION__ACCESS_INDEX:
+ return getAccessIndex();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCESS_COMPLETION__ACCESS_INDEX:
+ setAccessIndex((Expression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCESS_COMPLETION__ACCESS_INDEX:
+ setAccessIndex((Expression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ACCESS_COMPLETION__ACCESS_INDEX:
+ return accessIndex != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //AccessCompletionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AdditiveExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AdditiveExpressionImpl.java
new file mode 100644
index 00000000000..eb2c06fa4f4
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AdditiveExpressionImpl.java
@@ -0,0 +1,225 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AdditiveExpression;
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.MultiplicativeExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Additive Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.AdditiveExpressionImpl#getExp <em>Exp</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.AdditiveExpressionImpl#getOp <em>Op</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AdditiveExpressionImpl extends MinimalEObjectImpl.Container implements AdditiveExpression
+{
+ /**
+ * The cached value of the '{@link #getExp() <em>Exp</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExp()
+ * @generated
+ * @ordered
+ */
+ protected EList<MultiplicativeExpression> exp;
+
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> op;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AdditiveExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.ADDITIVE_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MultiplicativeExpression> getExp()
+ {
+ if (exp == null)
+ {
+ exp = new EObjectContainmentEList<MultiplicativeExpression>(MultiplicativeExpression.class, this, AlfPackage.ADDITIVE_EXPRESSION__EXP);
+ }
+ return exp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getOp()
+ {
+ if (op == null)
+ {
+ op = new EDataTypeEList<String>(String.class, this, AlfPackage.ADDITIVE_EXPRESSION__OP);
+ }
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ADDITIVE_EXPRESSION__EXP:
+ return ((InternalEList<?>)getExp()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ADDITIVE_EXPRESSION__EXP:
+ return getExp();
+ case AlfPackage.ADDITIVE_EXPRESSION__OP:
+ return getOp();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ADDITIVE_EXPRESSION__EXP:
+ getExp().clear();
+ getExp().addAll((Collection<? extends MultiplicativeExpression>)newValue);
+ return;
+ case AlfPackage.ADDITIVE_EXPRESSION__OP:
+ getOp().clear();
+ getOp().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ADDITIVE_EXPRESSION__EXP:
+ getExp().clear();
+ return;
+ case AlfPackage.ADDITIVE_EXPRESSION__OP:
+ getOp().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ADDITIVE_EXPRESSION__EXP:
+ return exp != null && !exp.isEmpty();
+ case AlfPackage.ADDITIVE_EXPRESSION__OP:
+ return op != null && !op.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (op: ");
+ result.append(op);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AdditiveExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AlfFactoryImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AlfFactoryImpl.java
new file mode 100644
index 00000000000..636115dcae6
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AlfFactoryImpl.java
@@ -0,0 +1,1535 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+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.alf.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("http://www.eclipse.org/papyrus/alf/Alf");
+ 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.TEST: return createTest();
+ case AlfPackage.LITERAL: return createLITERAL();
+ case AlfPackage.BOOLEAN_LITERAL: return createBOOLEAN_LITERAL();
+ case AlfPackage.NUMBER_LITERAL: return createNUMBER_LITERAL();
+ case AlfPackage.INTEGER_LITERAL: return createINTEGER_LITERAL();
+ case AlfPackage.UNLIMITED_LITERAL: return createUNLIMITED_LITERAL();
+ case AlfPackage.STRING_LITERAL: return createSTRING_LITERAL();
+ case AlfPackage.NAME_EXPRESSION: return createNameExpression();
+ case AlfPackage.QUALIFIED_NAME_PATH: return createQualifiedNamePath();
+ case AlfPackage.UNQUALIFIED_NAME: return createUnqualifiedName();
+ case AlfPackage.TEMPLATE_BINDING: return createTemplateBinding();
+ case AlfPackage.NAMED_TEMPLATE_BINDING: return createNamedTemplateBinding();
+ case AlfPackage.QUALIFIED_NAME_WITH_BINDING: return createQualifiedNameWithBinding();
+ case AlfPackage.TUPLE: return createTuple();
+ case AlfPackage.TUPLE_ELEMENT: return createTupleElement();
+ case AlfPackage.EXPRESSION: return createExpression();
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION: return createConditionalTestExpression();
+ case AlfPackage.CONDITIONAL_OR_EXPRESSION: return createConditionalOrExpression();
+ case AlfPackage.CONDITIONAL_AND_EXPRESSION: return createConditionalAndExpression();
+ case AlfPackage.INCLUSIVE_OR_EXPRESSION: return createInclusiveOrExpression();
+ case AlfPackage.EXCLUSIVE_OR_EXPRESSION: return createExclusiveOrExpression();
+ case AlfPackage.AND_EXPRESSION: return createAndExpression();
+ case AlfPackage.EQUALITY_EXPRESSION: return createEqualityExpression();
+ case AlfPackage.CLASSIFICATION_EXPRESSION: return createClassificationExpression();
+ case AlfPackage.RELATIONAL_EXPRESSION: return createRelationalExpression();
+ case AlfPackage.SHIFT_EXPRESSION: return createShiftExpression();
+ case AlfPackage.ADDITIVE_EXPRESSION: return createAdditiveExpression();
+ case AlfPackage.MULTIPLICATIVE_EXPRESSION: return createMultiplicativeExpression();
+ case AlfPackage.UNARY_EXPRESSION: return createUnaryExpression();
+ case AlfPackage.PRIMARY_EXPRESSION: return createPrimaryExpression();
+ case AlfPackage.SUFFIX_EXPRESSION: return createSuffixExpression();
+ case AlfPackage.OPERATION_CALL_EXPRESSION: return createOperationCallExpression();
+ case AlfPackage.PROPERTY_CALL_EXPRESSION: return createPropertyCallExpression();
+ case AlfPackage.LINK_OPERATION_EXPRESSION: return createLinkOperationExpression();
+ case AlfPackage.LINK_OPERATION_TUPLE: return createLinkOperationTuple();
+ case AlfPackage.LINK_OPERATION_TUPLE_ELEMENT: return createLinkOperationTupleElement();
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION: return createSequenceOperationExpression();
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION: return createSequenceReductionExpression();
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION: return createSequenceExpansionExpression();
+ case AlfPackage.SELECT_OR_REJECT_OPERATION: return createSelectOrRejectOperation();
+ case AlfPackage.COLLECT_OR_ITERATE_OPERATION: return createCollectOrIterateOperation();
+ case AlfPackage.FOR_ALL_OR_EXISTS_OR_ONE_OPERATION: return createForAllOrExistsOrOneOperation();
+ case AlfPackage.IS_UNIQUE_OPERATION: return createIsUniqueOperation();
+ case AlfPackage.VALUE_SPECIFICATION: return createValueSpecification();
+ case AlfPackage.NON_LITERAL_VALUE_SPECIFICATION: return createNonLiteralValueSpecification();
+ case AlfPackage.PARENTHESIZED_EXPRESSION: return createParenthesizedExpression();
+ case AlfPackage.NULL_EXPRESSION: return createNullExpression();
+ case AlfPackage.THIS_EXPRESSION: return createThisExpression();
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION: return createSuperInvocationExpression();
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION: return createInstanceCreationExpression();
+ case AlfPackage.INSTANCE_CREATION_TUPLE: return createInstanceCreationTuple();
+ case AlfPackage.INSTANCE_CREATION_TUPLE_ELEMENT: return createInstanceCreationTupleElement();
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION: return createSequenceConstructionOrAccessCompletion();
+ case AlfPackage.ACCESS_COMPLETION: return createAccessCompletion();
+ case AlfPackage.PARTIAL_SEQUENCE_CONSTRUCTION_COMPLETION: return createPartialSequenceConstructionCompletion();
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION: return createSequenceConstructionExpression();
+ case AlfPackage.SEQUENCE_ELEMENT: return createSequenceElement();
+ case AlfPackage.CLASS_EXTENT_EXPRESSION: return createClassExtentExpression();
+ case AlfPackage.BLOCK: return createBlock();
+ case AlfPackage.STATEMENT_SEQUENCE: return createStatementSequence();
+ case AlfPackage.DOCUMENTED_STATEMENT: return createDocumentedStatement();
+ case AlfPackage.INLINE_STATEMENT: return createInlineStatement();
+ case AlfPackage.ANNOTATED_STATEMENT: return createAnnotatedStatement();
+ case AlfPackage.STATEMENT: return createStatement();
+ case AlfPackage.ANNOTATION: return createAnnotation();
+ case AlfPackage.BLOCK_STATEMENT: return createBlockStatement();
+ case AlfPackage.EMPTY_STATEMENT: return createEmptyStatement();
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT: return createLocalNameDeclarationStatement();
+ case AlfPackage.IF_STATEMENT: return createIfStatement();
+ case AlfPackage.SEQUENTIAL_CLAUSES: return createSequentialClauses();
+ case AlfPackage.CONCURRENT_CLAUSES: return createConcurrentClauses();
+ case AlfPackage.NON_FINAL_CLAUSE: return createNonFinalClause();
+ case AlfPackage.FINAL_CLAUSE: return createFinalClause();
+ case AlfPackage.SWITCH_STATEMENT: return createSwitchStatement();
+ case AlfPackage.SWITCH_CLAUSE: return createSwitchClause();
+ case AlfPackage.SWITCH_CASE: return createSwitchCase();
+ case AlfPackage.SWITCH_DEFAULT_CLAUSE: return createSwitchDefaultClause();
+ case AlfPackage.NON_EMPTY_STATEMENT_SEQUENCE: return createNonEmptyStatementSequence();
+ case AlfPackage.WHILE_STATEMENT: return createWhileStatement();
+ case AlfPackage.DO_STATEMENT: return createDoStatement();
+ case AlfPackage.FOR_STATEMENT: return createForStatement();
+ case AlfPackage.FOR_CONTROL: return createForControl();
+ case AlfPackage.LOOP_VARIABLE_DEFINITION: return createLoopVariableDefinition();
+ case AlfPackage.BREAK_STATEMENT: return createBreakStatement();
+ case AlfPackage.RETURN_STATEMENT: return createReturnStatement();
+ case AlfPackage.ACCEPT_STATEMENT: return createAcceptStatement();
+ case AlfPackage.SIMPLE_ACCEPT_STATEMENT_COMPLETION: return createSimpleAcceptStatementCompletion();
+ case AlfPackage.COMPOUND_ACCEPT_STATEMENT_COMPLETION: return createCompoundAcceptStatementCompletion();
+ case AlfPackage.ACCEPT_BLOCK: return createAcceptBlock();
+ case AlfPackage.ACCEPT_CLAUSE: return createAcceptClause();
+ case AlfPackage.CLASSIFY_STATEMENT: return createClassifyStatement();
+ case AlfPackage.CLASSIFICATION_CLAUSE: return createClassificationClause();
+ case AlfPackage.CLASSIFICATION_FROM_CLAUSE: return createClassificationFromClause();
+ case AlfPackage.CLASSIFICATION_TO_CLAUSE: return createClassificationToClause();
+ case AlfPackage.RECLASSIFY_ALL_CLAUSE: return createReclassifyAllClause();
+ case AlfPackage.QUALIFIED_NAME_LIST: return createQualifiedNameList();
+ case AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT: return createInvocationOrAssignementOrDeclarationStatement();
+ case AlfPackage.SUPER_INVOCATION_STATEMENT: return createSuperInvocationStatement();
+ case AlfPackage.THIS_INVOCATION_STATEMENT: return createThisInvocationStatement();
+ case AlfPackage.INSTANCE_CREATION_INVOCATION_STATEMENT: return createInstanceCreationInvocationStatement();
+ case AlfPackage.VARIABLE_DECLARATION_COMPLETION: return createVariableDeclarationCompletion();
+ case AlfPackage.ASSIGNMENT_COMPLETION: return createAssignmentCompletion();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+ case AlfPackage.BOOLEAN_VALUE:
+ return createBooleanValueFromString(eDataType, initialValue);
+ case AlfPackage.LINK_OPERATION_KIND:
+ return createLinkOperationKindFromString(eDataType, initialValue);
+ case AlfPackage.SELECT_OR_REJECT_OPERATOR:
+ return createSelectOrRejectOperatorFromString(eDataType, initialValue);
+ case AlfPackage.COLLECT_OR_ITERATE_OPERATOR:
+ return createCollectOrIterateOperatorFromString(eDataType, initialValue);
+ case AlfPackage.FOR_ALL_OR_EXISTS_OR_ONE_OPERATOR:
+ return createForAllOrExistsOrOneOperatorFromString(eDataType, initialValue);
+ case AlfPackage.ANNOTATION_KIND:
+ return createAnnotationKindFromString(eDataType, initialValue);
+ case AlfPackage.ASSIGNMENT_OPERATOR:
+ return createAssignmentOperatorFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+ case AlfPackage.BOOLEAN_VALUE:
+ return convertBooleanValueToString(eDataType, instanceValue);
+ case AlfPackage.LINK_OPERATION_KIND:
+ return convertLinkOperationKindToString(eDataType, instanceValue);
+ case AlfPackage.SELECT_OR_REJECT_OPERATOR:
+ return convertSelectOrRejectOperatorToString(eDataType, instanceValue);
+ case AlfPackage.COLLECT_OR_ITERATE_OPERATOR:
+ return convertCollectOrIterateOperatorToString(eDataType, instanceValue);
+ case AlfPackage.FOR_ALL_OR_EXISTS_OR_ONE_OPERATOR:
+ return convertForAllOrExistsOrOneOperatorToString(eDataType, instanceValue);
+ case AlfPackage.ANNOTATION_KIND:
+ return convertAnnotationKindToString(eDataType, instanceValue);
+ case AlfPackage.ASSIGNMENT_OPERATOR:
+ return convertAssignmentOperatorToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Test createTest()
+ {
+ TestImpl test = new TestImpl();
+ return test;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LITERAL createLITERAL()
+ {
+ LITERALImpl literal = new LITERALImpl();
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BOOLEAN_LITERAL createBOOLEAN_LITERAL()
+ {
+ BOOLEAN_LITERALImpl booleaN_LITERAL = new BOOLEAN_LITERALImpl();
+ return booleaN_LITERAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NUMBER_LITERAL createNUMBER_LITERAL()
+ {
+ NUMBER_LITERALImpl numbeR_LITERAL = new NUMBER_LITERALImpl();
+ return numbeR_LITERAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public INTEGER_LITERAL createINTEGER_LITERAL()
+ {
+ INTEGER_LITERALImpl integeR_LITERAL = new INTEGER_LITERALImpl();
+ return integeR_LITERAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UNLIMITED_LITERAL createUNLIMITED_LITERAL()
+ {
+ UNLIMITED_LITERALImpl unlimiteD_LITERAL = new UNLIMITED_LITERALImpl();
+ return unlimiteD_LITERAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public STRING_LITERAL createSTRING_LITERAL()
+ {
+ STRING_LITERALImpl strinG_LITERAL = new STRING_LITERALImpl();
+ return strinG_LITERAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NameExpression createNameExpression()
+ {
+ NameExpressionImpl nameExpression = new NameExpressionImpl();
+ return nameExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QualifiedNamePath createQualifiedNamePath()
+ {
+ QualifiedNamePathImpl qualifiedNamePath = new QualifiedNamePathImpl();
+ return qualifiedNamePath;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnqualifiedName createUnqualifiedName()
+ {
+ UnqualifiedNameImpl unqualifiedName = new UnqualifiedNameImpl();
+ return unqualifiedName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding createTemplateBinding()
+ {
+ TemplateBindingImpl templateBinding = new TemplateBindingImpl();
+ return templateBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedTemplateBinding createNamedTemplateBinding()
+ {
+ NamedTemplateBindingImpl namedTemplateBinding = new NamedTemplateBindingImpl();
+ return namedTemplateBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QualifiedNameWithBinding createQualifiedNameWithBinding()
+ {
+ QualifiedNameWithBindingImpl qualifiedNameWithBinding = new QualifiedNameWithBindingImpl();
+ return qualifiedNameWithBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Tuple createTuple()
+ {
+ TupleImpl tuple = new TupleImpl();
+ return tuple;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TupleElement createTupleElement()
+ {
+ TupleElementImpl tupleElement = new TupleElementImpl();
+ return tupleElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression createExpression()
+ {
+ ExpressionImpl expression = new ExpressionImpl();
+ return expression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConditionalTestExpression createConditionalTestExpression()
+ {
+ ConditionalTestExpressionImpl conditionalTestExpression = new ConditionalTestExpressionImpl();
+ return conditionalTestExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConditionalOrExpression createConditionalOrExpression()
+ {
+ ConditionalOrExpressionImpl conditionalOrExpression = new ConditionalOrExpressionImpl();
+ return conditionalOrExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConditionalAndExpression createConditionalAndExpression()
+ {
+ ConditionalAndExpressionImpl conditionalAndExpression = new ConditionalAndExpressionImpl();
+ return conditionalAndExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InclusiveOrExpression createInclusiveOrExpression()
+ {
+ InclusiveOrExpressionImpl inclusiveOrExpression = new InclusiveOrExpressionImpl();
+ return inclusiveOrExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExclusiveOrExpression createExclusiveOrExpression()
+ {
+ ExclusiveOrExpressionImpl exclusiveOrExpression = new ExclusiveOrExpressionImpl();
+ return exclusiveOrExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AndExpression createAndExpression()
+ {
+ AndExpressionImpl andExpression = new AndExpressionImpl();
+ return andExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EqualityExpression createEqualityExpression()
+ {
+ EqualityExpressionImpl equalityExpression = new EqualityExpressionImpl();
+ return equalityExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClassificationExpression createClassificationExpression()
+ {
+ ClassificationExpressionImpl classificationExpression = new ClassificationExpressionImpl();
+ return classificationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RelationalExpression createRelationalExpression()
+ {
+ RelationalExpressionImpl relationalExpression = new RelationalExpressionImpl();
+ return relationalExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ShiftExpression createShiftExpression()
+ {
+ ShiftExpressionImpl shiftExpression = new ShiftExpressionImpl();
+ return shiftExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AdditiveExpression createAdditiveExpression()
+ {
+ AdditiveExpressionImpl additiveExpression = new AdditiveExpressionImpl();
+ return additiveExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MultiplicativeExpression createMultiplicativeExpression()
+ {
+ MultiplicativeExpressionImpl multiplicativeExpression = new MultiplicativeExpressionImpl();
+ return multiplicativeExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnaryExpression createUnaryExpression()
+ {
+ UnaryExpressionImpl unaryExpression = new UnaryExpressionImpl();
+ return unaryExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PrimaryExpression createPrimaryExpression()
+ {
+ PrimaryExpressionImpl primaryExpression = new PrimaryExpressionImpl();
+ return primaryExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SuffixExpression createSuffixExpression()
+ {
+ SuffixExpressionImpl suffixExpression = new SuffixExpressionImpl();
+ return suffixExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperationCallExpression createOperationCallExpression()
+ {
+ OperationCallExpressionImpl operationCallExpression = new OperationCallExpressionImpl();
+ return operationCallExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PropertyCallExpression createPropertyCallExpression()
+ {
+ PropertyCallExpressionImpl propertyCallExpression = new PropertyCallExpressionImpl();
+ return propertyCallExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkOperationExpression createLinkOperationExpression()
+ {
+ LinkOperationExpressionImpl linkOperationExpression = new LinkOperationExpressionImpl();
+ return linkOperationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkOperationTuple createLinkOperationTuple()
+ {
+ LinkOperationTupleImpl linkOperationTuple = new LinkOperationTupleImpl();
+ return linkOperationTuple;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkOperationTupleElement createLinkOperationTupleElement()
+ {
+ LinkOperationTupleElementImpl linkOperationTupleElement = new LinkOperationTupleElementImpl();
+ return linkOperationTupleElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceOperationExpression createSequenceOperationExpression()
+ {
+ SequenceOperationExpressionImpl sequenceOperationExpression = new SequenceOperationExpressionImpl();
+ return sequenceOperationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceReductionExpression createSequenceReductionExpression()
+ {
+ SequenceReductionExpressionImpl sequenceReductionExpression = new SequenceReductionExpressionImpl();
+ return sequenceReductionExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceExpansionExpression createSequenceExpansionExpression()
+ {
+ SequenceExpansionExpressionImpl sequenceExpansionExpression = new SequenceExpansionExpressionImpl();
+ return sequenceExpansionExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SelectOrRejectOperation createSelectOrRejectOperation()
+ {
+ SelectOrRejectOperationImpl selectOrRejectOperation = new SelectOrRejectOperationImpl();
+ return selectOrRejectOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollectOrIterateOperation createCollectOrIterateOperation()
+ {
+ CollectOrIterateOperationImpl collectOrIterateOperation = new CollectOrIterateOperationImpl();
+ return collectOrIterateOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ForAllOrExistsOrOneOperation createForAllOrExistsOrOneOperation()
+ {
+ ForAllOrExistsOrOneOperationImpl forAllOrExistsOrOneOperation = new ForAllOrExistsOrOneOperationImpl();
+ return forAllOrExistsOrOneOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IsUniqueOperation createIsUniqueOperation()
+ {
+ IsUniqueOperationImpl isUniqueOperation = new IsUniqueOperationImpl();
+ return isUniqueOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification createValueSpecification()
+ {
+ ValueSpecificationImpl valueSpecification = new ValueSpecificationImpl();
+ return valueSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NonLiteralValueSpecification createNonLiteralValueSpecification()
+ {
+ NonLiteralValueSpecificationImpl nonLiteralValueSpecification = new NonLiteralValueSpecificationImpl();
+ return nonLiteralValueSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParenthesizedExpression createParenthesizedExpression()
+ {
+ ParenthesizedExpressionImpl parenthesizedExpression = new ParenthesizedExpressionImpl();
+ return parenthesizedExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NullExpression createNullExpression()
+ {
+ NullExpressionImpl nullExpression = new NullExpressionImpl();
+ return nullExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ThisExpression createThisExpression()
+ {
+ ThisExpressionImpl thisExpression = new ThisExpressionImpl();
+ return thisExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SuperInvocationExpression createSuperInvocationExpression()
+ {
+ SuperInvocationExpressionImpl superInvocationExpression = new SuperInvocationExpressionImpl();
+ return superInvocationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstanceCreationExpression createInstanceCreationExpression()
+ {
+ InstanceCreationExpressionImpl instanceCreationExpression = new InstanceCreationExpressionImpl();
+ return instanceCreationExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstanceCreationTuple createInstanceCreationTuple()
+ {
+ InstanceCreationTupleImpl instanceCreationTuple = new InstanceCreationTupleImpl();
+ return instanceCreationTuple;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstanceCreationTupleElement createInstanceCreationTupleElement()
+ {
+ InstanceCreationTupleElementImpl instanceCreationTupleElement = new InstanceCreationTupleElementImpl();
+ return instanceCreationTupleElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceConstructionOrAccessCompletion createSequenceConstructionOrAccessCompletion()
+ {
+ SequenceConstructionOrAccessCompletionImpl sequenceConstructionOrAccessCompletion = new SequenceConstructionOrAccessCompletionImpl();
+ return sequenceConstructionOrAccessCompletion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AccessCompletion createAccessCompletion()
+ {
+ AccessCompletionImpl accessCompletion = new AccessCompletionImpl();
+ return accessCompletion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PartialSequenceConstructionCompletion createPartialSequenceConstructionCompletion()
+ {
+ PartialSequenceConstructionCompletionImpl partialSequenceConstructionCompletion = new PartialSequenceConstructionCompletionImpl();
+ return partialSequenceConstructionCompletion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceConstructionExpression createSequenceConstructionExpression()
+ {
+ SequenceConstructionExpressionImpl sequenceConstructionExpression = new SequenceConstructionExpressionImpl();
+ return sequenceConstructionExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceElement createSequenceElement()
+ {
+ SequenceElementImpl sequenceElement = new SequenceElementImpl();
+ return sequenceElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClassExtentExpression createClassExtentExpression()
+ {
+ ClassExtentExpressionImpl classExtentExpression = new ClassExtentExpressionImpl();
+ return classExtentExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Block createBlock()
+ {
+ BlockImpl block = new BlockImpl();
+ return block;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StatementSequence createStatementSequence()
+ {
+ StatementSequenceImpl statementSequence = new StatementSequenceImpl();
+ return statementSequence;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DocumentedStatement createDocumentedStatement()
+ {
+ DocumentedStatementImpl documentedStatement = new DocumentedStatementImpl();
+ return documentedStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InlineStatement createInlineStatement()
+ {
+ InlineStatementImpl inlineStatement = new InlineStatementImpl();
+ return inlineStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AnnotatedStatement createAnnotatedStatement()
+ {
+ AnnotatedStatementImpl annotatedStatement = new AnnotatedStatementImpl();
+ return annotatedStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Statement createStatement()
+ {
+ StatementImpl statement = new StatementImpl();
+ return statement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Annotation createAnnotation()
+ {
+ AnnotationImpl annotation = new AnnotationImpl();
+ return annotation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BlockStatement createBlockStatement()
+ {
+ BlockStatementImpl blockStatement = new BlockStatementImpl();
+ return blockStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EmptyStatement createEmptyStatement()
+ {
+ EmptyStatementImpl emptyStatement = new EmptyStatementImpl();
+ return emptyStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LocalNameDeclarationStatement createLocalNameDeclarationStatement()
+ {
+ LocalNameDeclarationStatementImpl localNameDeclarationStatement = new LocalNameDeclarationStatementImpl();
+ return localNameDeclarationStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IfStatement createIfStatement()
+ {
+ IfStatementImpl ifStatement = new IfStatementImpl();
+ return ifStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequentialClauses createSequentialClauses()
+ {
+ SequentialClausesImpl sequentialClauses = new SequentialClausesImpl();
+ return sequentialClauses;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConcurrentClauses createConcurrentClauses()
+ {
+ ConcurrentClausesImpl concurrentClauses = new ConcurrentClausesImpl();
+ return concurrentClauses;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NonFinalClause createNonFinalClause()
+ {
+ NonFinalClauseImpl nonFinalClause = new NonFinalClauseImpl();
+ return nonFinalClause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FinalClause createFinalClause()
+ {
+ FinalClauseImpl finalClause = new FinalClauseImpl();
+ return finalClause;
+ }
+
+ /**
+ * <!-- 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 SwitchCase createSwitchCase()
+ {
+ SwitchCaseImpl switchCase = new SwitchCaseImpl();
+ return switchCase;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SwitchDefaultClause createSwitchDefaultClause()
+ {
+ SwitchDefaultClauseImpl switchDefaultClause = new SwitchDefaultClauseImpl();
+ return switchDefaultClause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NonEmptyStatementSequence createNonEmptyStatementSequence()
+ {
+ NonEmptyStatementSequenceImpl nonEmptyStatementSequence = new NonEmptyStatementSequenceImpl();
+ return nonEmptyStatementSequence;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public WhileStatement createWhileStatement()
+ {
+ WhileStatementImpl whileStatement = new WhileStatementImpl();
+ return whileStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DoStatement createDoStatement()
+ {
+ DoStatementImpl doStatement = new DoStatementImpl();
+ return doStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ForStatement createForStatement()
+ {
+ ForStatementImpl forStatement = new ForStatementImpl();
+ return forStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ForControl createForControl()
+ {
+ ForControlImpl forControl = new ForControlImpl();
+ return forControl;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LoopVariableDefinition createLoopVariableDefinition()
+ {
+ LoopVariableDefinitionImpl loopVariableDefinition = new LoopVariableDefinitionImpl();
+ return loopVariableDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BreakStatement createBreakStatement()
+ {
+ BreakStatementImpl breakStatement = new BreakStatementImpl();
+ return breakStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReturnStatement createReturnStatement()
+ {
+ ReturnStatementImpl returnStatement = new ReturnStatementImpl();
+ return returnStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AcceptStatement createAcceptStatement()
+ {
+ AcceptStatementImpl acceptStatement = new AcceptStatementImpl();
+ return acceptStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SimpleAcceptStatementCompletion createSimpleAcceptStatementCompletion()
+ {
+ SimpleAcceptStatementCompletionImpl simpleAcceptStatementCompletion = new SimpleAcceptStatementCompletionImpl();
+ return simpleAcceptStatementCompletion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CompoundAcceptStatementCompletion createCompoundAcceptStatementCompletion()
+ {
+ CompoundAcceptStatementCompletionImpl compoundAcceptStatementCompletion = new CompoundAcceptStatementCompletionImpl();
+ return compoundAcceptStatementCompletion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AcceptBlock createAcceptBlock()
+ {
+ AcceptBlockImpl acceptBlock = new AcceptBlockImpl();
+ return acceptBlock;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AcceptClause createAcceptClause()
+ {
+ AcceptClauseImpl acceptClause = new AcceptClauseImpl();
+ return acceptClause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClassifyStatement createClassifyStatement()
+ {
+ ClassifyStatementImpl classifyStatement = new ClassifyStatementImpl();
+ return classifyStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClassificationClause createClassificationClause()
+ {
+ ClassificationClauseImpl classificationClause = new ClassificationClauseImpl();
+ return classificationClause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClassificationFromClause createClassificationFromClause()
+ {
+ ClassificationFromClauseImpl classificationFromClause = new ClassificationFromClauseImpl();
+ return classificationFromClause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClassificationToClause createClassificationToClause()
+ {
+ ClassificationToClauseImpl classificationToClause = new ClassificationToClauseImpl();
+ return classificationToClause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReclassifyAllClause createReclassifyAllClause()
+ {
+ ReclassifyAllClauseImpl reclassifyAllClause = new ReclassifyAllClauseImpl();
+ return reclassifyAllClause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QualifiedNameList createQualifiedNameList()
+ {
+ QualifiedNameListImpl qualifiedNameList = new QualifiedNameListImpl();
+ return qualifiedNameList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvocationOrAssignementOrDeclarationStatement createInvocationOrAssignementOrDeclarationStatement()
+ {
+ InvocationOrAssignementOrDeclarationStatementImpl invocationOrAssignementOrDeclarationStatement = new InvocationOrAssignementOrDeclarationStatementImpl();
+ return invocationOrAssignementOrDeclarationStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SuperInvocationStatement createSuperInvocationStatement()
+ {
+ SuperInvocationStatementImpl superInvocationStatement = new SuperInvocationStatementImpl();
+ return superInvocationStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ThisInvocationStatement createThisInvocationStatement()
+ {
+ ThisInvocationStatementImpl thisInvocationStatement = new ThisInvocationStatementImpl();
+ return thisInvocationStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstanceCreationInvocationStatement createInstanceCreationInvocationStatement()
+ {
+ InstanceCreationInvocationStatementImpl instanceCreationInvocationStatement = new InstanceCreationInvocationStatementImpl();
+ return instanceCreationInvocationStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VariableDeclarationCompletion createVariableDeclarationCompletion()
+ {
+ VariableDeclarationCompletionImpl variableDeclarationCompletion = new VariableDeclarationCompletionImpl();
+ return variableDeclarationCompletion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AssignmentCompletion createAssignmentCompletion()
+ {
+ AssignmentCompletionImpl assignmentCompletion = new AssignmentCompletionImpl();
+ return assignmentCompletion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BooleanValue createBooleanValueFromString(EDataType eDataType, String initialValue)
+ {
+ BooleanValue result = BooleanValue.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertBooleanValueToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkOperationKind createLinkOperationKindFromString(EDataType eDataType, String initialValue)
+ {
+ LinkOperationKind result = LinkOperationKind.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertLinkOperationKindToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SelectOrRejectOperator createSelectOrRejectOperatorFromString(EDataType eDataType, String initialValue)
+ {
+ SelectOrRejectOperator result = SelectOrRejectOperator.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertSelectOrRejectOperatorToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollectOrIterateOperator createCollectOrIterateOperatorFromString(EDataType eDataType, String initialValue)
+ {
+ CollectOrIterateOperator result = CollectOrIterateOperator.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertCollectOrIterateOperatorToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ForAllOrExistsOrOneOperator createForAllOrExistsOrOneOperatorFromString(EDataType eDataType, String initialValue)
+ {
+ ForAllOrExistsOrOneOperator result = ForAllOrExistsOrOneOperator.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertForAllOrExistsOrOneOperatorToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AnnotationKind createAnnotationKindFromString(EDataType eDataType, String initialValue)
+ {
+ AnnotationKind result = AnnotationKind.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertAnnotationKindToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AssignmentOperator createAssignmentOperatorFromString(EDataType eDataType, String initialValue)
+ {
+ AssignmentOperator result = AssignmentOperator.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertAssignmentOperatorToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- 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/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AlfPackageImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AlfPackageImpl.java
new file mode 100644
index 00000000000..08d8d9c820a
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AlfPackageImpl.java
@@ -0,0 +1,4614 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.alf.alf.AcceptBlock;
+import org.eclipse.papyrus.alf.alf.AcceptClause;
+import org.eclipse.papyrus.alf.alf.AcceptStatement;
+import org.eclipse.papyrus.alf.alf.AccessCompletion;
+import org.eclipse.papyrus.alf.alf.AdditiveExpression;
+import org.eclipse.papyrus.alf.alf.AlfFactory;
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.AndExpression;
+import org.eclipse.papyrus.alf.alf.AnnotatedStatement;
+import org.eclipse.papyrus.alf.alf.Annotation;
+import org.eclipse.papyrus.alf.alf.AnnotationKind;
+import org.eclipse.papyrus.alf.alf.AssignmentCompletion;
+import org.eclipse.papyrus.alf.alf.AssignmentOperator;
+import org.eclipse.papyrus.alf.alf.Block;
+import org.eclipse.papyrus.alf.alf.BlockStatement;
+import org.eclipse.papyrus.alf.alf.BooleanValue;
+import org.eclipse.papyrus.alf.alf.BreakStatement;
+import org.eclipse.papyrus.alf.alf.ClassExtentExpression;
+import org.eclipse.papyrus.alf.alf.ClassificationClause;
+import org.eclipse.papyrus.alf.alf.ClassificationExpression;
+import org.eclipse.papyrus.alf.alf.ClassificationFromClause;
+import org.eclipse.papyrus.alf.alf.ClassificationToClause;
+import org.eclipse.papyrus.alf.alf.ClassifyStatement;
+import org.eclipse.papyrus.alf.alf.CollectOrIterateOperation;
+import org.eclipse.papyrus.alf.alf.CollectOrIterateOperator;
+import org.eclipse.papyrus.alf.alf.CompoundAcceptStatementCompletion;
+import org.eclipse.papyrus.alf.alf.ConcurrentClauses;
+import org.eclipse.papyrus.alf.alf.ConditionalAndExpression;
+import org.eclipse.papyrus.alf.alf.ConditionalOrExpression;
+import org.eclipse.papyrus.alf.alf.ConditionalTestExpression;
+import org.eclipse.papyrus.alf.alf.DoStatement;
+import org.eclipse.papyrus.alf.alf.DocumentedStatement;
+import org.eclipse.papyrus.alf.alf.EmptyStatement;
+import org.eclipse.papyrus.alf.alf.EqualityExpression;
+import org.eclipse.papyrus.alf.alf.ExclusiveOrExpression;
+import org.eclipse.papyrus.alf.alf.Expression;
+import org.eclipse.papyrus.alf.alf.FinalClause;
+import org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperation;
+import org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperator;
+import org.eclipse.papyrus.alf.alf.ForControl;
+import org.eclipse.papyrus.alf.alf.ForStatement;
+import org.eclipse.papyrus.alf.alf.IfStatement;
+import org.eclipse.papyrus.alf.alf.InclusiveOrExpression;
+import org.eclipse.papyrus.alf.alf.InlineStatement;
+import org.eclipse.papyrus.alf.alf.InstanceCreationExpression;
+import org.eclipse.papyrus.alf.alf.InstanceCreationInvocationStatement;
+import org.eclipse.papyrus.alf.alf.InstanceCreationTuple;
+import org.eclipse.papyrus.alf.alf.InstanceCreationTupleElement;
+import org.eclipse.papyrus.alf.alf.InvocationOrAssignementOrDeclarationStatement;
+import org.eclipse.papyrus.alf.alf.IsUniqueOperation;
+import org.eclipse.papyrus.alf.alf.LinkOperationExpression;
+import org.eclipse.papyrus.alf.alf.LinkOperationKind;
+import org.eclipse.papyrus.alf.alf.LinkOperationTuple;
+import org.eclipse.papyrus.alf.alf.LinkOperationTupleElement;
+import org.eclipse.papyrus.alf.alf.LocalNameDeclarationStatement;
+import org.eclipse.papyrus.alf.alf.LoopVariableDefinition;
+import org.eclipse.papyrus.alf.alf.MultiplicativeExpression;
+import org.eclipse.papyrus.alf.alf.NameExpression;
+import org.eclipse.papyrus.alf.alf.NamedTemplateBinding;
+import org.eclipse.papyrus.alf.alf.NonEmptyStatementSequence;
+import org.eclipse.papyrus.alf.alf.NonFinalClause;
+import org.eclipse.papyrus.alf.alf.NonLiteralValueSpecification;
+import org.eclipse.papyrus.alf.alf.NullExpression;
+import org.eclipse.papyrus.alf.alf.OperationCallExpression;
+import org.eclipse.papyrus.alf.alf.ParenthesizedExpression;
+import org.eclipse.papyrus.alf.alf.PartialSequenceConstructionCompletion;
+import org.eclipse.papyrus.alf.alf.PrimaryExpression;
+import org.eclipse.papyrus.alf.alf.PropertyCallExpression;
+import org.eclipse.papyrus.alf.alf.QualifiedNameList;
+import org.eclipse.papyrus.alf.alf.QualifiedNamePath;
+import org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding;
+import org.eclipse.papyrus.alf.alf.ReclassifyAllClause;
+import org.eclipse.papyrus.alf.alf.RelationalExpression;
+import org.eclipse.papyrus.alf.alf.ReturnStatement;
+import org.eclipse.papyrus.alf.alf.SelectOrRejectOperation;
+import org.eclipse.papyrus.alf.alf.SelectOrRejectOperator;
+import org.eclipse.papyrus.alf.alf.SequenceConstructionExpression;
+import org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion;
+import org.eclipse.papyrus.alf.alf.SequenceElement;
+import org.eclipse.papyrus.alf.alf.SequenceExpansionExpression;
+import org.eclipse.papyrus.alf.alf.SequenceOperationExpression;
+import org.eclipse.papyrus.alf.alf.SequenceReductionExpression;
+import org.eclipse.papyrus.alf.alf.SequentialClauses;
+import org.eclipse.papyrus.alf.alf.ShiftExpression;
+import org.eclipse.papyrus.alf.alf.SimpleAcceptStatementCompletion;
+import org.eclipse.papyrus.alf.alf.Statement;
+import org.eclipse.papyrus.alf.alf.StatementSequence;
+import org.eclipse.papyrus.alf.alf.SuffixExpression;
+import org.eclipse.papyrus.alf.alf.SuperInvocationExpression;
+import org.eclipse.papyrus.alf.alf.SuperInvocationStatement;
+import org.eclipse.papyrus.alf.alf.SwitchCase;
+import org.eclipse.papyrus.alf.alf.SwitchClause;
+import org.eclipse.papyrus.alf.alf.SwitchDefaultClause;
+import org.eclipse.papyrus.alf.alf.SwitchStatement;
+import org.eclipse.papyrus.alf.alf.TemplateBinding;
+import org.eclipse.papyrus.alf.alf.Test;
+import org.eclipse.papyrus.alf.alf.ThisExpression;
+import org.eclipse.papyrus.alf.alf.ThisInvocationStatement;
+import org.eclipse.papyrus.alf.alf.Tuple;
+import org.eclipse.papyrus.alf.alf.TupleElement;
+import org.eclipse.papyrus.alf.alf.UnaryExpression;
+import org.eclipse.papyrus.alf.alf.UnqualifiedName;
+import org.eclipse.papyrus.alf.alf.ValueSpecification;
+import org.eclipse.papyrus.alf.alf.VariableDeclarationCompletion;
+import org.eclipse.papyrus.alf.alf.WhileStatement;
+
+/**
+ * <!-- 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
+ */
+ private EClass testEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass literalEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass booleaN_LITERALEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass numbeR_LITERALEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass integeR_LITERALEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass unlimiteD_LITERALEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass strinG_LITERALEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass nameExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass qualifiedNamePathEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass unqualifiedNameEClass = 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 qualifiedNameWithBindingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass tupleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass tupleElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass expressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass conditionalTestExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass conditionalOrExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass conditionalAndExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass inclusiveOrExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass exclusiveOrExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass andExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass equalityExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass classificationExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass relationalExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass shiftExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass additiveExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass multiplicativeExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass unaryExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass primaryExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass suffixExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass operationCallExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass propertyCallExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass linkOperationExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass linkOperationTupleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass linkOperationTupleElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sequenceOperationExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sequenceReductionExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sequenceExpansionExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass selectOrRejectOperationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass collectOrIterateOperationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass forAllOrExistsOrOneOperationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass isUniqueOperationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass valueSpecificationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass nonLiteralValueSpecificationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass parenthesizedExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass nullExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass thisExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass superInvocationExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass instanceCreationExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass instanceCreationTupleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass instanceCreationTupleElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sequenceConstructionOrAccessCompletionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass accessCompletionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass partialSequenceConstructionCompletionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sequenceConstructionExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sequenceElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass classExtentExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass blockEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass statementSequenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass documentedStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass inlineStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass annotatedStatementEClass = 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 blockStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass emptyStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass localNameDeclarationStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ifStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sequentialClausesEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass concurrentClausesEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass nonFinalClauseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass finalClauseEClass = 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 switchCaseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass switchDefaultClauseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass nonEmptyStatementSequenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass whileStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass doStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass forStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass forControlEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass loopVariableDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass breakStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass returnStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass acceptStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass simpleAcceptStatementCompletionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass compoundAcceptStatementCompletionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass acceptBlockEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass acceptClauseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass classifyStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass classificationClauseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass classificationFromClauseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass classificationToClauseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass reclassifyAllClauseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass qualifiedNameListEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass invocationOrAssignementOrDeclarationStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass superInvocationStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass thisInvocationStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass instanceCreationInvocationStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass variableDeclarationCompletionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass assignmentCompletionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum booleanValueEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum linkOperationKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum selectOrRejectOperatorEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum collectOrIterateOperatorEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum forAllOrExistsOrOneOperatorEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum annotationKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum assignmentOperatorEEnum = 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.alf.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
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @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;
+
+ // Create package meta-data objects
+ theAlfPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theAlfPackage.initializePackageContents();
+
+ // 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 getTest()
+ {
+ return testEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTest_Expression()
+ {
+ return (EReference)testEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTest_AssignExpression()
+ {
+ return (EReference)testEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTest_Statements()
+ {
+ return (EReference)testEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTest_Block()
+ {
+ return (EReference)testEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLITERAL()
+ {
+ return literalEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBOOLEAN_LITERAL()
+ {
+ return booleaN_LITERALEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBOOLEAN_LITERAL_Value()
+ {
+ return (EAttribute)booleaN_LITERALEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNUMBER_LITERAL()
+ {
+ return numbeR_LITERALEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNUMBER_LITERAL_Value()
+ {
+ return (EAttribute)numbeR_LITERALEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getINTEGER_LITERAL()
+ {
+ return integeR_LITERALEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUNLIMITED_LITERAL()
+ {
+ return unlimiteD_LITERALEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSTRING_LITERAL()
+ {
+ return strinG_LITERALEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSTRING_LITERAL_Value()
+ {
+ return (EAttribute)strinG_LITERALEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNameExpression()
+ {
+ return nameExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNameExpression_PrefixOp()
+ {
+ return (EAttribute)nameExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNameExpression_Path()
+ {
+ return (EReference)nameExpressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNameExpression_Id()
+ {
+ return (EAttribute)nameExpressionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNameExpression_InvocationCompletion()
+ {
+ return (EReference)nameExpressionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNameExpression_SequenceConstructionCompletion()
+ {
+ return (EReference)nameExpressionEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNameExpression_PostfixOp()
+ {
+ return (EAttribute)nameExpressionEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNameExpression_Suffix()
+ {
+ return (EReference)nameExpressionEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getQualifiedNamePath()
+ {
+ return qualifiedNamePathEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQualifiedNamePath_Namespace()
+ {
+ return (EReference)qualifiedNamePathEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUnqualifiedName()
+ {
+ return unqualifiedNameEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getUnqualifiedName_Name()
+ {
+ return (EAttribute)unqualifiedNameEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUnqualifiedName_TemplateBinding()
+ {
+ return (EReference)unqualifiedNameEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTemplateBinding()
+ {
+ return templateBindingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTemplateBinding_Bindings()
+ {
+ return (EReference)templateBindingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNamedTemplateBinding()
+ {
+ return namedTemplateBindingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNamedTemplateBinding_Formal()
+ {
+ return (EAttribute)namedTemplateBindingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNamedTemplateBinding_Actual()
+ {
+ return (EReference)namedTemplateBindingEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getQualifiedNameWithBinding()
+ {
+ return qualifiedNameWithBindingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getQualifiedNameWithBinding_Id()
+ {
+ return (EAttribute)qualifiedNameWithBindingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQualifiedNameWithBinding_Binding()
+ {
+ return (EReference)qualifiedNameWithBindingEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQualifiedNameWithBinding_Remaining()
+ {
+ return (EReference)qualifiedNameWithBindingEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTuple()
+ {
+ return tupleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTuple_TupleElements()
+ {
+ return (EReference)tupleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTupleElement()
+ {
+ return tupleElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTupleElement_Argument()
+ {
+ return (EReference)tupleElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExpression()
+ {
+ return expressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConditionalTestExpression()
+ {
+ return conditionalTestExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConditionalTestExpression_Exp()
+ {
+ return (EReference)conditionalTestExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConditionalTestExpression_WhenTrue()
+ {
+ return (EReference)conditionalTestExpressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConditionalTestExpression_WhenFalse()
+ {
+ return (EReference)conditionalTestExpressionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConditionalOrExpression()
+ {
+ return conditionalOrExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConditionalOrExpression_Exp()
+ {
+ return (EReference)conditionalOrExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConditionalAndExpression()
+ {
+ return conditionalAndExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConditionalAndExpression_Exp()
+ {
+ return (EReference)conditionalAndExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInclusiveOrExpression()
+ {
+ return inclusiveOrExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInclusiveOrExpression_Exp()
+ {
+ return (EReference)inclusiveOrExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExclusiveOrExpression()
+ {
+ return exclusiveOrExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExclusiveOrExpression_Exp()
+ {
+ return (EReference)exclusiveOrExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAndExpression()
+ {
+ return andExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAndExpression_Exp()
+ {
+ return (EReference)andExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEqualityExpression()
+ {
+ return equalityExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEqualityExpression_Exp()
+ {
+ return (EReference)equalityExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEqualityExpression_Op()
+ {
+ return (EAttribute)equalityExpressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClassificationExpression()
+ {
+ return classificationExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassificationExpression_Exp()
+ {
+ return (EReference)classificationExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getClassificationExpression_Op()
+ {
+ return (EAttribute)classificationExpressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassificationExpression_TypeName()
+ {
+ return (EReference)classificationExpressionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRelationalExpression()
+ {
+ return relationalExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRelationalExpression_Left()
+ {
+ return (EReference)relationalExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRelationalExpression_Op()
+ {
+ return (EAttribute)relationalExpressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRelationalExpression_Right()
+ {
+ return (EReference)relationalExpressionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getShiftExpression()
+ {
+ return shiftExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getShiftExpression_Exp()
+ {
+ return (EReference)shiftExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getShiftExpression_Op()
+ {
+ return (EAttribute)shiftExpressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAdditiveExpression()
+ {
+ return additiveExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAdditiveExpression_Exp()
+ {
+ return (EReference)additiveExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAdditiveExpression_Op()
+ {
+ return (EAttribute)additiveExpressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMultiplicativeExpression()
+ {
+ return multiplicativeExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiplicativeExpression_Exp()
+ {
+ return (EReference)multiplicativeExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMultiplicativeExpression_Op()
+ {
+ return (EAttribute)multiplicativeExpressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUnaryExpression()
+ {
+ return unaryExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getUnaryExpression_Op()
+ {
+ return (EAttribute)unaryExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUnaryExpression_Exp()
+ {
+ return (EReference)unaryExpressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPrimaryExpression()
+ {
+ return primaryExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPrimaryExpression_Prefix()
+ {
+ return (EReference)primaryExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSuffixExpression()
+ {
+ return suffixExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOperationCallExpression()
+ {
+ return operationCallExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOperationCallExpression_OperationName()
+ {
+ return (EAttribute)operationCallExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperationCallExpression_Tuple()
+ {
+ return (EReference)operationCallExpressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperationCallExpression_Suffix()
+ {
+ return (EReference)operationCallExpressionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPropertyCallExpression()
+ {
+ return propertyCallExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPropertyCallExpression_PropertyName()
+ {
+ return (EAttribute)propertyCallExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPropertyCallExpression_Index()
+ {
+ return (EReference)propertyCallExpressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPropertyCallExpression_Suffix()
+ {
+ return (EReference)propertyCallExpressionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLinkOperationExpression()
+ {
+ return linkOperationExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLinkOperationExpression_Kind()
+ {
+ return (EAttribute)linkOperationExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLinkOperationExpression_Tuple()
+ {
+ return (EReference)linkOperationExpressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLinkOperationTuple()
+ {
+ return linkOperationTupleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLinkOperationTuple_LinkOperationTupleElement()
+ {
+ return (EReference)linkOperationTupleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLinkOperationTupleElement()
+ {
+ return linkOperationTupleElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLinkOperationTupleElement_Role()
+ {
+ return (EAttribute)linkOperationTupleElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLinkOperationTupleElement_RoleIndex()
+ {
+ return (EReference)linkOperationTupleElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLinkOperationTupleElement_Object()
+ {
+ return (EReference)linkOperationTupleElementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSequenceOperationExpression()
+ {
+ return sequenceOperationExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSequenceOperationExpression_OperationName()
+ {
+ return (EReference)sequenceOperationExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSequenceOperationExpression_Tuple()
+ {
+ return (EReference)sequenceOperationExpressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSequenceOperationExpression_Suffix()
+ {
+ return (EReference)sequenceOperationExpressionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSequenceReductionExpression()
+ {
+ return sequenceReductionExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSequenceReductionExpression_IsOrdered()
+ {
+ return (EAttribute)sequenceReductionExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSequenceReductionExpression_Behavior()
+ {
+ return (EReference)sequenceReductionExpressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSequenceReductionExpression_Suffix()
+ {
+ return (EReference)sequenceReductionExpressionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSequenceExpansionExpression()
+ {
+ return sequenceExpansionExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSequenceExpansionExpression_Name()
+ {
+ return (EAttribute)sequenceExpansionExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSequenceExpansionExpression_Expr()
+ {
+ return (EReference)sequenceExpansionExpressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSequenceExpansionExpression_Suffix()
+ {
+ return (EReference)sequenceExpansionExpressionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSelectOrRejectOperation()
+ {
+ return selectOrRejectOperationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSelectOrRejectOperation_Op()
+ {
+ return (EAttribute)selectOrRejectOperationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCollectOrIterateOperation()
+ {
+ return collectOrIterateOperationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCollectOrIterateOperation_Op()
+ {
+ return (EAttribute)collectOrIterateOperationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getForAllOrExistsOrOneOperation()
+ {
+ return forAllOrExistsOrOneOperationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getForAllOrExistsOrOneOperation_Op()
+ {
+ return (EAttribute)forAllOrExistsOrOneOperationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getIsUniqueOperation()
+ {
+ return isUniqueOperationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getValueSpecification()
+ {
+ return valueSpecificationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNonLiteralValueSpecification()
+ {
+ return nonLiteralValueSpecificationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getParenthesizedExpression()
+ {
+ return parenthesizedExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParenthesizedExpression_ExpOrTypeCast()
+ {
+ return (EReference)parenthesizedExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParenthesizedExpression_Casted()
+ {
+ return (EReference)parenthesizedExpressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParenthesizedExpression_Suffix()
+ {
+ return (EReference)parenthesizedExpressionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNullExpression()
+ {
+ return nullExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getThisExpression()
+ {
+ return thisExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getThisExpression_Suffix()
+ {
+ return (EReference)thisExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSuperInvocationExpression()
+ {
+ return superInvocationExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSuperInvocationExpression_Tuple()
+ {
+ return (EReference)superInvocationExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSuperInvocationExpression_OperationName()
+ {
+ return (EReference)superInvocationExpressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInstanceCreationExpression()
+ {
+ return instanceCreationExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInstanceCreationExpression_Constructor()
+ {
+ return (EReference)instanceCreationExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInstanceCreationExpression_Tuple()
+ {
+ return (EReference)instanceCreationExpressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInstanceCreationExpression_Suffix()
+ {
+ return (EReference)instanceCreationExpressionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInstanceCreationTuple()
+ {
+ return instanceCreationTupleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInstanceCreationTuple_InstanceCreationTupleElement()
+ {
+ return (EReference)instanceCreationTupleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInstanceCreationTupleElement()
+ {
+ return instanceCreationTupleElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getInstanceCreationTupleElement_Role()
+ {
+ return (EAttribute)instanceCreationTupleElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInstanceCreationTupleElement_Object()
+ {
+ return (EReference)instanceCreationTupleElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSequenceConstructionOrAccessCompletion()
+ {
+ return sequenceConstructionOrAccessCompletionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSequenceConstructionOrAccessCompletion_MultiplicityIndicator()
+ {
+ return (EAttribute)sequenceConstructionOrAccessCompletionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSequenceConstructionOrAccessCompletion_AccessCompletion()
+ {
+ return (EReference)sequenceConstructionOrAccessCompletionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSequenceConstructionOrAccessCompletion_SequenceCompletion()
+ {
+ return (EReference)sequenceConstructionOrAccessCompletionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSequenceConstructionOrAccessCompletion_Expression()
+ {
+ return (EReference)sequenceConstructionOrAccessCompletionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAccessCompletion()
+ {
+ return accessCompletionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAccessCompletion_AccessIndex()
+ {
+ return (EReference)accessCompletionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPartialSequenceConstructionCompletion()
+ {
+ return partialSequenceConstructionCompletionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPartialSequenceConstructionCompletion_Expression()
+ {
+ return (EReference)partialSequenceConstructionCompletionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSequenceConstructionExpression()
+ {
+ return sequenceConstructionExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSequenceConstructionExpression_SequenceElement()
+ {
+ return (EReference)sequenceConstructionExpressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSequenceConstructionExpression_RangeUpper()
+ {
+ return (EReference)sequenceConstructionExpressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSequenceElement()
+ {
+ return sequenceElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClassExtentExpression()
+ {
+ return classExtentExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBlock()
+ {
+ return blockEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBlock_Sequence()
+ {
+ return (EReference)blockEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStatementSequence()
+ {
+ return statementSequenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStatementSequence_Statements()
+ {
+ return (EReference)statementSequenceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDocumentedStatement()
+ {
+ return documentedStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDocumentedStatement_Comment()
+ {
+ return (EAttribute)documentedStatementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentedStatement_Statement()
+ {
+ return (EReference)documentedStatementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInlineStatement()
+ {
+ return inlineStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getInlineStatement_LangageName()
+ {
+ return (EAttribute)inlineStatementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getInlineStatement_Body()
+ {
+ return (EAttribute)inlineStatementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAnnotatedStatement()
+ {
+ return annotatedStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAnnotatedStatement_Annotation()
+ {
+ return (EReference)annotatedStatementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAnnotatedStatement_Statement()
+ {
+ return (EReference)annotatedStatementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStatement()
+ {
+ return statementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAnnotation()
+ {
+ return annotationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAnnotation_Kind()
+ {
+ return (EAttribute)annotationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAnnotation_Args()
+ {
+ return (EAttribute)annotationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBlockStatement()
+ {
+ return blockStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBlockStatement_Block()
+ {
+ return (EReference)blockStatementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEmptyStatement()
+ {
+ return emptyStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLocalNameDeclarationStatement()
+ {
+ return localNameDeclarationStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLocalNameDeclarationStatement_VarName()
+ {
+ return (EAttribute)localNameDeclarationStatementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLocalNameDeclarationStatement_Type()
+ {
+ return (EReference)localNameDeclarationStatementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLocalNameDeclarationStatement_MultiplicityIndicator()
+ {
+ return (EAttribute)localNameDeclarationStatementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLocalNameDeclarationStatement_Init()
+ {
+ return (EReference)localNameDeclarationStatementEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getIfStatement()
+ {
+ return ifStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getIfStatement_SequentialClausses()
+ {
+ return (EReference)ifStatementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getIfStatement_FinalClause()
+ {
+ return (EReference)ifStatementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSequentialClauses()
+ {
+ return sequentialClausesEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSequentialClauses_ConccurentClauses()
+ {
+ return (EReference)sequentialClausesEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConcurrentClauses()
+ {
+ return concurrentClausesEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConcurrentClauses_NonFinalClause()
+ {
+ return (EReference)concurrentClausesEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNonFinalClause()
+ {
+ return nonFinalClauseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNonFinalClause_Condition()
+ {
+ return (EReference)nonFinalClauseEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNonFinalClause_Block()
+ {
+ return (EReference)nonFinalClauseEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFinalClause()
+ {
+ return finalClauseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFinalClause_Block()
+ {
+ return (EReference)finalClauseEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSwitchStatement()
+ {
+ return switchStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwitchStatement_Expression()
+ {
+ return (EReference)switchStatementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwitchStatement_SwitchClause()
+ {
+ return (EReference)switchStatementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwitchStatement_DefaultClause()
+ {
+ return (EReference)switchStatementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSwitchClause()
+ {
+ return switchClauseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwitchClause_SwitchCase()
+ {
+ return (EReference)switchClauseEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwitchClause_StatementSequence()
+ {
+ return (EReference)switchClauseEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSwitchCase()
+ {
+ return switchCaseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwitchCase_Expression()
+ {
+ return (EReference)switchCaseEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSwitchDefaultClause()
+ {
+ return switchDefaultClauseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwitchDefaultClause_StatementSequence()
+ {
+ return (EReference)switchDefaultClauseEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNonEmptyStatementSequence()
+ {
+ return nonEmptyStatementSequenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNonEmptyStatementSequence_Statement()
+ {
+ return (EReference)nonEmptyStatementSequenceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getWhileStatement()
+ {
+ return whileStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getWhileStatement_Condition()
+ {
+ return (EReference)whileStatementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getWhileStatement_Block()
+ {
+ return (EReference)whileStatementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDoStatement()
+ {
+ return doStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDoStatement_Block()
+ {
+ return (EReference)doStatementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDoStatement_Condition()
+ {
+ return (EReference)doStatementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getForStatement()
+ {
+ return forStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getForStatement_Control()
+ {
+ return (EReference)forStatementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getForStatement_Block()
+ {
+ return (EReference)forStatementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getForControl()
+ {
+ return forControlEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getForControl_LoopVariableDefinition()
+ {
+ return (EReference)forControlEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLoopVariableDefinition()
+ {
+ return loopVariableDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLoopVariableDefinition_Name()
+ {
+ return (EAttribute)loopVariableDefinitionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLoopVariableDefinition_Expression1()
+ {
+ return (EReference)loopVariableDefinitionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLoopVariableDefinition_Expression2()
+ {
+ return (EReference)loopVariableDefinitionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLoopVariableDefinition_Type()
+ {
+ return (EReference)loopVariableDefinitionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLoopVariableDefinition_Expression()
+ {
+ return (EReference)loopVariableDefinitionEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBreakStatement()
+ {
+ return breakStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReturnStatement()
+ {
+ return returnStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReturnStatement_Expression()
+ {
+ return (EReference)returnStatementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAcceptStatement()
+ {
+ return acceptStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAcceptStatement_Clause()
+ {
+ return (EReference)acceptStatementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAcceptStatement_SimpleAccept()
+ {
+ return (EReference)acceptStatementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAcceptStatement_CompoundAccept()
+ {
+ return (EReference)acceptStatementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSimpleAcceptStatementCompletion()
+ {
+ return simpleAcceptStatementCompletionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCompoundAcceptStatementCompletion()
+ {
+ return compoundAcceptStatementCompletionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCompoundAcceptStatementCompletion_Block()
+ {
+ return (EReference)compoundAcceptStatementCompletionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCompoundAcceptStatementCompletion_AcceptBlock()
+ {
+ return (EReference)compoundAcceptStatementCompletionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAcceptBlock()
+ {
+ return acceptBlockEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAcceptBlock_Clause()
+ {
+ return (EReference)acceptBlockEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAcceptBlock_Block()
+ {
+ return (EReference)acceptBlockEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAcceptClause()
+ {
+ return acceptClauseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAcceptClause_Name()
+ {
+ return (EAttribute)acceptClauseEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAcceptClause_QualifiedNameList()
+ {
+ return (EReference)acceptClauseEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClassifyStatement()
+ {
+ return classifyStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassifyStatement_Expression()
+ {
+ return (EReference)classifyStatementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassifyStatement_Clause()
+ {
+ return (EReference)classifyStatementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClassificationClause()
+ {
+ return classificationClauseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassificationClause_ClassifyFromClause()
+ {
+ return (EReference)classificationClauseEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassificationClause_ClassifyToClause()
+ {
+ return (EReference)classificationClauseEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassificationClause_ReclassyAllClause()
+ {
+ return (EReference)classificationClauseEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClassificationFromClause()
+ {
+ return classificationFromClauseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassificationFromClause_QualifiedNameList()
+ {
+ return (EReference)classificationFromClauseEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClassificationToClause()
+ {
+ return classificationToClauseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClassificationToClause_QualifiedNameList()
+ {
+ return (EReference)classificationToClauseEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReclassifyAllClause()
+ {
+ return reclassifyAllClauseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getQualifiedNameList()
+ {
+ return qualifiedNameListEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQualifiedNameList_QualifiedName()
+ {
+ return (EReference)qualifiedNameListEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInvocationOrAssignementOrDeclarationStatement()
+ {
+ return invocationOrAssignementOrDeclarationStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInvocationOrAssignementOrDeclarationStatement_TypePart_OR_assignedPart_OR_invocationPart()
+ {
+ return (EReference)invocationOrAssignementOrDeclarationStatementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInvocationOrAssignementOrDeclarationStatement_VariableDeclarationCompletion()
+ {
+ return (EReference)invocationOrAssignementOrDeclarationStatementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInvocationOrAssignementOrDeclarationStatement_AssignmentCompletion()
+ {
+ return (EReference)invocationOrAssignementOrDeclarationStatementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSuperInvocationStatement()
+ {
+ return superInvocationStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSuperInvocationStatement__super()
+ {
+ return (EReference)superInvocationStatementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getThisInvocationStatement()
+ {
+ return thisInvocationStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getThisInvocationStatement__this()
+ {
+ return (EReference)thisInvocationStatementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getThisInvocationStatement_AssignmentCompletion()
+ {
+ return (EReference)thisInvocationStatementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInstanceCreationInvocationStatement()
+ {
+ return instanceCreationInvocationStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInstanceCreationInvocationStatement__new()
+ {
+ return (EReference)instanceCreationInvocationStatementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVariableDeclarationCompletion()
+ {
+ return variableDeclarationCompletionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVariableDeclarationCompletion_MultiplicityIndicator()
+ {
+ return (EAttribute)variableDeclarationCompletionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVariableDeclarationCompletion_VariableName()
+ {
+ return (EAttribute)variableDeclarationCompletionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVariableDeclarationCompletion_InitValue()
+ {
+ return (EReference)variableDeclarationCompletionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAssignmentCompletion()
+ {
+ return assignmentCompletionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAssignmentCompletion_Op()
+ {
+ return (EAttribute)assignmentCompletionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAssignmentCompletion_RightHandSide()
+ {
+ return (EReference)assignmentCompletionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getBooleanValue()
+ {
+ return booleanValueEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getLinkOperationKind()
+ {
+ return linkOperationKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getSelectOrRejectOperator()
+ {
+ return selectOrRejectOperatorEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getCollectOrIterateOperator()
+ {
+ return collectOrIterateOperatorEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getForAllOrExistsOrOneOperator()
+ {
+ return forAllOrExistsOrOneOperatorEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getAnnotationKind()
+ {
+ return annotationKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getAssignmentOperator()
+ {
+ return assignmentOperatorEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AlfFactory getAlfFactory()
+ {
+ return (AlfFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents()
+ {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ testEClass = createEClass(TEST);
+ createEReference(testEClass, TEST__EXPRESSION);
+ createEReference(testEClass, TEST__ASSIGN_EXPRESSION);
+ createEReference(testEClass, TEST__STATEMENTS);
+ createEReference(testEClass, TEST__BLOCK);
+
+ literalEClass = createEClass(LITERAL);
+
+ booleaN_LITERALEClass = createEClass(BOOLEAN_LITERAL);
+ createEAttribute(booleaN_LITERALEClass, BOOLEAN_LITERAL__VALUE);
+
+ numbeR_LITERALEClass = createEClass(NUMBER_LITERAL);
+ createEAttribute(numbeR_LITERALEClass, NUMBER_LITERAL__VALUE);
+
+ integeR_LITERALEClass = createEClass(INTEGER_LITERAL);
+
+ unlimiteD_LITERALEClass = createEClass(UNLIMITED_LITERAL);
+
+ strinG_LITERALEClass = createEClass(STRING_LITERAL);
+ createEAttribute(strinG_LITERALEClass, STRING_LITERAL__VALUE);
+
+ nameExpressionEClass = createEClass(NAME_EXPRESSION);
+ createEAttribute(nameExpressionEClass, NAME_EXPRESSION__PREFIX_OP);
+ createEReference(nameExpressionEClass, NAME_EXPRESSION__PATH);
+ createEAttribute(nameExpressionEClass, NAME_EXPRESSION__ID);
+ createEReference(nameExpressionEClass, NAME_EXPRESSION__INVOCATION_COMPLETION);
+ createEReference(nameExpressionEClass, NAME_EXPRESSION__SEQUENCE_CONSTRUCTION_COMPLETION);
+ createEAttribute(nameExpressionEClass, NAME_EXPRESSION__POSTFIX_OP);
+ createEReference(nameExpressionEClass, NAME_EXPRESSION__SUFFIX);
+
+ qualifiedNamePathEClass = createEClass(QUALIFIED_NAME_PATH);
+ createEReference(qualifiedNamePathEClass, QUALIFIED_NAME_PATH__NAMESPACE);
+
+ unqualifiedNameEClass = createEClass(UNQUALIFIED_NAME);
+ createEAttribute(unqualifiedNameEClass, UNQUALIFIED_NAME__NAME);
+ createEReference(unqualifiedNameEClass, UNQUALIFIED_NAME__TEMPLATE_BINDING);
+
+ templateBindingEClass = createEClass(TEMPLATE_BINDING);
+ createEReference(templateBindingEClass, TEMPLATE_BINDING__BINDINGS);
+
+ namedTemplateBindingEClass = createEClass(NAMED_TEMPLATE_BINDING);
+ createEAttribute(namedTemplateBindingEClass, NAMED_TEMPLATE_BINDING__FORMAL);
+ createEReference(namedTemplateBindingEClass, NAMED_TEMPLATE_BINDING__ACTUAL);
+
+ qualifiedNameWithBindingEClass = createEClass(QUALIFIED_NAME_WITH_BINDING);
+ createEAttribute(qualifiedNameWithBindingEClass, QUALIFIED_NAME_WITH_BINDING__ID);
+ createEReference(qualifiedNameWithBindingEClass, QUALIFIED_NAME_WITH_BINDING__BINDING);
+ createEReference(qualifiedNameWithBindingEClass, QUALIFIED_NAME_WITH_BINDING__REMAINING);
+
+ tupleEClass = createEClass(TUPLE);
+ createEReference(tupleEClass, TUPLE__TUPLE_ELEMENTS);
+
+ tupleElementEClass = createEClass(TUPLE_ELEMENT);
+ createEReference(tupleElementEClass, TUPLE_ELEMENT__ARGUMENT);
+
+ expressionEClass = createEClass(EXPRESSION);
+
+ conditionalTestExpressionEClass = createEClass(CONDITIONAL_TEST_EXPRESSION);
+ createEReference(conditionalTestExpressionEClass, CONDITIONAL_TEST_EXPRESSION__EXP);
+ createEReference(conditionalTestExpressionEClass, CONDITIONAL_TEST_EXPRESSION__WHEN_TRUE);
+ createEReference(conditionalTestExpressionEClass, CONDITIONAL_TEST_EXPRESSION__WHEN_FALSE);
+
+ conditionalOrExpressionEClass = createEClass(CONDITIONAL_OR_EXPRESSION);
+ createEReference(conditionalOrExpressionEClass, CONDITIONAL_OR_EXPRESSION__EXP);
+
+ conditionalAndExpressionEClass = createEClass(CONDITIONAL_AND_EXPRESSION);
+ createEReference(conditionalAndExpressionEClass, CONDITIONAL_AND_EXPRESSION__EXP);
+
+ inclusiveOrExpressionEClass = createEClass(INCLUSIVE_OR_EXPRESSION);
+ createEReference(inclusiveOrExpressionEClass, INCLUSIVE_OR_EXPRESSION__EXP);
+
+ exclusiveOrExpressionEClass = createEClass(EXCLUSIVE_OR_EXPRESSION);
+ createEReference(exclusiveOrExpressionEClass, EXCLUSIVE_OR_EXPRESSION__EXP);
+
+ andExpressionEClass = createEClass(AND_EXPRESSION);
+ createEReference(andExpressionEClass, AND_EXPRESSION__EXP);
+
+ equalityExpressionEClass = createEClass(EQUALITY_EXPRESSION);
+ createEReference(equalityExpressionEClass, EQUALITY_EXPRESSION__EXP);
+ createEAttribute(equalityExpressionEClass, EQUALITY_EXPRESSION__OP);
+
+ classificationExpressionEClass = createEClass(CLASSIFICATION_EXPRESSION);
+ createEReference(classificationExpressionEClass, CLASSIFICATION_EXPRESSION__EXP);
+ createEAttribute(classificationExpressionEClass, CLASSIFICATION_EXPRESSION__OP);
+ createEReference(classificationExpressionEClass, CLASSIFICATION_EXPRESSION__TYPE_NAME);
+
+ relationalExpressionEClass = createEClass(RELATIONAL_EXPRESSION);
+ createEReference(relationalExpressionEClass, RELATIONAL_EXPRESSION__LEFT);
+ createEAttribute(relationalExpressionEClass, RELATIONAL_EXPRESSION__OP);
+ createEReference(relationalExpressionEClass, RELATIONAL_EXPRESSION__RIGHT);
+
+ shiftExpressionEClass = createEClass(SHIFT_EXPRESSION);
+ createEReference(shiftExpressionEClass, SHIFT_EXPRESSION__EXP);
+ createEAttribute(shiftExpressionEClass, SHIFT_EXPRESSION__OP);
+
+ additiveExpressionEClass = createEClass(ADDITIVE_EXPRESSION);
+ createEReference(additiveExpressionEClass, ADDITIVE_EXPRESSION__EXP);
+ createEAttribute(additiveExpressionEClass, ADDITIVE_EXPRESSION__OP);
+
+ multiplicativeExpressionEClass = createEClass(MULTIPLICATIVE_EXPRESSION);
+ createEReference(multiplicativeExpressionEClass, MULTIPLICATIVE_EXPRESSION__EXP);
+ createEAttribute(multiplicativeExpressionEClass, MULTIPLICATIVE_EXPRESSION__OP);
+
+ unaryExpressionEClass = createEClass(UNARY_EXPRESSION);
+ createEAttribute(unaryExpressionEClass, UNARY_EXPRESSION__OP);
+ createEReference(unaryExpressionEClass, UNARY_EXPRESSION__EXP);
+
+ primaryExpressionEClass = createEClass(PRIMARY_EXPRESSION);
+ createEReference(primaryExpressionEClass, PRIMARY_EXPRESSION__PREFIX);
+
+ suffixExpressionEClass = createEClass(SUFFIX_EXPRESSION);
+
+ operationCallExpressionEClass = createEClass(OPERATION_CALL_EXPRESSION);
+ createEAttribute(operationCallExpressionEClass, OPERATION_CALL_EXPRESSION__OPERATION_NAME);
+ createEReference(operationCallExpressionEClass, OPERATION_CALL_EXPRESSION__TUPLE);
+ createEReference(operationCallExpressionEClass, OPERATION_CALL_EXPRESSION__SUFFIX);
+
+ propertyCallExpressionEClass = createEClass(PROPERTY_CALL_EXPRESSION);
+ createEAttribute(propertyCallExpressionEClass, PROPERTY_CALL_EXPRESSION__PROPERTY_NAME);
+ createEReference(propertyCallExpressionEClass, PROPERTY_CALL_EXPRESSION__INDEX);
+ createEReference(propertyCallExpressionEClass, PROPERTY_CALL_EXPRESSION__SUFFIX);
+
+ linkOperationExpressionEClass = createEClass(LINK_OPERATION_EXPRESSION);
+ createEAttribute(linkOperationExpressionEClass, LINK_OPERATION_EXPRESSION__KIND);
+ createEReference(linkOperationExpressionEClass, LINK_OPERATION_EXPRESSION__TUPLE);
+
+ linkOperationTupleEClass = createEClass(LINK_OPERATION_TUPLE);
+ createEReference(linkOperationTupleEClass, LINK_OPERATION_TUPLE__LINK_OPERATION_TUPLE_ELEMENT);
+
+ linkOperationTupleElementEClass = createEClass(LINK_OPERATION_TUPLE_ELEMENT);
+ createEAttribute(linkOperationTupleElementEClass, LINK_OPERATION_TUPLE_ELEMENT__ROLE);
+ createEReference(linkOperationTupleElementEClass, LINK_OPERATION_TUPLE_ELEMENT__ROLE_INDEX);
+ createEReference(linkOperationTupleElementEClass, LINK_OPERATION_TUPLE_ELEMENT__OBJECT);
+
+ sequenceOperationExpressionEClass = createEClass(SEQUENCE_OPERATION_EXPRESSION);
+ createEReference(sequenceOperationExpressionEClass, SEQUENCE_OPERATION_EXPRESSION__OPERATION_NAME);
+ createEReference(sequenceOperationExpressionEClass, SEQUENCE_OPERATION_EXPRESSION__TUPLE);
+ createEReference(sequenceOperationExpressionEClass, SEQUENCE_OPERATION_EXPRESSION__SUFFIX);
+
+ sequenceReductionExpressionEClass = createEClass(SEQUENCE_REDUCTION_EXPRESSION);
+ createEAttribute(sequenceReductionExpressionEClass, SEQUENCE_REDUCTION_EXPRESSION__IS_ORDERED);
+ createEReference(sequenceReductionExpressionEClass, SEQUENCE_REDUCTION_EXPRESSION__BEHAVIOR);
+ createEReference(sequenceReductionExpressionEClass, SEQUENCE_REDUCTION_EXPRESSION__SUFFIX);
+
+ sequenceExpansionExpressionEClass = createEClass(SEQUENCE_EXPANSION_EXPRESSION);
+ createEAttribute(sequenceExpansionExpressionEClass, SEQUENCE_EXPANSION_EXPRESSION__NAME);
+ createEReference(sequenceExpansionExpressionEClass, SEQUENCE_EXPANSION_EXPRESSION__EXPR);
+ createEReference(sequenceExpansionExpressionEClass, SEQUENCE_EXPANSION_EXPRESSION__SUFFIX);
+
+ selectOrRejectOperationEClass = createEClass(SELECT_OR_REJECT_OPERATION);
+ createEAttribute(selectOrRejectOperationEClass, SELECT_OR_REJECT_OPERATION__OP);
+
+ collectOrIterateOperationEClass = createEClass(COLLECT_OR_ITERATE_OPERATION);
+ createEAttribute(collectOrIterateOperationEClass, COLLECT_OR_ITERATE_OPERATION__OP);
+
+ forAllOrExistsOrOneOperationEClass = createEClass(FOR_ALL_OR_EXISTS_OR_ONE_OPERATION);
+ createEAttribute(forAllOrExistsOrOneOperationEClass, FOR_ALL_OR_EXISTS_OR_ONE_OPERATION__OP);
+
+ isUniqueOperationEClass = createEClass(IS_UNIQUE_OPERATION);
+
+ valueSpecificationEClass = createEClass(VALUE_SPECIFICATION);
+
+ nonLiteralValueSpecificationEClass = createEClass(NON_LITERAL_VALUE_SPECIFICATION);
+
+ parenthesizedExpressionEClass = createEClass(PARENTHESIZED_EXPRESSION);
+ createEReference(parenthesizedExpressionEClass, PARENTHESIZED_EXPRESSION__EXP_OR_TYPE_CAST);
+ createEReference(parenthesizedExpressionEClass, PARENTHESIZED_EXPRESSION__CASTED);
+ createEReference(parenthesizedExpressionEClass, PARENTHESIZED_EXPRESSION__SUFFIX);
+
+ nullExpressionEClass = createEClass(NULL_EXPRESSION);
+
+ thisExpressionEClass = createEClass(THIS_EXPRESSION);
+ createEReference(thisExpressionEClass, THIS_EXPRESSION__SUFFIX);
+
+ superInvocationExpressionEClass = createEClass(SUPER_INVOCATION_EXPRESSION);
+ createEReference(superInvocationExpressionEClass, SUPER_INVOCATION_EXPRESSION__TUPLE);
+ createEReference(superInvocationExpressionEClass, SUPER_INVOCATION_EXPRESSION__OPERATION_NAME);
+
+ instanceCreationExpressionEClass = createEClass(INSTANCE_CREATION_EXPRESSION);
+ createEReference(instanceCreationExpressionEClass, INSTANCE_CREATION_EXPRESSION__CONSTRUCTOR);
+ createEReference(instanceCreationExpressionEClass, INSTANCE_CREATION_EXPRESSION__TUPLE);
+ createEReference(instanceCreationExpressionEClass, INSTANCE_CREATION_EXPRESSION__SUFFIX);
+
+ instanceCreationTupleEClass = createEClass(INSTANCE_CREATION_TUPLE);
+ createEReference(instanceCreationTupleEClass, INSTANCE_CREATION_TUPLE__INSTANCE_CREATION_TUPLE_ELEMENT);
+
+ instanceCreationTupleElementEClass = createEClass(INSTANCE_CREATION_TUPLE_ELEMENT);
+ createEAttribute(instanceCreationTupleElementEClass, INSTANCE_CREATION_TUPLE_ELEMENT__ROLE);
+ createEReference(instanceCreationTupleElementEClass, INSTANCE_CREATION_TUPLE_ELEMENT__OBJECT);
+
+ sequenceConstructionOrAccessCompletionEClass = createEClass(SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION);
+ createEAttribute(sequenceConstructionOrAccessCompletionEClass, SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__MULTIPLICITY_INDICATOR);
+ createEReference(sequenceConstructionOrAccessCompletionEClass, SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__ACCESS_COMPLETION);
+ createEReference(sequenceConstructionOrAccessCompletionEClass, SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__SEQUENCE_COMPLETION);
+ createEReference(sequenceConstructionOrAccessCompletionEClass, SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__EXPRESSION);
+
+ accessCompletionEClass = createEClass(ACCESS_COMPLETION);
+ createEReference(accessCompletionEClass, ACCESS_COMPLETION__ACCESS_INDEX);
+
+ partialSequenceConstructionCompletionEClass = createEClass(PARTIAL_SEQUENCE_CONSTRUCTION_COMPLETION);
+ createEReference(partialSequenceConstructionCompletionEClass, PARTIAL_SEQUENCE_CONSTRUCTION_COMPLETION__EXPRESSION);
+
+ sequenceConstructionExpressionEClass = createEClass(SEQUENCE_CONSTRUCTION_EXPRESSION);
+ createEReference(sequenceConstructionExpressionEClass, SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_ELEMENT);
+ createEReference(sequenceConstructionExpressionEClass, SEQUENCE_CONSTRUCTION_EXPRESSION__RANGE_UPPER);
+
+ sequenceElementEClass = createEClass(SEQUENCE_ELEMENT);
+
+ classExtentExpressionEClass = createEClass(CLASS_EXTENT_EXPRESSION);
+
+ blockEClass = createEClass(BLOCK);
+ createEReference(blockEClass, BLOCK__SEQUENCE);
+
+ statementSequenceEClass = createEClass(STATEMENT_SEQUENCE);
+ createEReference(statementSequenceEClass, STATEMENT_SEQUENCE__STATEMENTS);
+
+ documentedStatementEClass = createEClass(DOCUMENTED_STATEMENT);
+ createEAttribute(documentedStatementEClass, DOCUMENTED_STATEMENT__COMMENT);
+ createEReference(documentedStatementEClass, DOCUMENTED_STATEMENT__STATEMENT);
+
+ inlineStatementEClass = createEClass(INLINE_STATEMENT);
+ createEAttribute(inlineStatementEClass, INLINE_STATEMENT__LANGAGE_NAME);
+ createEAttribute(inlineStatementEClass, INLINE_STATEMENT__BODY);
+
+ annotatedStatementEClass = createEClass(ANNOTATED_STATEMENT);
+ createEReference(annotatedStatementEClass, ANNOTATED_STATEMENT__ANNOTATION);
+ createEReference(annotatedStatementEClass, ANNOTATED_STATEMENT__STATEMENT);
+
+ statementEClass = createEClass(STATEMENT);
+
+ annotationEClass = createEClass(ANNOTATION);
+ createEAttribute(annotationEClass, ANNOTATION__KIND);
+ createEAttribute(annotationEClass, ANNOTATION__ARGS);
+
+ blockStatementEClass = createEClass(BLOCK_STATEMENT);
+ createEReference(blockStatementEClass, BLOCK_STATEMENT__BLOCK);
+
+ emptyStatementEClass = createEClass(EMPTY_STATEMENT);
+
+ localNameDeclarationStatementEClass = createEClass(LOCAL_NAME_DECLARATION_STATEMENT);
+ createEAttribute(localNameDeclarationStatementEClass, LOCAL_NAME_DECLARATION_STATEMENT__VAR_NAME);
+ createEReference(localNameDeclarationStatementEClass, LOCAL_NAME_DECLARATION_STATEMENT__TYPE);
+ createEAttribute(localNameDeclarationStatementEClass, LOCAL_NAME_DECLARATION_STATEMENT__MULTIPLICITY_INDICATOR);
+ createEReference(localNameDeclarationStatementEClass, LOCAL_NAME_DECLARATION_STATEMENT__INIT);
+
+ ifStatementEClass = createEClass(IF_STATEMENT);
+ createEReference(ifStatementEClass, IF_STATEMENT__SEQUENTIAL_CLAUSSES);
+ createEReference(ifStatementEClass, IF_STATEMENT__FINAL_CLAUSE);
+
+ sequentialClausesEClass = createEClass(SEQUENTIAL_CLAUSES);
+ createEReference(sequentialClausesEClass, SEQUENTIAL_CLAUSES__CONCCURENT_CLAUSES);
+
+ concurrentClausesEClass = createEClass(CONCURRENT_CLAUSES);
+ createEReference(concurrentClausesEClass, CONCURRENT_CLAUSES__NON_FINAL_CLAUSE);
+
+ nonFinalClauseEClass = createEClass(NON_FINAL_CLAUSE);
+ createEReference(nonFinalClauseEClass, NON_FINAL_CLAUSE__CONDITION);
+ createEReference(nonFinalClauseEClass, NON_FINAL_CLAUSE__BLOCK);
+
+ finalClauseEClass = createEClass(FINAL_CLAUSE);
+ createEReference(finalClauseEClass, FINAL_CLAUSE__BLOCK);
+
+ switchStatementEClass = createEClass(SWITCH_STATEMENT);
+ createEReference(switchStatementEClass, SWITCH_STATEMENT__EXPRESSION);
+ createEReference(switchStatementEClass, SWITCH_STATEMENT__SWITCH_CLAUSE);
+ createEReference(switchStatementEClass, SWITCH_STATEMENT__DEFAULT_CLAUSE);
+
+ switchClauseEClass = createEClass(SWITCH_CLAUSE);
+ createEReference(switchClauseEClass, SWITCH_CLAUSE__SWITCH_CASE);
+ createEReference(switchClauseEClass, SWITCH_CLAUSE__STATEMENT_SEQUENCE);
+
+ switchCaseEClass = createEClass(SWITCH_CASE);
+ createEReference(switchCaseEClass, SWITCH_CASE__EXPRESSION);
+
+ switchDefaultClauseEClass = createEClass(SWITCH_DEFAULT_CLAUSE);
+ createEReference(switchDefaultClauseEClass, SWITCH_DEFAULT_CLAUSE__STATEMENT_SEQUENCE);
+
+ nonEmptyStatementSequenceEClass = createEClass(NON_EMPTY_STATEMENT_SEQUENCE);
+ createEReference(nonEmptyStatementSequenceEClass, NON_EMPTY_STATEMENT_SEQUENCE__STATEMENT);
+
+ whileStatementEClass = createEClass(WHILE_STATEMENT);
+ createEReference(whileStatementEClass, WHILE_STATEMENT__CONDITION);
+ createEReference(whileStatementEClass, WHILE_STATEMENT__BLOCK);
+
+ doStatementEClass = createEClass(DO_STATEMENT);
+ createEReference(doStatementEClass, DO_STATEMENT__BLOCK);
+ createEReference(doStatementEClass, DO_STATEMENT__CONDITION);
+
+ forStatementEClass = createEClass(FOR_STATEMENT);
+ createEReference(forStatementEClass, FOR_STATEMENT__CONTROL);
+ createEReference(forStatementEClass, FOR_STATEMENT__BLOCK);
+
+ forControlEClass = createEClass(FOR_CONTROL);
+ createEReference(forControlEClass, FOR_CONTROL__LOOP_VARIABLE_DEFINITION);
+
+ loopVariableDefinitionEClass = createEClass(LOOP_VARIABLE_DEFINITION);
+ createEAttribute(loopVariableDefinitionEClass, LOOP_VARIABLE_DEFINITION__NAME);
+ createEReference(loopVariableDefinitionEClass, LOOP_VARIABLE_DEFINITION__EXPRESSION1);
+ createEReference(loopVariableDefinitionEClass, LOOP_VARIABLE_DEFINITION__EXPRESSION2);
+ createEReference(loopVariableDefinitionEClass, LOOP_VARIABLE_DEFINITION__TYPE);
+ createEReference(loopVariableDefinitionEClass, LOOP_VARIABLE_DEFINITION__EXPRESSION);
+
+ breakStatementEClass = createEClass(BREAK_STATEMENT);
+
+ returnStatementEClass = createEClass(RETURN_STATEMENT);
+ createEReference(returnStatementEClass, RETURN_STATEMENT__EXPRESSION);
+
+ acceptStatementEClass = createEClass(ACCEPT_STATEMENT);
+ createEReference(acceptStatementEClass, ACCEPT_STATEMENT__CLAUSE);
+ createEReference(acceptStatementEClass, ACCEPT_STATEMENT__SIMPLE_ACCEPT);
+ createEReference(acceptStatementEClass, ACCEPT_STATEMENT__COMPOUND_ACCEPT);
+
+ simpleAcceptStatementCompletionEClass = createEClass(SIMPLE_ACCEPT_STATEMENT_COMPLETION);
+
+ compoundAcceptStatementCompletionEClass = createEClass(COMPOUND_ACCEPT_STATEMENT_COMPLETION);
+ createEReference(compoundAcceptStatementCompletionEClass, COMPOUND_ACCEPT_STATEMENT_COMPLETION__BLOCK);
+ createEReference(compoundAcceptStatementCompletionEClass, COMPOUND_ACCEPT_STATEMENT_COMPLETION__ACCEPT_BLOCK);
+
+ acceptBlockEClass = createEClass(ACCEPT_BLOCK);
+ createEReference(acceptBlockEClass, ACCEPT_BLOCK__CLAUSE);
+ createEReference(acceptBlockEClass, ACCEPT_BLOCK__BLOCK);
+
+ acceptClauseEClass = createEClass(ACCEPT_CLAUSE);
+ createEAttribute(acceptClauseEClass, ACCEPT_CLAUSE__NAME);
+ createEReference(acceptClauseEClass, ACCEPT_CLAUSE__QUALIFIED_NAME_LIST);
+
+ classifyStatementEClass = createEClass(CLASSIFY_STATEMENT);
+ createEReference(classifyStatementEClass, CLASSIFY_STATEMENT__EXPRESSION);
+ createEReference(classifyStatementEClass, CLASSIFY_STATEMENT__CLAUSE);
+
+ classificationClauseEClass = createEClass(CLASSIFICATION_CLAUSE);
+ createEReference(classificationClauseEClass, CLASSIFICATION_CLAUSE__CLASSIFY_FROM_CLAUSE);
+ createEReference(classificationClauseEClass, CLASSIFICATION_CLAUSE__CLASSIFY_TO_CLAUSE);
+ createEReference(classificationClauseEClass, CLASSIFICATION_CLAUSE__RECLASSY_ALL_CLAUSE);
+
+ classificationFromClauseEClass = createEClass(CLASSIFICATION_FROM_CLAUSE);
+ createEReference(classificationFromClauseEClass, CLASSIFICATION_FROM_CLAUSE__QUALIFIED_NAME_LIST);
+
+ classificationToClauseEClass = createEClass(CLASSIFICATION_TO_CLAUSE);
+ createEReference(classificationToClauseEClass, CLASSIFICATION_TO_CLAUSE__QUALIFIED_NAME_LIST);
+
+ reclassifyAllClauseEClass = createEClass(RECLASSIFY_ALL_CLAUSE);
+
+ qualifiedNameListEClass = createEClass(QUALIFIED_NAME_LIST);
+ createEReference(qualifiedNameListEClass, QUALIFIED_NAME_LIST__QUALIFIED_NAME);
+
+ invocationOrAssignementOrDeclarationStatementEClass = createEClass(INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT);
+ createEReference(invocationOrAssignementOrDeclarationStatementEClass, INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__TYPE_PART_OR_ASSIGNED_PART_OR_INVOCATION_PART);
+ createEReference(invocationOrAssignementOrDeclarationStatementEClass, INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__VARIABLE_DECLARATION_COMPLETION);
+ createEReference(invocationOrAssignementOrDeclarationStatementEClass, INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__ASSIGNMENT_COMPLETION);
+
+ superInvocationStatementEClass = createEClass(SUPER_INVOCATION_STATEMENT);
+ createEReference(superInvocationStatementEClass, SUPER_INVOCATION_STATEMENT__SUPER);
+
+ thisInvocationStatementEClass = createEClass(THIS_INVOCATION_STATEMENT);
+ createEReference(thisInvocationStatementEClass, THIS_INVOCATION_STATEMENT__THIS);
+ createEReference(thisInvocationStatementEClass, THIS_INVOCATION_STATEMENT__ASSIGNMENT_COMPLETION);
+
+ instanceCreationInvocationStatementEClass = createEClass(INSTANCE_CREATION_INVOCATION_STATEMENT);
+ createEReference(instanceCreationInvocationStatementEClass, INSTANCE_CREATION_INVOCATION_STATEMENT__NEW);
+
+ variableDeclarationCompletionEClass = createEClass(VARIABLE_DECLARATION_COMPLETION);
+ createEAttribute(variableDeclarationCompletionEClass, VARIABLE_DECLARATION_COMPLETION__MULTIPLICITY_INDICATOR);
+ createEAttribute(variableDeclarationCompletionEClass, VARIABLE_DECLARATION_COMPLETION__VARIABLE_NAME);
+ createEReference(variableDeclarationCompletionEClass, VARIABLE_DECLARATION_COMPLETION__INIT_VALUE);
+
+ assignmentCompletionEClass = createEClass(ASSIGNMENT_COMPLETION);
+ createEAttribute(assignmentCompletionEClass, ASSIGNMENT_COMPLETION__OP);
+ createEReference(assignmentCompletionEClass, ASSIGNMENT_COMPLETION__RIGHT_HAND_SIDE);
+
+ // Create enums
+ booleanValueEEnum = createEEnum(BOOLEAN_VALUE);
+ linkOperationKindEEnum = createEEnum(LINK_OPERATION_KIND);
+ selectOrRejectOperatorEEnum = createEEnum(SELECT_OR_REJECT_OPERATOR);
+ collectOrIterateOperatorEEnum = createEEnum(COLLECT_OR_ITERATE_OPERATOR);
+ forAllOrExistsOrOneOperatorEEnum = createEEnum(FOR_ALL_OR_EXISTS_OR_ONE_OPERATOR);
+ annotationKindEEnum = createEEnum(ANNOTATION_KIND);
+ assignmentOperatorEEnum = createEEnum(ASSIGNMENT_OPERATOR);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents()
+ {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ literalEClass.getESuperTypes().add(this.getValueSpecification());
+ booleaN_LITERALEClass.getESuperTypes().add(this.getLITERAL());
+ numbeR_LITERALEClass.getESuperTypes().add(this.getLITERAL());
+ integeR_LITERALEClass.getESuperTypes().add(this.getNUMBER_LITERAL());
+ unlimiteD_LITERALEClass.getESuperTypes().add(this.getNUMBER_LITERAL());
+ strinG_LITERALEClass.getESuperTypes().add(this.getLITERAL());
+ nameExpressionEClass.getESuperTypes().add(this.getValueSpecification());
+ nameExpressionEClass.getESuperTypes().add(this.getNonLiteralValueSpecification());
+ expressionEClass.getESuperTypes().add(this.getSequenceElement());
+ conditionalTestExpressionEClass.getESuperTypes().add(this.getExpression());
+ operationCallExpressionEClass.getESuperTypes().add(this.getSuffixExpression());
+ propertyCallExpressionEClass.getESuperTypes().add(this.getSuffixExpression());
+ linkOperationExpressionEClass.getESuperTypes().add(this.getSuffixExpression());
+ sequenceOperationExpressionEClass.getESuperTypes().add(this.getSuffixExpression());
+ sequenceReductionExpressionEClass.getESuperTypes().add(this.getSuffixExpression());
+ sequenceExpansionExpressionEClass.getESuperTypes().add(this.getSuffixExpression());
+ selectOrRejectOperationEClass.getESuperTypes().add(this.getSequenceExpansionExpression());
+ collectOrIterateOperationEClass.getESuperTypes().add(this.getSequenceExpansionExpression());
+ forAllOrExistsOrOneOperationEClass.getESuperTypes().add(this.getSequenceExpansionExpression());
+ isUniqueOperationEClass.getESuperTypes().add(this.getSequenceExpansionExpression());
+ parenthesizedExpressionEClass.getESuperTypes().add(this.getValueSpecification());
+ parenthesizedExpressionEClass.getESuperTypes().add(this.getNonLiteralValueSpecification());
+ nullExpressionEClass.getESuperTypes().add(this.getValueSpecification());
+ thisExpressionEClass.getESuperTypes().add(this.getValueSpecification());
+ thisExpressionEClass.getESuperTypes().add(this.getNonLiteralValueSpecification());
+ superInvocationExpressionEClass.getESuperTypes().add(this.getValueSpecification());
+ superInvocationExpressionEClass.getESuperTypes().add(this.getNonLiteralValueSpecification());
+ instanceCreationExpressionEClass.getESuperTypes().add(this.getValueSpecification());
+ instanceCreationExpressionEClass.getESuperTypes().add(this.getNonLiteralValueSpecification());
+ sequenceConstructionExpressionEClass.getESuperTypes().add(this.getSequenceElement());
+ classExtentExpressionEClass.getESuperTypes().add(this.getSuffixExpression());
+ inlineStatementEClass.getESuperTypes().add(this.getStatement());
+ annotatedStatementEClass.getESuperTypes().add(this.getStatement());
+ blockStatementEClass.getESuperTypes().add(this.getStatement());
+ emptyStatementEClass.getESuperTypes().add(this.getStatement());
+ localNameDeclarationStatementEClass.getESuperTypes().add(this.getStatement());
+ ifStatementEClass.getESuperTypes().add(this.getStatement());
+ switchStatementEClass.getESuperTypes().add(this.getStatement());
+ whileStatementEClass.getESuperTypes().add(this.getStatement());
+ doStatementEClass.getESuperTypes().add(this.getStatement());
+ forStatementEClass.getESuperTypes().add(this.getStatement());
+ breakStatementEClass.getESuperTypes().add(this.getStatement());
+ returnStatementEClass.getESuperTypes().add(this.getStatement());
+ acceptStatementEClass.getESuperTypes().add(this.getStatement());
+ classifyStatementEClass.getESuperTypes().add(this.getStatement());
+ invocationOrAssignementOrDeclarationStatementEClass.getESuperTypes().add(this.getStatement());
+ superInvocationStatementEClass.getESuperTypes().add(this.getStatement());
+ thisInvocationStatementEClass.getESuperTypes().add(this.getStatement());
+ instanceCreationInvocationStatementEClass.getESuperTypes().add(this.getStatement());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(testEClass, Test.class, "Test", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTest_Expression(), this.getExpression(), null, "expression", null, 0, -1, Test.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTest_AssignExpression(), this.getAssignmentCompletion(), null, "assignExpression", null, 0, -1, Test.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTest_Statements(), this.getStatement(), null, "statements", null, 0, -1, Test.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTest_Block(), this.getBlock(), null, "block", null, 0, 1, Test.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(literalEClass, org.eclipse.papyrus.alf.alf.LITERAL.class, "LITERAL", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(booleaN_LITERALEClass, org.eclipse.papyrus.alf.alf.BOOLEAN_LITERAL.class, "BOOLEAN_LITERAL", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getBOOLEAN_LITERAL_Value(), this.getBooleanValue(), "value", null, 0, 1, org.eclipse.papyrus.alf.alf.BOOLEAN_LITERAL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(numbeR_LITERALEClass, org.eclipse.papyrus.alf.alf.NUMBER_LITERAL.class, "NUMBER_LITERAL", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNUMBER_LITERAL_Value(), ecorePackage.getEString(), "value", null, 0, 1, org.eclipse.papyrus.alf.alf.NUMBER_LITERAL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(integeR_LITERALEClass, org.eclipse.papyrus.alf.alf.INTEGER_LITERAL.class, "INTEGER_LITERAL", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(unlimiteD_LITERALEClass, org.eclipse.papyrus.alf.alf.UNLIMITED_LITERAL.class, "UNLIMITED_LITERAL", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(strinG_LITERALEClass, org.eclipse.papyrus.alf.alf.STRING_LITERAL.class, "STRING_LITERAL", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSTRING_LITERAL_Value(), ecorePackage.getEString(), "value", null, 0, 1, org.eclipse.papyrus.alf.alf.STRING_LITERAL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(nameExpressionEClass, NameExpression.class, "NameExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNameExpression_PrefixOp(), ecorePackage.getEString(), "prefixOp", null, 0, 1, NameExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNameExpression_Path(), this.getQualifiedNamePath(), null, "path", null, 0, 1, NameExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNameExpression_Id(), ecorePackage.getEString(), "id", null, 0, 1, NameExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNameExpression_InvocationCompletion(), this.getTuple(), null, "invocationCompletion", null, 0, 1, NameExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNameExpression_SequenceConstructionCompletion(), this.getSequenceConstructionOrAccessCompletion(), null, "sequenceConstructionCompletion", null, 0, 1, NameExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNameExpression_PostfixOp(), ecorePackage.getEString(), "postfixOp", null, 0, 1, NameExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNameExpression_Suffix(), this.getSuffixExpression(), null, "suffix", null, 0, 1, NameExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(qualifiedNamePathEClass, QualifiedNamePath.class, "QualifiedNamePath", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getQualifiedNamePath_Namespace(), this.getUnqualifiedName(), null, "namespace", null, 0, -1, QualifiedNamePath.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(unqualifiedNameEClass, UnqualifiedName.class, "UnqualifiedName", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getUnqualifiedName_Name(), ecorePackage.getEString(), "name", null, 0, 1, UnqualifiedName.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getUnqualifiedName_TemplateBinding(), this.getTemplateBinding(), null, "templateBinding", null, 0, 1, UnqualifiedName.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(templateBindingEClass, TemplateBinding.class, "TemplateBinding", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTemplateBinding_Bindings(), this.getNamedTemplateBinding(), null, "bindings", null, 0, -1, TemplateBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(namedTemplateBindingEClass, NamedTemplateBinding.class, "NamedTemplateBinding", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNamedTemplateBinding_Formal(), ecorePackage.getEString(), "formal", null, 0, 1, NamedTemplateBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNamedTemplateBinding_Actual(), this.getQualifiedNameWithBinding(), null, "actual", null, 0, 1, NamedTemplateBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(qualifiedNameWithBindingEClass, QualifiedNameWithBinding.class, "QualifiedNameWithBinding", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getQualifiedNameWithBinding_Id(), ecorePackage.getEString(), "id", null, 0, 1, QualifiedNameWithBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getQualifiedNameWithBinding_Binding(), this.getTemplateBinding(), null, "binding", null, 0, 1, QualifiedNameWithBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getQualifiedNameWithBinding_Remaining(), this.getQualifiedNameWithBinding(), null, "remaining", null, 0, 1, QualifiedNameWithBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(tupleEClass, Tuple.class, "Tuple", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTuple_TupleElements(), this.getTupleElement(), null, "tupleElements", null, 0, -1, Tuple.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(tupleElementEClass, TupleElement.class, "TupleElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTupleElement_Argument(), this.getExpression(), null, "argument", null, 0, 1, TupleElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(expressionEClass, Expression.class, "Expression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(conditionalTestExpressionEClass, ConditionalTestExpression.class, "ConditionalTestExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getConditionalTestExpression_Exp(), this.getConditionalOrExpression(), null, "exp", null, 0, 1, ConditionalTestExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getConditionalTestExpression_WhenTrue(), this.getConditionalTestExpression(), null, "whenTrue", null, 0, 1, ConditionalTestExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getConditionalTestExpression_WhenFalse(), this.getConditionalTestExpression(), null, "whenFalse", null, 0, 1, ConditionalTestExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(conditionalOrExpressionEClass, ConditionalOrExpression.class, "ConditionalOrExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getConditionalOrExpression_Exp(), this.getConditionalAndExpression(), null, "exp", null, 0, -1, ConditionalOrExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(conditionalAndExpressionEClass, ConditionalAndExpression.class, "ConditionalAndExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getConditionalAndExpression_Exp(), this.getInclusiveOrExpression(), null, "exp", null, 0, -1, ConditionalAndExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(inclusiveOrExpressionEClass, InclusiveOrExpression.class, "InclusiveOrExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getInclusiveOrExpression_Exp(), this.getExclusiveOrExpression(), null, "exp", null, 0, -1, InclusiveOrExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(exclusiveOrExpressionEClass, ExclusiveOrExpression.class, "ExclusiveOrExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getExclusiveOrExpression_Exp(), this.getAndExpression(), null, "exp", null, 0, -1, ExclusiveOrExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(andExpressionEClass, AndExpression.class, "AndExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAndExpression_Exp(), this.getEqualityExpression(), null, "exp", null, 0, -1, AndExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(equalityExpressionEClass, EqualityExpression.class, "EqualityExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEqualityExpression_Exp(), this.getClassificationExpression(), null, "exp", null, 0, -1, EqualityExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getEqualityExpression_Op(), ecorePackage.getEString(), "op", null, 0, -1, EqualityExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(classificationExpressionEClass, ClassificationExpression.class, "ClassificationExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getClassificationExpression_Exp(), this.getRelationalExpression(), null, "exp", null, 0, 1, ClassificationExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getClassificationExpression_Op(), ecorePackage.getEString(), "op", null, 0, 1, ClassificationExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getClassificationExpression_TypeName(), this.getNameExpression(), null, "typeName", null, 0, 1, ClassificationExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(relationalExpressionEClass, RelationalExpression.class, "RelationalExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRelationalExpression_Left(), this.getShiftExpression(), null, "left", null, 0, 1, RelationalExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRelationalExpression_Op(), ecorePackage.getEString(), "op", null, 0, 1, RelationalExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRelationalExpression_Right(), this.getShiftExpression(), null, "right", null, 0, 1, RelationalExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(shiftExpressionEClass, ShiftExpression.class, "ShiftExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getShiftExpression_Exp(), this.getAdditiveExpression(), null, "exp", null, 0, -1, ShiftExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getShiftExpression_Op(), ecorePackage.getEString(), "op", null, 0, 1, ShiftExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(additiveExpressionEClass, AdditiveExpression.class, "AdditiveExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAdditiveExpression_Exp(), this.getMultiplicativeExpression(), null, "exp", null, 0, -1, AdditiveExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAdditiveExpression_Op(), ecorePackage.getEString(), "op", null, 0, -1, AdditiveExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(multiplicativeExpressionEClass, MultiplicativeExpression.class, "MultiplicativeExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMultiplicativeExpression_Exp(), this.getUnaryExpression(), null, "exp", null, 0, -1, MultiplicativeExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMultiplicativeExpression_Op(), ecorePackage.getEString(), "op", null, 0, -1, MultiplicativeExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(unaryExpressionEClass, UnaryExpression.class, "UnaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getUnaryExpression_Op(), ecorePackage.getEString(), "op", null, 0, 1, UnaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getUnaryExpression_Exp(), this.getPrimaryExpression(), null, "exp", null, 0, 1, UnaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(primaryExpressionEClass, PrimaryExpression.class, "PrimaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPrimaryExpression_Prefix(), this.getValueSpecification(), null, "prefix", null, 0, 1, PrimaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(suffixExpressionEClass, SuffixExpression.class, "SuffixExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(operationCallExpressionEClass, OperationCallExpression.class, "OperationCallExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getOperationCallExpression_OperationName(), ecorePackage.getEString(), "operationName", null, 0, 1, OperationCallExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getOperationCallExpression_Tuple(), this.getTuple(), null, "tuple", null, 0, 1, OperationCallExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getOperationCallExpression_Suffix(), this.getSuffixExpression(), null, "suffix", null, 0, 1, OperationCallExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(propertyCallExpressionEClass, PropertyCallExpression.class, "PropertyCallExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPropertyCallExpression_PropertyName(), ecorePackage.getEString(), "propertyName", null, 0, 1, PropertyCallExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPropertyCallExpression_Index(), this.getExpression(), null, "index", null, 0, 1, PropertyCallExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPropertyCallExpression_Suffix(), this.getSuffixExpression(), null, "suffix", null, 0, 1, PropertyCallExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(linkOperationExpressionEClass, LinkOperationExpression.class, "LinkOperationExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getLinkOperationExpression_Kind(), this.getLinkOperationKind(), "kind", null, 0, 1, LinkOperationExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getLinkOperationExpression_Tuple(), this.getLinkOperationTuple(), null, "tuple", null, 0, 1, LinkOperationExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(linkOperationTupleEClass, LinkOperationTuple.class, "LinkOperationTuple", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getLinkOperationTuple_LinkOperationTupleElement(), this.getLinkOperationTupleElement(), null, "linkOperationTupleElement", null, 0, -1, LinkOperationTuple.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(linkOperationTupleElementEClass, LinkOperationTupleElement.class, "LinkOperationTupleElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getLinkOperationTupleElement_Role(), ecorePackage.getEString(), "role", null, 0, 1, LinkOperationTupleElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getLinkOperationTupleElement_RoleIndex(), this.getExpression(), null, "roleIndex", null, 0, 1, LinkOperationTupleElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getLinkOperationTupleElement_Object(), this.getExpression(), null, "object", null, 0, 1, LinkOperationTupleElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(sequenceOperationExpressionEClass, SequenceOperationExpression.class, "SequenceOperationExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSequenceOperationExpression_OperationName(), this.getQualifiedNameWithBinding(), null, "operationName", null, 0, 1, SequenceOperationExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSequenceOperationExpression_Tuple(), this.getTuple(), null, "tuple", null, 0, 1, SequenceOperationExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSequenceOperationExpression_Suffix(), this.getSuffixExpression(), null, "suffix", null, 0, 1, SequenceOperationExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(sequenceReductionExpressionEClass, SequenceReductionExpression.class, "SequenceReductionExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSequenceReductionExpression_IsOrdered(), ecorePackage.getEBoolean(), "isOrdered", null, 0, 1, SequenceReductionExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSequenceReductionExpression_Behavior(), this.getQualifiedNameWithBinding(), null, "behavior", null, 0, 1, SequenceReductionExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSequenceReductionExpression_Suffix(), this.getSuffixExpression(), null, "suffix", null, 0, 1, SequenceReductionExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(sequenceExpansionExpressionEClass, SequenceExpansionExpression.class, "SequenceExpansionExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSequenceExpansionExpression_Name(), ecorePackage.getEString(), "name", null, 0, 1, SequenceExpansionExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSequenceExpansionExpression_Expr(), this.getExpression(), null, "expr", null, 0, 1, SequenceExpansionExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSequenceExpansionExpression_Suffix(), this.getSuffixExpression(), null, "suffix", null, 0, 1, SequenceExpansionExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(selectOrRejectOperationEClass, SelectOrRejectOperation.class, "SelectOrRejectOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSelectOrRejectOperation_Op(), this.getSelectOrRejectOperator(), "op", null, 0, 1, SelectOrRejectOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(collectOrIterateOperationEClass, CollectOrIterateOperation.class, "CollectOrIterateOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCollectOrIterateOperation_Op(), this.getCollectOrIterateOperator(), "op", null, 0, 1, CollectOrIterateOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(forAllOrExistsOrOneOperationEClass, ForAllOrExistsOrOneOperation.class, "ForAllOrExistsOrOneOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getForAllOrExistsOrOneOperation_Op(), this.getForAllOrExistsOrOneOperator(), "op", null, 0, 1, ForAllOrExistsOrOneOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(isUniqueOperationEClass, IsUniqueOperation.class, "IsUniqueOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(valueSpecificationEClass, ValueSpecification.class, "ValueSpecification", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(nonLiteralValueSpecificationEClass, NonLiteralValueSpecification.class, "NonLiteralValueSpecification", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(parenthesizedExpressionEClass, ParenthesizedExpression.class, "ParenthesizedExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getParenthesizedExpression_ExpOrTypeCast(), this.getExpression(), null, "expOrTypeCast", null, 0, 1, ParenthesizedExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getParenthesizedExpression_Casted(), this.getNonLiteralValueSpecification(), null, "casted", null, 0, 1, ParenthesizedExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getParenthesizedExpression_Suffix(), this.getSuffixExpression(), null, "suffix", null, 0, 1, ParenthesizedExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(nullExpressionEClass, NullExpression.class, "NullExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(thisExpressionEClass, ThisExpression.class, "ThisExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getThisExpression_Suffix(), this.getSuffixExpression(), null, "suffix", null, 0, 1, ThisExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(superInvocationExpressionEClass, SuperInvocationExpression.class, "SuperInvocationExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSuperInvocationExpression_Tuple(), this.getTuple(), null, "tuple", null, 0, 1, SuperInvocationExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSuperInvocationExpression_OperationName(), this.getQualifiedNameWithBinding(), null, "operationName", null, 0, 1, SuperInvocationExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(instanceCreationExpressionEClass, InstanceCreationExpression.class, "InstanceCreationExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getInstanceCreationExpression_Constructor(), this.getQualifiedNameWithBinding(), null, "constructor", null, 0, 1, InstanceCreationExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getInstanceCreationExpression_Tuple(), this.getInstanceCreationTuple(), null, "tuple", null, 0, 1, InstanceCreationExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getInstanceCreationExpression_Suffix(), this.getSuffixExpression(), null, "suffix", null, 0, 1, InstanceCreationExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(instanceCreationTupleEClass, InstanceCreationTuple.class, "InstanceCreationTuple", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getInstanceCreationTuple_InstanceCreationTupleElement(), this.getInstanceCreationTupleElement(), null, "instanceCreationTupleElement", null, 0, -1, InstanceCreationTuple.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(instanceCreationTupleElementEClass, InstanceCreationTupleElement.class, "InstanceCreationTupleElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getInstanceCreationTupleElement_Role(), ecorePackage.getEString(), "role", null, 0, 1, InstanceCreationTupleElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getInstanceCreationTupleElement_Object(), this.getExpression(), null, "object", null, 0, 1, InstanceCreationTupleElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(sequenceConstructionOrAccessCompletionEClass, SequenceConstructionOrAccessCompletion.class, "SequenceConstructionOrAccessCompletion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSequenceConstructionOrAccessCompletion_MultiplicityIndicator(), ecorePackage.getEBoolean(), "multiplicityIndicator", null, 0, 1, SequenceConstructionOrAccessCompletion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSequenceConstructionOrAccessCompletion_AccessCompletion(), this.getAccessCompletion(), null, "accessCompletion", null, 0, 1, SequenceConstructionOrAccessCompletion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSequenceConstructionOrAccessCompletion_SequenceCompletion(), this.getPartialSequenceConstructionCompletion(), null, "sequenceCompletion", null, 0, 1, SequenceConstructionOrAccessCompletion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSequenceConstructionOrAccessCompletion_Expression(), this.getSequenceConstructionExpression(), null, "expression", null, 0, 1, SequenceConstructionOrAccessCompletion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(accessCompletionEClass, AccessCompletion.class, "AccessCompletion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAccessCompletion_AccessIndex(), this.getExpression(), null, "accessIndex", null, 0, 1, AccessCompletion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(partialSequenceConstructionCompletionEClass, PartialSequenceConstructionCompletion.class, "PartialSequenceConstructionCompletion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPartialSequenceConstructionCompletion_Expression(), this.getSequenceConstructionExpression(), null, "expression", null, 0, 1, PartialSequenceConstructionCompletion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(sequenceConstructionExpressionEClass, SequenceConstructionExpression.class, "SequenceConstructionExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSequenceConstructionExpression_SequenceElement(), this.getSequenceElement(), null, "sequenceElement", null, 0, -1, SequenceConstructionExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSequenceConstructionExpression_RangeUpper(), this.getExpression(), null, "rangeUpper", null, 0, 1, SequenceConstructionExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(sequenceElementEClass, SequenceElement.class, "SequenceElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(classExtentExpressionEClass, ClassExtentExpression.class, "ClassExtentExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(blockEClass, Block.class, "Block", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getBlock_Sequence(), this.getStatementSequence(), null, "sequence", null, 0, 1, Block.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(statementSequenceEClass, StatementSequence.class, "StatementSequence", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getStatementSequence_Statements(), this.getDocumentedStatement(), null, "statements", null, 0, -1, StatementSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(documentedStatementEClass, DocumentedStatement.class, "DocumentedStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDocumentedStatement_Comment(), ecorePackage.getEString(), "comment", null, 0, 1, DocumentedStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDocumentedStatement_Statement(), this.getStatement(), null, "statement", null, 0, 1, DocumentedStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(inlineStatementEClass, InlineStatement.class, "InlineStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getInlineStatement_LangageName(), ecorePackage.getEString(), "langageName", null, 0, 1, InlineStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getInlineStatement_Body(), ecorePackage.getEString(), "body", null, 0, 1, InlineStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(annotatedStatementEClass, AnnotatedStatement.class, "AnnotatedStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAnnotatedStatement_Annotation(), this.getAnnotation(), null, "annotation", null, 0, 1, AnnotatedStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAnnotatedStatement_Statement(), this.getStatement(), null, "statement", null, 0, 1, AnnotatedStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(annotationEClass, Annotation.class, "Annotation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAnnotation_Kind(), this.getAnnotationKind(), "kind", null, 0, 1, Annotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAnnotation_Args(), ecorePackage.getEString(), "args", null, 0, -1, Annotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(blockStatementEClass, BlockStatement.class, "BlockStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getBlockStatement_Block(), this.getBlock(), null, "block", null, 0, 1, BlockStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(emptyStatementEClass, EmptyStatement.class, "EmptyStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(localNameDeclarationStatementEClass, LocalNameDeclarationStatement.class, "LocalNameDeclarationStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getLocalNameDeclarationStatement_VarName(), ecorePackage.getEString(), "varName", null, 0, 1, LocalNameDeclarationStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getLocalNameDeclarationStatement_Type(), this.getQualifiedNameWithBinding(), null, "type", null, 0, 1, LocalNameDeclarationStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getLocalNameDeclarationStatement_MultiplicityIndicator(), ecorePackage.getEBoolean(), "multiplicityIndicator", null, 0, 1, LocalNameDeclarationStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getLocalNameDeclarationStatement_Init(), this.getSequenceElement(), null, "init", null, 0, 1, LocalNameDeclarationStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(ifStatementEClass, IfStatement.class, "IfStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getIfStatement_SequentialClausses(), this.getSequentialClauses(), null, "sequentialClausses", null, 0, 1, IfStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getIfStatement_FinalClause(), this.getFinalClause(), null, "finalClause", null, 0, 1, IfStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(sequentialClausesEClass, SequentialClauses.class, "SequentialClauses", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSequentialClauses_ConccurentClauses(), this.getConcurrentClauses(), null, "conccurentClauses", null, 0, -1, SequentialClauses.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(concurrentClausesEClass, ConcurrentClauses.class, "ConcurrentClauses", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getConcurrentClauses_NonFinalClause(), this.getNonFinalClause(), null, "nonFinalClause", null, 0, -1, ConcurrentClauses.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(nonFinalClauseEClass, NonFinalClause.class, "NonFinalClause", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getNonFinalClause_Condition(), this.getExpression(), null, "condition", null, 0, 1, NonFinalClause.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNonFinalClause_Block(), this.getBlock(), null, "block", null, 0, 1, NonFinalClause.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(finalClauseEClass, FinalClause.class, "FinalClause", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFinalClause_Block(), this.getBlock(), null, "block", null, 0, 1, FinalClause.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(switchStatementEClass, SwitchStatement.class, "SwitchStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSwitchStatement_Expression(), this.getExpression(), null, "expression", null, 0, 1, SwitchStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSwitchStatement_SwitchClause(), this.getSwitchClause(), null, "switchClause", null, 0, -1, SwitchStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSwitchStatement_DefaultClause(), this.getSwitchDefaultClause(), null, "defaultClause", null, 0, 1, SwitchStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(switchClauseEClass, SwitchClause.class, "SwitchClause", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSwitchClause_SwitchCase(), this.getSwitchCase(), null, "switchCase", null, 0, -1, SwitchClause.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSwitchClause_StatementSequence(), this.getNonEmptyStatementSequence(), null, "statementSequence", null, 0, 1, SwitchClause.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(switchCaseEClass, SwitchCase.class, "SwitchCase", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSwitchCase_Expression(), this.getExpression(), null, "expression", null, 0, 1, SwitchCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(switchDefaultClauseEClass, SwitchDefaultClause.class, "SwitchDefaultClause", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSwitchDefaultClause_StatementSequence(), this.getNonEmptyStatementSequence(), null, "statementSequence", null, 0, 1, SwitchDefaultClause.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(nonEmptyStatementSequenceEClass, NonEmptyStatementSequence.class, "NonEmptyStatementSequence", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getNonEmptyStatementSequence_Statement(), this.getDocumentedStatement(), null, "statement", null, 0, -1, NonEmptyStatementSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(whileStatementEClass, WhileStatement.class, "WhileStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getWhileStatement_Condition(), this.getExpression(), null, "condition", null, 0, 1, WhileStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getWhileStatement_Block(), this.getBlock(), null, "block", null, 0, 1, WhileStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(doStatementEClass, DoStatement.class, "DoStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDoStatement_Block(), this.getBlock(), null, "block", null, 0, 1, DoStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDoStatement_Condition(), this.getExpression(), null, "condition", null, 0, 1, DoStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(forStatementEClass, ForStatement.class, "ForStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getForStatement_Control(), this.getForControl(), null, "control", null, 0, 1, ForStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getForStatement_Block(), this.getBlock(), null, "block", null, 0, 1, ForStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(forControlEClass, ForControl.class, "ForControl", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getForControl_LoopVariableDefinition(), this.getLoopVariableDefinition(), null, "loopVariableDefinition", null, 0, -1, ForControl.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(loopVariableDefinitionEClass, LoopVariableDefinition.class, "LoopVariableDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getLoopVariableDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, LoopVariableDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getLoopVariableDefinition_Expression1(), this.getExpression(), null, "expression1", null, 0, 1, LoopVariableDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getLoopVariableDefinition_Expression2(), this.getExpression(), null, "expression2", null, 0, 1, LoopVariableDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getLoopVariableDefinition_Type(), this.getQualifiedNameWithBinding(), null, "type", null, 0, 1, LoopVariableDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getLoopVariableDefinition_Expression(), this.getExpression(), null, "expression", null, 0, 1, LoopVariableDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(breakStatementEClass, BreakStatement.class, "BreakStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(returnStatementEClass, ReturnStatement.class, "ReturnStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getReturnStatement_Expression(), this.getExpression(), null, "expression", null, 0, 1, ReturnStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(acceptStatementEClass, AcceptStatement.class, "AcceptStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAcceptStatement_Clause(), this.getAcceptClause(), null, "clause", null, 0, 1, AcceptStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAcceptStatement_SimpleAccept(), this.getSimpleAcceptStatementCompletion(), null, "simpleAccept", null, 0, 1, AcceptStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAcceptStatement_CompoundAccept(), this.getCompoundAcceptStatementCompletion(), null, "compoundAccept", null, 0, 1, AcceptStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(simpleAcceptStatementCompletionEClass, SimpleAcceptStatementCompletion.class, "SimpleAcceptStatementCompletion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(compoundAcceptStatementCompletionEClass, CompoundAcceptStatementCompletion.class, "CompoundAcceptStatementCompletion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCompoundAcceptStatementCompletion_Block(), this.getBlock(), null, "block", null, 0, 1, CompoundAcceptStatementCompletion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCompoundAcceptStatementCompletion_AcceptBlock(), this.getAcceptBlock(), null, "acceptBlock", null, 0, -1, CompoundAcceptStatementCompletion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(acceptBlockEClass, AcceptBlock.class, "AcceptBlock", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAcceptBlock_Clause(), this.getAcceptClause(), null, "clause", null, 0, 1, AcceptBlock.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAcceptBlock_Block(), this.getBlock(), null, "block", null, 0, 1, AcceptBlock.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(acceptClauseEClass, AcceptClause.class, "AcceptClause", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAcceptClause_Name(), ecorePackage.getEString(), "name", null, 0, 1, AcceptClause.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAcceptClause_QualifiedNameList(), this.getQualifiedNameList(), null, "qualifiedNameList", null, 0, 1, AcceptClause.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(classifyStatementEClass, ClassifyStatement.class, "ClassifyStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getClassifyStatement_Expression(), this.getExpression(), null, "expression", null, 0, 1, ClassifyStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getClassifyStatement_Clause(), this.getClassificationClause(), null, "clause", null, 0, 1, ClassifyStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(classificationClauseEClass, ClassificationClause.class, "ClassificationClause", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getClassificationClause_ClassifyFromClause(), this.getClassificationFromClause(), null, "classifyFromClause", null, 0, 1, ClassificationClause.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getClassificationClause_ClassifyToClause(), this.getClassificationToClause(), null, "classifyToClause", null, 0, 1, ClassificationClause.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getClassificationClause_ReclassyAllClause(), this.getReclassifyAllClause(), null, "reclassyAllClause", null, 0, 1, ClassificationClause.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(classificationFromClauseEClass, ClassificationFromClause.class, "ClassificationFromClause", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getClassificationFromClause_QualifiedNameList(), this.getQualifiedNameList(), null, "qualifiedNameList", null, 0, 1, ClassificationFromClause.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(classificationToClauseEClass, ClassificationToClause.class, "ClassificationToClause", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getClassificationToClause_QualifiedNameList(), this.getQualifiedNameList(), null, "qualifiedNameList", null, 0, 1, ClassificationToClause.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(reclassifyAllClauseEClass, ReclassifyAllClause.class, "ReclassifyAllClause", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(qualifiedNameListEClass, QualifiedNameList.class, "QualifiedNameList", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getQualifiedNameList_QualifiedName(), this.getQualifiedNameWithBinding(), null, "qualifiedName", null, 0, -1, QualifiedNameList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(invocationOrAssignementOrDeclarationStatementEClass, InvocationOrAssignementOrDeclarationStatement.class, "InvocationOrAssignementOrDeclarationStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getInvocationOrAssignementOrDeclarationStatement_TypePart_OR_assignedPart_OR_invocationPart(), this.getNameExpression(), null, "typePart_OR_assignedPart_OR_invocationPart", null, 0, 1, InvocationOrAssignementOrDeclarationStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getInvocationOrAssignementOrDeclarationStatement_VariableDeclarationCompletion(), this.getVariableDeclarationCompletion(), null, "variableDeclarationCompletion", null, 0, 1, InvocationOrAssignementOrDeclarationStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getInvocationOrAssignementOrDeclarationStatement_AssignmentCompletion(), this.getAssignmentCompletion(), null, "assignmentCompletion", null, 0, 1, InvocationOrAssignementOrDeclarationStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(superInvocationStatementEClass, SuperInvocationStatement.class, "SuperInvocationStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSuperInvocationStatement__super(), this.getSuperInvocationExpression(), null, "_super", null, 0, 1, SuperInvocationStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(thisInvocationStatementEClass, ThisInvocationStatement.class, "ThisInvocationStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getThisInvocationStatement__this(), this.getThisExpression(), null, "_this", null, 0, 1, ThisInvocationStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getThisInvocationStatement_AssignmentCompletion(), this.getAssignmentCompletion(), null, "assignmentCompletion", null, 0, 1, ThisInvocationStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(instanceCreationInvocationStatementEClass, InstanceCreationInvocationStatement.class, "InstanceCreationInvocationStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getInstanceCreationInvocationStatement__new(), this.getInstanceCreationExpression(), null, "_new", null, 0, 1, InstanceCreationInvocationStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(variableDeclarationCompletionEClass, VariableDeclarationCompletion.class, "VariableDeclarationCompletion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getVariableDeclarationCompletion_MultiplicityIndicator(), ecorePackage.getEBoolean(), "multiplicityIndicator", null, 0, 1, VariableDeclarationCompletion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVariableDeclarationCompletion_VariableName(), ecorePackage.getEString(), "variableName", null, 0, 1, VariableDeclarationCompletion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getVariableDeclarationCompletion_InitValue(), this.getAssignmentCompletion(), null, "initValue", null, 0, 1, VariableDeclarationCompletion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(assignmentCompletionEClass, AssignmentCompletion.class, "AssignmentCompletion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAssignmentCompletion_Op(), this.getAssignmentOperator(), "op", null, 0, 1, AssignmentCompletion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAssignmentCompletion_RightHandSide(), this.getSequenceElement(), null, "rightHandSide", null, 0, 1, AssignmentCompletion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(booleanValueEEnum, BooleanValue.class, "BooleanValue");
+ addEEnumLiteral(booleanValueEEnum, BooleanValue.TRUE);
+ addEEnumLiteral(booleanValueEEnum, BooleanValue.FALSE);
+
+ initEEnum(linkOperationKindEEnum, LinkOperationKind.class, "LinkOperationKind");
+ addEEnumLiteral(linkOperationKindEEnum, LinkOperationKind.CREATE);
+ addEEnumLiteral(linkOperationKindEEnum, LinkOperationKind.DESTROY);
+ addEEnumLiteral(linkOperationKindEEnum, LinkOperationKind.CLEAR);
+
+ initEEnum(selectOrRejectOperatorEEnum, SelectOrRejectOperator.class, "SelectOrRejectOperator");
+ addEEnumLiteral(selectOrRejectOperatorEEnum, SelectOrRejectOperator.SELECT);
+ addEEnumLiteral(selectOrRejectOperatorEEnum, SelectOrRejectOperator.REJECT);
+
+ initEEnum(collectOrIterateOperatorEEnum, CollectOrIterateOperator.class, "CollectOrIterateOperator");
+ addEEnumLiteral(collectOrIterateOperatorEEnum, CollectOrIterateOperator.COLLECT);
+ addEEnumLiteral(collectOrIterateOperatorEEnum, CollectOrIterateOperator.ITERATE);
+
+ initEEnum(forAllOrExistsOrOneOperatorEEnum, ForAllOrExistsOrOneOperator.class, "ForAllOrExistsOrOneOperator");
+ addEEnumLiteral(forAllOrExistsOrOneOperatorEEnum, ForAllOrExistsOrOneOperator.FORALL);
+ addEEnumLiteral(forAllOrExistsOrOneOperatorEEnum, ForAllOrExistsOrOneOperator.EXISTS);
+ addEEnumLiteral(forAllOrExistsOrOneOperatorEEnum, ForAllOrExistsOrOneOperator.ONE);
+
+ initEEnum(annotationKindEEnum, AnnotationKind.class, "AnnotationKind");
+ addEEnumLiteral(annotationKindEEnum, AnnotationKind.ISOLATED);
+ addEEnumLiteral(annotationKindEEnum, AnnotationKind.DETERMINED);
+ addEEnumLiteral(annotationKindEEnum, AnnotationKind.ASSURED);
+ addEEnumLiteral(annotationKindEEnum, AnnotationKind.PARALLEL);
+
+ initEEnum(assignmentOperatorEEnum, AssignmentOperator.class, "AssignmentOperator");
+ addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.ASSIGN);
+ addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.PLUSASSIGN);
+ addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.MINUSASSIGN);
+ addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.MULTASSIGN);
+ addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.MODASSIGN);
+ addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.DIVASSIGN);
+ addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.ANDASSIGN);
+ addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.ORASSIGN);
+ addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.XORASSIGN);
+ addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.LSHIFTASSIGN);
+ addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.RSHIFTASSIGN);
+ addEEnumLiteral(assignmentOperatorEEnum, AssignmentOperator.URSHIFTASSIGN);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //AlfPackageImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AndExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AndExpressionImpl.java
new file mode 100644
index 00000000000..dcc2aff71a9
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AndExpressionImpl.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.AndExpression;
+import org.eclipse.papyrus.alf.alf.EqualityExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>And Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.AndExpressionImpl#getExp <em>Exp</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AndExpressionImpl extends MinimalEObjectImpl.Container implements AndExpression
+{
+ /**
+ * The cached value of the '{@link #getExp() <em>Exp</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExp()
+ * @generated
+ * @ordered
+ */
+ protected EList<EqualityExpression> exp;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AndExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.AND_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EqualityExpression> getExp()
+ {
+ if (exp == null)
+ {
+ exp = new EObjectContainmentEList<EqualityExpression>(EqualityExpression.class, this, AlfPackage.AND_EXPRESSION__EXP);
+ }
+ return exp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.AND_EXPRESSION__EXP:
+ return ((InternalEList<?>)getExp()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.AND_EXPRESSION__EXP:
+ return getExp();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.AND_EXPRESSION__EXP:
+ getExp().clear();
+ getExp().addAll((Collection<? extends EqualityExpression>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.AND_EXPRESSION__EXP:
+ getExp().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.AND_EXPRESSION__EXP:
+ return exp != null && !exp.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //AndExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AnnotatedStatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AnnotatedStatementImpl.java
new file mode 100644
index 00000000000..8171473e8bc
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AnnotatedStatementImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.AnnotatedStatement;
+import org.eclipse.papyrus.alf.alf.Annotation;
+import org.eclipse.papyrus.alf.alf.Statement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Annotated Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.AnnotatedStatementImpl#getAnnotation <em>Annotation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.AnnotatedStatementImpl#getStatement <em>Statement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AnnotatedStatementImpl extends StatementImpl implements AnnotatedStatement
+{
+ /**
+ * The cached value of the '{@link #getAnnotation() <em>Annotation</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAnnotation()
+ * @generated
+ * @ordered
+ */
+ protected Annotation annotation;
+
+ /**
+ * The cached value of the '{@link #getStatement() <em>Statement</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatement()
+ * @generated
+ * @ordered
+ */
+ protected Statement statement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AnnotatedStatementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.ANNOTATED_STATEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Annotation getAnnotation()
+ {
+ return annotation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetAnnotation(Annotation newAnnotation, NotificationChain msgs)
+ {
+ Annotation oldAnnotation = annotation;
+ annotation = newAnnotation;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.ANNOTATED_STATEMENT__ANNOTATION, oldAnnotation, newAnnotation);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAnnotation(Annotation newAnnotation)
+ {
+ if (newAnnotation != annotation)
+ {
+ NotificationChain msgs = null;
+ if (annotation != null)
+ msgs = ((InternalEObject)annotation).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ANNOTATED_STATEMENT__ANNOTATION, null, msgs);
+ if (newAnnotation != null)
+ msgs = ((InternalEObject)newAnnotation).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ANNOTATED_STATEMENT__ANNOTATION, null, msgs);
+ msgs = basicSetAnnotation(newAnnotation, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.ANNOTATED_STATEMENT__ANNOTATION, newAnnotation, newAnnotation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Statement getStatement()
+ {
+ return statement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetStatement(Statement newStatement, NotificationChain msgs)
+ {
+ Statement oldStatement = statement;
+ statement = newStatement;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.ANNOTATED_STATEMENT__STATEMENT, oldStatement, newStatement);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatement(Statement newStatement)
+ {
+ if (newStatement != statement)
+ {
+ NotificationChain msgs = null;
+ if (statement != null)
+ msgs = ((InternalEObject)statement).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ANNOTATED_STATEMENT__STATEMENT, null, msgs);
+ if (newStatement != null)
+ msgs = ((InternalEObject)newStatement).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ANNOTATED_STATEMENT__STATEMENT, null, msgs);
+ msgs = basicSetStatement(newStatement, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.ANNOTATED_STATEMENT__STATEMENT, newStatement, newStatement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ANNOTATED_STATEMENT__ANNOTATION:
+ return basicSetAnnotation(null, msgs);
+ case AlfPackage.ANNOTATED_STATEMENT__STATEMENT:
+ return basicSetStatement(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ANNOTATED_STATEMENT__ANNOTATION:
+ return getAnnotation();
+ case AlfPackage.ANNOTATED_STATEMENT__STATEMENT:
+ return getStatement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ANNOTATED_STATEMENT__ANNOTATION:
+ setAnnotation((Annotation)newValue);
+ return;
+ case AlfPackage.ANNOTATED_STATEMENT__STATEMENT:
+ setStatement((Statement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ANNOTATED_STATEMENT__ANNOTATION:
+ setAnnotation((Annotation)null);
+ return;
+ case AlfPackage.ANNOTATED_STATEMENT__STATEMENT:
+ setStatement((Statement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ANNOTATED_STATEMENT__ANNOTATION:
+ return annotation != null;
+ case AlfPackage.ANNOTATED_STATEMENT__STATEMENT:
+ return statement != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //AnnotatedStatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AnnotationImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AnnotationImpl.java
new file mode 100644
index 00000000000..f8cd5945343
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AnnotationImpl.java
@@ -0,0 +1,227 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Annotation;
+import org.eclipse.papyrus.alf.alf.AnnotationKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Annotation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.AnnotationImpl#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.AnnotationImpl#getArgs <em>Args</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AnnotationImpl extends MinimalEObjectImpl.Container implements Annotation
+{
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final AnnotationKind KIND_EDEFAULT = AnnotationKind.ISOLATED;
+
+ /**
+ * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected AnnotationKind kind = KIND_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getArgs() <em>Args</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getArgs()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> args;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AnnotationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.ANNOTATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AnnotationKind getKind()
+ {
+ return kind;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKind(AnnotationKind newKind)
+ {
+ AnnotationKind oldKind = kind;
+ kind = newKind == null ? KIND_EDEFAULT : newKind;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.ANNOTATION__KIND, oldKind, kind));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getArgs()
+ {
+ if (args == null)
+ {
+ args = new EDataTypeEList<String>(String.class, this, AlfPackage.ANNOTATION__ARGS);
+ }
+ return args;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ANNOTATION__KIND:
+ return getKind();
+ case AlfPackage.ANNOTATION__ARGS:
+ return getArgs();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ANNOTATION__KIND:
+ setKind((AnnotationKind)newValue);
+ return;
+ case AlfPackage.ANNOTATION__ARGS:
+ getArgs().clear();
+ getArgs().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ANNOTATION__KIND:
+ setKind(KIND_EDEFAULT);
+ return;
+ case AlfPackage.ANNOTATION__ARGS:
+ getArgs().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ANNOTATION__KIND:
+ return kind != KIND_EDEFAULT;
+ case AlfPackage.ANNOTATION__ARGS:
+ return args != null && !args.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (kind: ");
+ result.append(kind);
+ result.append(", args: ");
+ result.append(args);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AnnotationImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AssignmentCompletionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AssignmentCompletionImpl.java
new file mode 100644
index 00000000000..ff330fc8736
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/AssignmentCompletionImpl.java
@@ -0,0 +1,270 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.AssignmentCompletion;
+import org.eclipse.papyrus.alf.alf.AssignmentOperator;
+import org.eclipse.papyrus.alf.alf.SequenceElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Assignment Completion</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.AssignmentCompletionImpl#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.AssignmentCompletionImpl#getRightHandSide <em>Right Hand Side</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AssignmentCompletionImpl extends MinimalEObjectImpl.Container implements AssignmentCompletion
+{
+ /**
+ * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected static final AssignmentOperator OP_EDEFAULT = AssignmentOperator.ASSIGN;
+
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected AssignmentOperator op = OP_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getRightHandSide() <em>Right Hand Side</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRightHandSide()
+ * @generated
+ * @ordered
+ */
+ protected SequenceElement rightHandSide;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AssignmentCompletionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.ASSIGNMENT_COMPLETION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AssignmentOperator getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(AssignmentOperator newOp)
+ {
+ AssignmentOperator oldOp = op;
+ op = newOp == null ? OP_EDEFAULT : newOp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.ASSIGNMENT_COMPLETION__OP, oldOp, op));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceElement getRightHandSide()
+ {
+ return rightHandSide;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRightHandSide(SequenceElement newRightHandSide, NotificationChain msgs)
+ {
+ SequenceElement oldRightHandSide = rightHandSide;
+ rightHandSide = newRightHandSide;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.ASSIGNMENT_COMPLETION__RIGHT_HAND_SIDE, oldRightHandSide, newRightHandSide);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRightHandSide(SequenceElement newRightHandSide)
+ {
+ if (newRightHandSide != rightHandSide)
+ {
+ NotificationChain msgs = null;
+ if (rightHandSide != null)
+ msgs = ((InternalEObject)rightHandSide).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ASSIGNMENT_COMPLETION__RIGHT_HAND_SIDE, null, msgs);
+ if (newRightHandSide != null)
+ msgs = ((InternalEObject)newRightHandSide).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.ASSIGNMENT_COMPLETION__RIGHT_HAND_SIDE, null, msgs);
+ msgs = basicSetRightHandSide(newRightHandSide, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.ASSIGNMENT_COMPLETION__RIGHT_HAND_SIDE, newRightHandSide, newRightHandSide));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ASSIGNMENT_COMPLETION__RIGHT_HAND_SIDE:
+ return basicSetRightHandSide(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ASSIGNMENT_COMPLETION__OP:
+ return getOp();
+ case AlfPackage.ASSIGNMENT_COMPLETION__RIGHT_HAND_SIDE:
+ return getRightHandSide();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ASSIGNMENT_COMPLETION__OP:
+ setOp((AssignmentOperator)newValue);
+ return;
+ case AlfPackage.ASSIGNMENT_COMPLETION__RIGHT_HAND_SIDE:
+ setRightHandSide((SequenceElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ASSIGNMENT_COMPLETION__OP:
+ setOp(OP_EDEFAULT);
+ return;
+ case AlfPackage.ASSIGNMENT_COMPLETION__RIGHT_HAND_SIDE:
+ setRightHandSide((SequenceElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.ASSIGNMENT_COMPLETION__OP:
+ return op != OP_EDEFAULT;
+ case AlfPackage.ASSIGNMENT_COMPLETION__RIGHT_HAND_SIDE:
+ return rightHandSide != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (op: ");
+ result.append(op);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AssignmentCompletionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/BOOLEAN_LITERALImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/BOOLEAN_LITERALImpl.java
new file mode 100644
index 00000000000..51e05dc169b
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/BOOLEAN_LITERALImpl.java
@@ -0,0 +1,181 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.BOOLEAN_LITERAL;
+import org.eclipse.papyrus.alf.alf.BooleanValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>BOOLEAN LITERAL</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.BOOLEAN_LITERALImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BOOLEAN_LITERALImpl extends LITERALImpl implements BOOLEAN_LITERAL
+{
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final BooleanValue VALUE_EDEFAULT = BooleanValue.TRUE;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected BooleanValue value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BOOLEAN_LITERALImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.BOOLEAN_LITERAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BooleanValue getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(BooleanValue newValue)
+ {
+ BooleanValue oldValue = value;
+ value = newValue == null ? VALUE_EDEFAULT : newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.BOOLEAN_LITERAL__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.BOOLEAN_LITERAL__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.BOOLEAN_LITERAL__VALUE:
+ setValue((BooleanValue)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.BOOLEAN_LITERAL__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.BOOLEAN_LITERAL__VALUE:
+ return value != VALUE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //BOOLEAN_LITERALImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/BlockImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/BlockImpl.java
new file mode 100644
index 00000000000..ab0d619509f
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/BlockImpl.java
@@ -0,0 +1,198 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Block;
+import org.eclipse.papyrus.alf.alf.StatementSequence;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Block</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.BlockImpl#getSequence <em>Sequence</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BlockImpl extends MinimalEObjectImpl.Container implements Block
+{
+ /**
+ * The cached value of the '{@link #getSequence() <em>Sequence</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSequence()
+ * @generated
+ * @ordered
+ */
+ protected StatementSequence sequence;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BlockImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.BLOCK;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StatementSequence getSequence()
+ {
+ return sequence;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSequence(StatementSequence newSequence, NotificationChain msgs)
+ {
+ StatementSequence oldSequence = sequence;
+ sequence = newSequence;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.BLOCK__SEQUENCE, oldSequence, newSequence);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSequence(StatementSequence newSequence)
+ {
+ if (newSequence != sequence)
+ {
+ NotificationChain msgs = null;
+ if (sequence != null)
+ msgs = ((InternalEObject)sequence).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.BLOCK__SEQUENCE, null, msgs);
+ if (newSequence != null)
+ msgs = ((InternalEObject)newSequence).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.BLOCK__SEQUENCE, null, msgs);
+ msgs = basicSetSequence(newSequence, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.BLOCK__SEQUENCE, newSequence, newSequence));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.BLOCK__SEQUENCE:
+ return basicSetSequence(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.BLOCK__SEQUENCE:
+ return getSequence();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.BLOCK__SEQUENCE:
+ setSequence((StatementSequence)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.BLOCK__SEQUENCE:
+ setSequence((StatementSequence)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.BLOCK__SEQUENCE:
+ return sequence != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //BlockImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/BlockStatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/BlockStatementImpl.java
new file mode 100644
index 00000000000..f71d17e3bee
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/BlockStatementImpl.java
@@ -0,0 +1,197 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Block;
+import org.eclipse.papyrus.alf.alf.BlockStatement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Block Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.BlockStatementImpl#getBlock <em>Block</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BlockStatementImpl extends StatementImpl implements BlockStatement
+{
+ /**
+ * The cached value of the '{@link #getBlock() <em>Block</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBlock()
+ * @generated
+ * @ordered
+ */
+ protected Block block;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BlockStatementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.BLOCK_STATEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Block getBlock()
+ {
+ return block;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBlock(Block newBlock, NotificationChain msgs)
+ {
+ Block oldBlock = block;
+ block = newBlock;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.BLOCK_STATEMENT__BLOCK, oldBlock, newBlock);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBlock(Block newBlock)
+ {
+ if (newBlock != block)
+ {
+ NotificationChain msgs = null;
+ if (block != null)
+ msgs = ((InternalEObject)block).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.BLOCK_STATEMENT__BLOCK, null, msgs);
+ if (newBlock != null)
+ msgs = ((InternalEObject)newBlock).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.BLOCK_STATEMENT__BLOCK, null, msgs);
+ msgs = basicSetBlock(newBlock, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.BLOCK_STATEMENT__BLOCK, newBlock, newBlock));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.BLOCK_STATEMENT__BLOCK:
+ return basicSetBlock(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.BLOCK_STATEMENT__BLOCK:
+ return getBlock();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.BLOCK_STATEMENT__BLOCK:
+ setBlock((Block)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.BLOCK_STATEMENT__BLOCK:
+ setBlock((Block)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.BLOCK_STATEMENT__BLOCK:
+ return block != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //BlockStatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/BreakStatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/BreakStatementImpl.java
new file mode 100644
index 00000000000..2caa373fff8
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/BreakStatementImpl.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.BreakStatement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Break Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @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.Literals.BREAK_STATEMENT;
+ }
+
+} //BreakStatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassExtentExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassExtentExpressionImpl.java
new file mode 100644
index 00000000000..6192229e8c4
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassExtentExpressionImpl.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.ClassExtentExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Class Extent Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ClassExtentExpressionImpl extends SuffixExpressionImpl 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.Literals.CLASS_EXTENT_EXPRESSION;
+ }
+
+} //ClassExtentExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassificationClauseImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassificationClauseImpl.java
new file mode 100644
index 00000000000..661f851070f
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassificationClauseImpl.java
@@ -0,0 +1,342 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.ClassificationClause;
+import org.eclipse.papyrus.alf.alf.ClassificationFromClause;
+import org.eclipse.papyrus.alf.alf.ClassificationToClause;
+import org.eclipse.papyrus.alf.alf.ReclassifyAllClause;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Classification Clause</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ClassificationClauseImpl#getClassifyFromClause <em>Classify From Clause</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ClassificationClauseImpl#getClassifyToClause <em>Classify To Clause</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ClassificationClauseImpl#getReclassyAllClause <em>Reclassy All Clause</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ClassificationClauseImpl extends MinimalEObjectImpl.Container implements ClassificationClause
+{
+ /**
+ * The cached value of the '{@link #getClassifyFromClause() <em>Classify From Clause</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassifyFromClause()
+ * @generated
+ * @ordered
+ */
+ protected ClassificationFromClause classifyFromClause;
+
+ /**
+ * The cached value of the '{@link #getClassifyToClause() <em>Classify To Clause</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassifyToClause()
+ * @generated
+ * @ordered
+ */
+ protected ClassificationToClause classifyToClause;
+
+ /**
+ * The cached value of the '{@link #getReclassyAllClause() <em>Reclassy All Clause</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReclassyAllClause()
+ * @generated
+ * @ordered
+ */
+ protected ReclassifyAllClause reclassyAllClause;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClassificationClauseImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.CLASSIFICATION_CLAUSE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClassificationFromClause getClassifyFromClause()
+ {
+ return classifyFromClause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetClassifyFromClause(ClassificationFromClause newClassifyFromClause, NotificationChain msgs)
+ {
+ ClassificationFromClause oldClassifyFromClause = classifyFromClause;
+ classifyFromClause = newClassifyFromClause;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.CLASSIFICATION_CLAUSE__CLASSIFY_FROM_CLAUSE, oldClassifyFromClause, newClassifyFromClause);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClassifyFromClause(ClassificationFromClause newClassifyFromClause)
+ {
+ if (newClassifyFromClause != classifyFromClause)
+ {
+ NotificationChain msgs = null;
+ if (classifyFromClause != null)
+ msgs = ((InternalEObject)classifyFromClause).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CLASSIFICATION_CLAUSE__CLASSIFY_FROM_CLAUSE, null, msgs);
+ if (newClassifyFromClause != null)
+ msgs = ((InternalEObject)newClassifyFromClause).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CLASSIFICATION_CLAUSE__CLASSIFY_FROM_CLAUSE, null, msgs);
+ msgs = basicSetClassifyFromClause(newClassifyFromClause, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.CLASSIFICATION_CLAUSE__CLASSIFY_FROM_CLAUSE, newClassifyFromClause, newClassifyFromClause));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClassificationToClause getClassifyToClause()
+ {
+ return classifyToClause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetClassifyToClause(ClassificationToClause newClassifyToClause, NotificationChain msgs)
+ {
+ ClassificationToClause oldClassifyToClause = classifyToClause;
+ classifyToClause = newClassifyToClause;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.CLASSIFICATION_CLAUSE__CLASSIFY_TO_CLAUSE, oldClassifyToClause, newClassifyToClause);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClassifyToClause(ClassificationToClause newClassifyToClause)
+ {
+ if (newClassifyToClause != classifyToClause)
+ {
+ NotificationChain msgs = null;
+ if (classifyToClause != null)
+ msgs = ((InternalEObject)classifyToClause).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CLASSIFICATION_CLAUSE__CLASSIFY_TO_CLAUSE, null, msgs);
+ if (newClassifyToClause != null)
+ msgs = ((InternalEObject)newClassifyToClause).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CLASSIFICATION_CLAUSE__CLASSIFY_TO_CLAUSE, null, msgs);
+ msgs = basicSetClassifyToClause(newClassifyToClause, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.CLASSIFICATION_CLAUSE__CLASSIFY_TO_CLAUSE, newClassifyToClause, newClassifyToClause));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReclassifyAllClause getReclassyAllClause()
+ {
+ return reclassyAllClause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetReclassyAllClause(ReclassifyAllClause newReclassyAllClause, NotificationChain msgs)
+ {
+ ReclassifyAllClause oldReclassyAllClause = reclassyAllClause;
+ reclassyAllClause = newReclassyAllClause;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.CLASSIFICATION_CLAUSE__RECLASSY_ALL_CLAUSE, oldReclassyAllClause, newReclassyAllClause);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReclassyAllClause(ReclassifyAllClause newReclassyAllClause)
+ {
+ if (newReclassyAllClause != reclassyAllClause)
+ {
+ NotificationChain msgs = null;
+ if (reclassyAllClause != null)
+ msgs = ((InternalEObject)reclassyAllClause).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CLASSIFICATION_CLAUSE__RECLASSY_ALL_CLAUSE, null, msgs);
+ if (newReclassyAllClause != null)
+ msgs = ((InternalEObject)newReclassyAllClause).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CLASSIFICATION_CLAUSE__RECLASSY_ALL_CLAUSE, null, msgs);
+ msgs = basicSetReclassyAllClause(newReclassyAllClause, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.CLASSIFICATION_CLAUSE__RECLASSY_ALL_CLAUSE, newReclassyAllClause, newReclassyAllClause));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_CLAUSE__CLASSIFY_FROM_CLAUSE:
+ return basicSetClassifyFromClause(null, msgs);
+ case AlfPackage.CLASSIFICATION_CLAUSE__CLASSIFY_TO_CLAUSE:
+ return basicSetClassifyToClause(null, msgs);
+ case AlfPackage.CLASSIFICATION_CLAUSE__RECLASSY_ALL_CLAUSE:
+ return basicSetReclassyAllClause(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_CLAUSE__CLASSIFY_FROM_CLAUSE:
+ return getClassifyFromClause();
+ case AlfPackage.CLASSIFICATION_CLAUSE__CLASSIFY_TO_CLAUSE:
+ return getClassifyToClause();
+ case AlfPackage.CLASSIFICATION_CLAUSE__RECLASSY_ALL_CLAUSE:
+ return getReclassyAllClause();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_CLAUSE__CLASSIFY_FROM_CLAUSE:
+ setClassifyFromClause((ClassificationFromClause)newValue);
+ return;
+ case AlfPackage.CLASSIFICATION_CLAUSE__CLASSIFY_TO_CLAUSE:
+ setClassifyToClause((ClassificationToClause)newValue);
+ return;
+ case AlfPackage.CLASSIFICATION_CLAUSE__RECLASSY_ALL_CLAUSE:
+ setReclassyAllClause((ReclassifyAllClause)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_CLAUSE__CLASSIFY_FROM_CLAUSE:
+ setClassifyFromClause((ClassificationFromClause)null);
+ return;
+ case AlfPackage.CLASSIFICATION_CLAUSE__CLASSIFY_TO_CLAUSE:
+ setClassifyToClause((ClassificationToClause)null);
+ return;
+ case AlfPackage.CLASSIFICATION_CLAUSE__RECLASSY_ALL_CLAUSE:
+ setReclassyAllClause((ReclassifyAllClause)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_CLAUSE__CLASSIFY_FROM_CLAUSE:
+ return classifyFromClause != null;
+ case AlfPackage.CLASSIFICATION_CLAUSE__CLASSIFY_TO_CLAUSE:
+ return classifyToClause != null;
+ case AlfPackage.CLASSIFICATION_CLAUSE__RECLASSY_ALL_CLAUSE:
+ return reclassyAllClause != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ClassificationClauseImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassificationExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassificationExpressionImpl.java
new file mode 100644
index 00000000000..7d7f6896ee1
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassificationExpressionImpl.java
@@ -0,0 +1,341 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.ClassificationExpression;
+import org.eclipse.papyrus.alf.alf.NameExpression;
+import org.eclipse.papyrus.alf.alf.RelationalExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Classification Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ClassificationExpressionImpl#getExp <em>Exp</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ClassificationExpressionImpl#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ClassificationExpressionImpl#getTypeName <em>Type Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ClassificationExpressionImpl extends MinimalEObjectImpl.Container implements ClassificationExpression
+{
+ /**
+ * The cached value of the '{@link #getExp() <em>Exp</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExp()
+ * @generated
+ * @ordered
+ */
+ protected RelationalExpression exp;
+
+ /**
+ * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected static final String OP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected String op = OP_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTypeName() <em>Type Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTypeName()
+ * @generated
+ * @ordered
+ */
+ protected NameExpression typeName;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClassificationExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.CLASSIFICATION_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RelationalExpression getExp()
+ {
+ return exp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExp(RelationalExpression newExp, NotificationChain msgs)
+ {
+ RelationalExpression oldExp = exp;
+ exp = newExp;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.CLASSIFICATION_EXPRESSION__EXP, oldExp, newExp);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExp(RelationalExpression newExp)
+ {
+ if (newExp != exp)
+ {
+ NotificationChain msgs = null;
+ if (exp != null)
+ msgs = ((InternalEObject)exp).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CLASSIFICATION_EXPRESSION__EXP, null, msgs);
+ if (newExp != null)
+ msgs = ((InternalEObject)newExp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CLASSIFICATION_EXPRESSION__EXP, null, msgs);
+ msgs = basicSetExp(newExp, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.CLASSIFICATION_EXPRESSION__EXP, newExp, newExp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(String newOp)
+ {
+ String oldOp = op;
+ op = newOp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.CLASSIFICATION_EXPRESSION__OP, oldOp, op));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NameExpression getTypeName()
+ {
+ return typeName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTypeName(NameExpression newTypeName, NotificationChain msgs)
+ {
+ NameExpression oldTypeName = typeName;
+ typeName = newTypeName;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.CLASSIFICATION_EXPRESSION__TYPE_NAME, oldTypeName, newTypeName);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTypeName(NameExpression newTypeName)
+ {
+ if (newTypeName != typeName)
+ {
+ NotificationChain msgs = null;
+ if (typeName != null)
+ msgs = ((InternalEObject)typeName).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CLASSIFICATION_EXPRESSION__TYPE_NAME, null, msgs);
+ if (newTypeName != null)
+ msgs = ((InternalEObject)newTypeName).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CLASSIFICATION_EXPRESSION__TYPE_NAME, null, msgs);
+ msgs = basicSetTypeName(newTypeName, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.CLASSIFICATION_EXPRESSION__TYPE_NAME, newTypeName, newTypeName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_EXPRESSION__EXP:
+ return basicSetExp(null, msgs);
+ case AlfPackage.CLASSIFICATION_EXPRESSION__TYPE_NAME:
+ return basicSetTypeName(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_EXPRESSION__EXP:
+ return getExp();
+ case AlfPackage.CLASSIFICATION_EXPRESSION__OP:
+ return getOp();
+ case AlfPackage.CLASSIFICATION_EXPRESSION__TYPE_NAME:
+ return getTypeName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_EXPRESSION__EXP:
+ setExp((RelationalExpression)newValue);
+ return;
+ case AlfPackage.CLASSIFICATION_EXPRESSION__OP:
+ setOp((String)newValue);
+ return;
+ case AlfPackage.CLASSIFICATION_EXPRESSION__TYPE_NAME:
+ setTypeName((NameExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_EXPRESSION__EXP:
+ setExp((RelationalExpression)null);
+ return;
+ case AlfPackage.CLASSIFICATION_EXPRESSION__OP:
+ setOp(OP_EDEFAULT);
+ return;
+ case AlfPackage.CLASSIFICATION_EXPRESSION__TYPE_NAME:
+ setTypeName((NameExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_EXPRESSION__EXP:
+ return exp != null;
+ case AlfPackage.CLASSIFICATION_EXPRESSION__OP:
+ return OP_EDEFAULT == null ? op != null : !OP_EDEFAULT.equals(op);
+ case AlfPackage.CLASSIFICATION_EXPRESSION__TYPE_NAME:
+ return typeName != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (op: ");
+ result.append(op);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ClassificationExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassificationFromClauseImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassificationFromClauseImpl.java
new file mode 100644
index 00000000000..f4157af36f4
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassificationFromClauseImpl.java
@@ -0,0 +1,198 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.ClassificationFromClause;
+import org.eclipse.papyrus.alf.alf.QualifiedNameList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Classification From Clause</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ClassificationFromClauseImpl#getQualifiedNameList <em>Qualified Name List</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ClassificationFromClauseImpl extends MinimalEObjectImpl.Container implements ClassificationFromClause
+{
+ /**
+ * The cached value of the '{@link #getQualifiedNameList() <em>Qualified Name List</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQualifiedNameList()
+ * @generated
+ * @ordered
+ */
+ protected QualifiedNameList qualifiedNameList;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClassificationFromClauseImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.CLASSIFICATION_FROM_CLAUSE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QualifiedNameList getQualifiedNameList()
+ {
+ return qualifiedNameList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetQualifiedNameList(QualifiedNameList newQualifiedNameList, NotificationChain msgs)
+ {
+ QualifiedNameList oldQualifiedNameList = qualifiedNameList;
+ qualifiedNameList = newQualifiedNameList;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.CLASSIFICATION_FROM_CLAUSE__QUALIFIED_NAME_LIST, oldQualifiedNameList, newQualifiedNameList);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setQualifiedNameList(QualifiedNameList newQualifiedNameList)
+ {
+ if (newQualifiedNameList != qualifiedNameList)
+ {
+ NotificationChain msgs = null;
+ if (qualifiedNameList != null)
+ msgs = ((InternalEObject)qualifiedNameList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CLASSIFICATION_FROM_CLAUSE__QUALIFIED_NAME_LIST, null, msgs);
+ if (newQualifiedNameList != null)
+ msgs = ((InternalEObject)newQualifiedNameList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CLASSIFICATION_FROM_CLAUSE__QUALIFIED_NAME_LIST, null, msgs);
+ msgs = basicSetQualifiedNameList(newQualifiedNameList, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.CLASSIFICATION_FROM_CLAUSE__QUALIFIED_NAME_LIST, newQualifiedNameList, newQualifiedNameList));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_FROM_CLAUSE__QUALIFIED_NAME_LIST:
+ return basicSetQualifiedNameList(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_FROM_CLAUSE__QUALIFIED_NAME_LIST:
+ return getQualifiedNameList();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_FROM_CLAUSE__QUALIFIED_NAME_LIST:
+ setQualifiedNameList((QualifiedNameList)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_FROM_CLAUSE__QUALIFIED_NAME_LIST:
+ setQualifiedNameList((QualifiedNameList)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_FROM_CLAUSE__QUALIFIED_NAME_LIST:
+ return qualifiedNameList != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ClassificationFromClauseImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassificationToClauseImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassificationToClauseImpl.java
new file mode 100644
index 00000000000..46aec7a9820
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassificationToClauseImpl.java
@@ -0,0 +1,198 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.ClassificationToClause;
+import org.eclipse.papyrus.alf.alf.QualifiedNameList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Classification To Clause</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ClassificationToClauseImpl#getQualifiedNameList <em>Qualified Name List</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ClassificationToClauseImpl extends MinimalEObjectImpl.Container implements ClassificationToClause
+{
+ /**
+ * The cached value of the '{@link #getQualifiedNameList() <em>Qualified Name List</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQualifiedNameList()
+ * @generated
+ * @ordered
+ */
+ protected QualifiedNameList qualifiedNameList;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClassificationToClauseImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.CLASSIFICATION_TO_CLAUSE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QualifiedNameList getQualifiedNameList()
+ {
+ return qualifiedNameList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetQualifiedNameList(QualifiedNameList newQualifiedNameList, NotificationChain msgs)
+ {
+ QualifiedNameList oldQualifiedNameList = qualifiedNameList;
+ qualifiedNameList = newQualifiedNameList;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.CLASSIFICATION_TO_CLAUSE__QUALIFIED_NAME_LIST, oldQualifiedNameList, newQualifiedNameList);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setQualifiedNameList(QualifiedNameList newQualifiedNameList)
+ {
+ if (newQualifiedNameList != qualifiedNameList)
+ {
+ NotificationChain msgs = null;
+ if (qualifiedNameList != null)
+ msgs = ((InternalEObject)qualifiedNameList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CLASSIFICATION_TO_CLAUSE__QUALIFIED_NAME_LIST, null, msgs);
+ if (newQualifiedNameList != null)
+ msgs = ((InternalEObject)newQualifiedNameList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CLASSIFICATION_TO_CLAUSE__QUALIFIED_NAME_LIST, null, msgs);
+ msgs = basicSetQualifiedNameList(newQualifiedNameList, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.CLASSIFICATION_TO_CLAUSE__QUALIFIED_NAME_LIST, newQualifiedNameList, newQualifiedNameList));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_TO_CLAUSE__QUALIFIED_NAME_LIST:
+ return basicSetQualifiedNameList(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_TO_CLAUSE__QUALIFIED_NAME_LIST:
+ return getQualifiedNameList();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_TO_CLAUSE__QUALIFIED_NAME_LIST:
+ setQualifiedNameList((QualifiedNameList)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_TO_CLAUSE__QUALIFIED_NAME_LIST:
+ setQualifiedNameList((QualifiedNameList)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFICATION_TO_CLAUSE__QUALIFIED_NAME_LIST:
+ return qualifiedNameList != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ClassificationToClauseImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassifyStatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassifyStatementImpl.java
new file mode 100644
index 00000000000..bc57338a6b1
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ClassifyStatementImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.ClassificationClause;
+import org.eclipse.papyrus.alf.alf.ClassifyStatement;
+import org.eclipse.papyrus.alf.alf.Expression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Classify Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ClassifyStatementImpl#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ClassifyStatementImpl#getClause <em>Clause</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ClassifyStatementImpl extends StatementImpl implements ClassifyStatement
+{
+ /**
+ * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpression()
+ * @generated
+ * @ordered
+ */
+ protected Expression expression;
+
+ /**
+ * The cached value of the '{@link #getClause() <em>Clause</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClause()
+ * @generated
+ * @ordered
+ */
+ protected ClassificationClause clause;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClassifyStatementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.CLASSIFY_STATEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getExpression()
+ {
+ return expression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExpression(Expression newExpression, NotificationChain msgs)
+ {
+ Expression oldExpression = expression;
+ expression = newExpression;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.CLASSIFY_STATEMENT__EXPRESSION, oldExpression, newExpression);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpression(Expression newExpression)
+ {
+ if (newExpression != expression)
+ {
+ NotificationChain msgs = null;
+ if (expression != null)
+ msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CLASSIFY_STATEMENT__EXPRESSION, null, msgs);
+ if (newExpression != null)
+ msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CLASSIFY_STATEMENT__EXPRESSION, null, msgs);
+ msgs = basicSetExpression(newExpression, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.CLASSIFY_STATEMENT__EXPRESSION, newExpression, newExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClassificationClause getClause()
+ {
+ return clause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetClause(ClassificationClause newClause, NotificationChain msgs)
+ {
+ ClassificationClause oldClause = clause;
+ clause = newClause;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.CLASSIFY_STATEMENT__CLAUSE, oldClause, newClause);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClause(ClassificationClause newClause)
+ {
+ if (newClause != clause)
+ {
+ NotificationChain msgs = null;
+ if (clause != null)
+ msgs = ((InternalEObject)clause).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CLASSIFY_STATEMENT__CLAUSE, null, msgs);
+ if (newClause != null)
+ msgs = ((InternalEObject)newClause).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CLASSIFY_STATEMENT__CLAUSE, null, msgs);
+ msgs = basicSetClause(newClause, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.CLASSIFY_STATEMENT__CLAUSE, newClause, newClause));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFY_STATEMENT__EXPRESSION:
+ return basicSetExpression(null, msgs);
+ case AlfPackage.CLASSIFY_STATEMENT__CLAUSE:
+ return basicSetClause(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFY_STATEMENT__EXPRESSION:
+ return getExpression();
+ case AlfPackage.CLASSIFY_STATEMENT__CLAUSE:
+ return getClause();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFY_STATEMENT__EXPRESSION:
+ setExpression((Expression)newValue);
+ return;
+ case AlfPackage.CLASSIFY_STATEMENT__CLAUSE:
+ setClause((ClassificationClause)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFY_STATEMENT__EXPRESSION:
+ setExpression((Expression)null);
+ return;
+ case AlfPackage.CLASSIFY_STATEMENT__CLAUSE:
+ setClause((ClassificationClause)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CLASSIFY_STATEMENT__EXPRESSION:
+ return expression != null;
+ case AlfPackage.CLASSIFY_STATEMENT__CLAUSE:
+ return clause != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ClassifyStatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/CollectOrIterateOperationImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/CollectOrIterateOperationImpl.java
new file mode 100644
index 00000000000..0f30962dd8c
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/CollectOrIterateOperationImpl.java
@@ -0,0 +1,181 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.CollectOrIterateOperation;
+import org.eclipse.papyrus.alf.alf.CollectOrIterateOperator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Collect Or Iterate Operation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.CollectOrIterateOperationImpl#getOp <em>Op</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CollectOrIterateOperationImpl extends SequenceExpansionExpressionImpl implements CollectOrIterateOperation
+{
+ /**
+ * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected static final CollectOrIterateOperator OP_EDEFAULT = CollectOrIterateOperator.COLLECT;
+
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected CollectOrIterateOperator op = OP_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CollectOrIterateOperationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.COLLECT_OR_ITERATE_OPERATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollectOrIterateOperator getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(CollectOrIterateOperator newOp)
+ {
+ CollectOrIterateOperator oldOp = op;
+ op = newOp == null ? OP_EDEFAULT : newOp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.COLLECT_OR_ITERATE_OPERATION__OP, oldOp, op));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.COLLECT_OR_ITERATE_OPERATION__OP:
+ return getOp();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.COLLECT_OR_ITERATE_OPERATION__OP:
+ setOp((CollectOrIterateOperator)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.COLLECT_OR_ITERATE_OPERATION__OP:
+ setOp(OP_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.COLLECT_OR_ITERATE_OPERATION__OP:
+ return op != OP_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (op: ");
+ result.append(op);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CollectOrIterateOperationImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/CompoundAcceptStatementCompletionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/CompoundAcceptStatementCompletionImpl.java
new file mode 100644
index 00000000000..09a3fd22475
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/CompoundAcceptStatementCompletionImpl.java
@@ -0,0 +1,245 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AcceptBlock;
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Block;
+import org.eclipse.papyrus.alf.alf.CompoundAcceptStatementCompletion;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Compound Accept Statement Completion</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.CompoundAcceptStatementCompletionImpl#getBlock <em>Block</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.CompoundAcceptStatementCompletionImpl#getAcceptBlock <em>Accept Block</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CompoundAcceptStatementCompletionImpl extends MinimalEObjectImpl.Container implements CompoundAcceptStatementCompletion
+{
+ /**
+ * The cached value of the '{@link #getBlock() <em>Block</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBlock()
+ * @generated
+ * @ordered
+ */
+ protected Block block;
+
+ /**
+ * The cached value of the '{@link #getAcceptBlock() <em>Accept Block</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAcceptBlock()
+ * @generated
+ * @ordered
+ */
+ protected EList<AcceptBlock> acceptBlock;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CompoundAcceptStatementCompletionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.COMPOUND_ACCEPT_STATEMENT_COMPLETION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Block getBlock()
+ {
+ return block;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBlock(Block newBlock, NotificationChain msgs)
+ {
+ Block oldBlock = block;
+ block = newBlock;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.COMPOUND_ACCEPT_STATEMENT_COMPLETION__BLOCK, oldBlock, newBlock);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBlock(Block newBlock)
+ {
+ if (newBlock != block)
+ {
+ NotificationChain msgs = null;
+ if (block != null)
+ msgs = ((InternalEObject)block).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.COMPOUND_ACCEPT_STATEMENT_COMPLETION__BLOCK, null, msgs);
+ if (newBlock != null)
+ msgs = ((InternalEObject)newBlock).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.COMPOUND_ACCEPT_STATEMENT_COMPLETION__BLOCK, null, msgs);
+ msgs = basicSetBlock(newBlock, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.COMPOUND_ACCEPT_STATEMENT_COMPLETION__BLOCK, newBlock, newBlock));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AcceptBlock> getAcceptBlock()
+ {
+ if (acceptBlock == null)
+ {
+ acceptBlock = new EObjectContainmentEList<AcceptBlock>(AcceptBlock.class, this, AlfPackage.COMPOUND_ACCEPT_STATEMENT_COMPLETION__ACCEPT_BLOCK);
+ }
+ return acceptBlock;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.COMPOUND_ACCEPT_STATEMENT_COMPLETION__BLOCK:
+ return basicSetBlock(null, msgs);
+ case AlfPackage.COMPOUND_ACCEPT_STATEMENT_COMPLETION__ACCEPT_BLOCK:
+ return ((InternalEList<?>)getAcceptBlock()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.COMPOUND_ACCEPT_STATEMENT_COMPLETION__BLOCK:
+ return getBlock();
+ case AlfPackage.COMPOUND_ACCEPT_STATEMENT_COMPLETION__ACCEPT_BLOCK:
+ return getAcceptBlock();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.COMPOUND_ACCEPT_STATEMENT_COMPLETION__BLOCK:
+ setBlock((Block)newValue);
+ return;
+ case AlfPackage.COMPOUND_ACCEPT_STATEMENT_COMPLETION__ACCEPT_BLOCK:
+ getAcceptBlock().clear();
+ getAcceptBlock().addAll((Collection<? extends AcceptBlock>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.COMPOUND_ACCEPT_STATEMENT_COMPLETION__BLOCK:
+ setBlock((Block)null);
+ return;
+ case AlfPackage.COMPOUND_ACCEPT_STATEMENT_COMPLETION__ACCEPT_BLOCK:
+ getAcceptBlock().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.COMPOUND_ACCEPT_STATEMENT_COMPLETION__BLOCK:
+ return block != null;
+ case AlfPackage.COMPOUND_ACCEPT_STATEMENT_COMPLETION__ACCEPT_BLOCK:
+ return acceptBlock != null && !acceptBlock.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //CompoundAcceptStatementCompletionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ConcurrentClausesImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ConcurrentClausesImpl.java
new file mode 100644
index 00000000000..89d8149ff7e
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ConcurrentClausesImpl.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.ConcurrentClauses;
+import org.eclipse.papyrus.alf.alf.NonFinalClause;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Concurrent Clauses</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ConcurrentClausesImpl#getNonFinalClause <em>Non Final Clause</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ConcurrentClausesImpl extends MinimalEObjectImpl.Container implements ConcurrentClauses
+{
+ /**
+ * The cached value of the '{@link #getNonFinalClause() <em>Non Final Clause</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNonFinalClause()
+ * @generated
+ * @ordered
+ */
+ protected EList<NonFinalClause> nonFinalClause;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConcurrentClausesImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.CONCURRENT_CLAUSES;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NonFinalClause> getNonFinalClause()
+ {
+ if (nonFinalClause == null)
+ {
+ nonFinalClause = new EObjectContainmentEList<NonFinalClause>(NonFinalClause.class, this, AlfPackage.CONCURRENT_CLAUSES__NON_FINAL_CLAUSE);
+ }
+ return nonFinalClause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONCURRENT_CLAUSES__NON_FINAL_CLAUSE:
+ return ((InternalEList<?>)getNonFinalClause()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONCURRENT_CLAUSES__NON_FINAL_CLAUSE:
+ return getNonFinalClause();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONCURRENT_CLAUSES__NON_FINAL_CLAUSE:
+ getNonFinalClause().clear();
+ getNonFinalClause().addAll((Collection<? extends NonFinalClause>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONCURRENT_CLAUSES__NON_FINAL_CLAUSE:
+ getNonFinalClause().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONCURRENT_CLAUSES__NON_FINAL_CLAUSE:
+ return nonFinalClause != null && !nonFinalClause.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ConcurrentClausesImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ConditionalAndExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ConditionalAndExpressionImpl.java
new file mode 100644
index 00000000000..f37249427c5
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ConditionalAndExpressionImpl.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.ConditionalAndExpression;
+import org.eclipse.papyrus.alf.alf.InclusiveOrExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Conditional And Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ConditionalAndExpressionImpl#getExp <em>Exp</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ConditionalAndExpressionImpl extends MinimalEObjectImpl.Container implements ConditionalAndExpression
+{
+ /**
+ * The cached value of the '{@link #getExp() <em>Exp</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExp()
+ * @generated
+ * @ordered
+ */
+ protected EList<InclusiveOrExpression> exp;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConditionalAndExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.CONDITIONAL_AND_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<InclusiveOrExpression> getExp()
+ {
+ if (exp == null)
+ {
+ exp = new EObjectContainmentEList<InclusiveOrExpression>(InclusiveOrExpression.class, this, AlfPackage.CONDITIONAL_AND_EXPRESSION__EXP);
+ }
+ return exp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONDITIONAL_AND_EXPRESSION__EXP:
+ return ((InternalEList<?>)getExp()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONDITIONAL_AND_EXPRESSION__EXP:
+ return getExp();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONDITIONAL_AND_EXPRESSION__EXP:
+ getExp().clear();
+ getExp().addAll((Collection<? extends InclusiveOrExpression>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONDITIONAL_AND_EXPRESSION__EXP:
+ getExp().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONDITIONAL_AND_EXPRESSION__EXP:
+ return exp != null && !exp.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ConditionalAndExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ConditionalOrExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ConditionalOrExpressionImpl.java
new file mode 100644
index 00000000000..173a515b0e7
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ConditionalOrExpressionImpl.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.ConditionalAndExpression;
+import org.eclipse.papyrus.alf.alf.ConditionalOrExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Conditional Or Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ConditionalOrExpressionImpl#getExp <em>Exp</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ConditionalOrExpressionImpl extends MinimalEObjectImpl.Container implements ConditionalOrExpression
+{
+ /**
+ * The cached value of the '{@link #getExp() <em>Exp</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExp()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConditionalAndExpression> exp;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConditionalOrExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.CONDITIONAL_OR_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConditionalAndExpression> getExp()
+ {
+ if (exp == null)
+ {
+ exp = new EObjectContainmentEList<ConditionalAndExpression>(ConditionalAndExpression.class, this, AlfPackage.CONDITIONAL_OR_EXPRESSION__EXP);
+ }
+ return exp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONDITIONAL_OR_EXPRESSION__EXP:
+ return ((InternalEList<?>)getExp()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONDITIONAL_OR_EXPRESSION__EXP:
+ return getExp();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONDITIONAL_OR_EXPRESSION__EXP:
+ getExp().clear();
+ getExp().addAll((Collection<? extends ConditionalAndExpression>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONDITIONAL_OR_EXPRESSION__EXP:
+ getExp().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONDITIONAL_OR_EXPRESSION__EXP:
+ return exp != null && !exp.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ConditionalOrExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ConditionalTestExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ConditionalTestExpressionImpl.java
new file mode 100644
index 00000000000..b0bfc93f962
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ConditionalTestExpressionImpl.java
@@ -0,0 +1,339 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.ConditionalOrExpression;
+import org.eclipse.papyrus.alf.alf.ConditionalTestExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Conditional Test Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ConditionalTestExpressionImpl#getExp <em>Exp</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ConditionalTestExpressionImpl#getWhenTrue <em>When True</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ConditionalTestExpressionImpl#getWhenFalse <em>When False</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ConditionalTestExpressionImpl extends ExpressionImpl implements ConditionalTestExpression
+{
+ /**
+ * The cached value of the '{@link #getExp() <em>Exp</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExp()
+ * @generated
+ * @ordered
+ */
+ protected ConditionalOrExpression exp;
+
+ /**
+ * The cached value of the '{@link #getWhenTrue() <em>When True</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWhenTrue()
+ * @generated
+ * @ordered
+ */
+ protected ConditionalTestExpression whenTrue;
+
+ /**
+ * The cached value of the '{@link #getWhenFalse() <em>When False</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWhenFalse()
+ * @generated
+ * @ordered
+ */
+ protected ConditionalTestExpression whenFalse;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConditionalTestExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.CONDITIONAL_TEST_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConditionalOrExpression getExp()
+ {
+ return exp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExp(ConditionalOrExpression newExp, NotificationChain msgs)
+ {
+ ConditionalOrExpression oldExp = exp;
+ exp = newExp;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.CONDITIONAL_TEST_EXPRESSION__EXP, oldExp, newExp);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExp(ConditionalOrExpression newExp)
+ {
+ if (newExp != exp)
+ {
+ NotificationChain msgs = null;
+ if (exp != null)
+ msgs = ((InternalEObject)exp).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CONDITIONAL_TEST_EXPRESSION__EXP, null, msgs);
+ if (newExp != null)
+ msgs = ((InternalEObject)newExp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CONDITIONAL_TEST_EXPRESSION__EXP, null, msgs);
+ msgs = basicSetExp(newExp, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.CONDITIONAL_TEST_EXPRESSION__EXP, newExp, newExp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConditionalTestExpression getWhenTrue()
+ {
+ return whenTrue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetWhenTrue(ConditionalTestExpression newWhenTrue, NotificationChain msgs)
+ {
+ ConditionalTestExpression oldWhenTrue = whenTrue;
+ whenTrue = newWhenTrue;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.CONDITIONAL_TEST_EXPRESSION__WHEN_TRUE, oldWhenTrue, newWhenTrue);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWhenTrue(ConditionalTestExpression newWhenTrue)
+ {
+ if (newWhenTrue != whenTrue)
+ {
+ NotificationChain msgs = null;
+ if (whenTrue != null)
+ msgs = ((InternalEObject)whenTrue).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CONDITIONAL_TEST_EXPRESSION__WHEN_TRUE, null, msgs);
+ if (newWhenTrue != null)
+ msgs = ((InternalEObject)newWhenTrue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CONDITIONAL_TEST_EXPRESSION__WHEN_TRUE, null, msgs);
+ msgs = basicSetWhenTrue(newWhenTrue, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.CONDITIONAL_TEST_EXPRESSION__WHEN_TRUE, newWhenTrue, newWhenTrue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConditionalTestExpression getWhenFalse()
+ {
+ return whenFalse;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetWhenFalse(ConditionalTestExpression newWhenFalse, NotificationChain msgs)
+ {
+ ConditionalTestExpression oldWhenFalse = whenFalse;
+ whenFalse = newWhenFalse;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.CONDITIONAL_TEST_EXPRESSION__WHEN_FALSE, oldWhenFalse, newWhenFalse);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWhenFalse(ConditionalTestExpression newWhenFalse)
+ {
+ if (newWhenFalse != whenFalse)
+ {
+ NotificationChain msgs = null;
+ if (whenFalse != null)
+ msgs = ((InternalEObject)whenFalse).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CONDITIONAL_TEST_EXPRESSION__WHEN_FALSE, null, msgs);
+ if (newWhenFalse != null)
+ msgs = ((InternalEObject)newWhenFalse).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.CONDITIONAL_TEST_EXPRESSION__WHEN_FALSE, null, msgs);
+ msgs = basicSetWhenFalse(newWhenFalse, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.CONDITIONAL_TEST_EXPRESSION__WHEN_FALSE, newWhenFalse, newWhenFalse));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION__EXP:
+ return basicSetExp(null, msgs);
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION__WHEN_TRUE:
+ return basicSetWhenTrue(null, msgs);
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION__WHEN_FALSE:
+ return basicSetWhenFalse(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION__EXP:
+ return getExp();
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION__WHEN_TRUE:
+ return getWhenTrue();
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION__WHEN_FALSE:
+ return getWhenFalse();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION__EXP:
+ setExp((ConditionalOrExpression)newValue);
+ return;
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION__WHEN_TRUE:
+ setWhenTrue((ConditionalTestExpression)newValue);
+ return;
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION__WHEN_FALSE:
+ setWhenFalse((ConditionalTestExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION__EXP:
+ setExp((ConditionalOrExpression)null);
+ return;
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION__WHEN_TRUE:
+ setWhenTrue((ConditionalTestExpression)null);
+ return;
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION__WHEN_FALSE:
+ setWhenFalse((ConditionalTestExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION__EXP:
+ return exp != null;
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION__WHEN_TRUE:
+ return whenTrue != null;
+ case AlfPackage.CONDITIONAL_TEST_EXPRESSION__WHEN_FALSE:
+ return whenFalse != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ConditionalTestExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/DoStatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/DoStatementImpl.java
new file mode 100644
index 00000000000..d3ab18da7b6
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/DoStatementImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Block;
+import org.eclipse.papyrus.alf.alf.DoStatement;
+import org.eclipse.papyrus.alf.alf.Expression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Do Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.DoStatementImpl#getBlock <em>Block</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.DoStatementImpl#getCondition <em>Condition</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DoStatementImpl extends StatementImpl implements DoStatement
+{
+ /**
+ * The cached value of the '{@link #getBlock() <em>Block</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBlock()
+ * @generated
+ * @ordered
+ */
+ protected Block block;
+
+ /**
+ * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCondition()
+ * @generated
+ * @ordered
+ */
+ protected Expression condition;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DoStatementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.DO_STATEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Block getBlock()
+ {
+ return block;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBlock(Block newBlock, NotificationChain msgs)
+ {
+ Block oldBlock = block;
+ block = newBlock;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.DO_STATEMENT__BLOCK, oldBlock, newBlock);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBlock(Block newBlock)
+ {
+ if (newBlock != block)
+ {
+ NotificationChain msgs = null;
+ if (block != null)
+ msgs = ((InternalEObject)block).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.DO_STATEMENT__BLOCK, null, msgs);
+ if (newBlock != null)
+ msgs = ((InternalEObject)newBlock).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.DO_STATEMENT__BLOCK, null, msgs);
+ msgs = basicSetBlock(newBlock, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.DO_STATEMENT__BLOCK, newBlock, newBlock));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getCondition()
+ {
+ return condition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs)
+ {
+ Expression oldCondition = condition;
+ condition = newCondition;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.DO_STATEMENT__CONDITION, oldCondition, newCondition);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCondition(Expression newCondition)
+ {
+ if (newCondition != condition)
+ {
+ NotificationChain msgs = null;
+ if (condition != null)
+ msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.DO_STATEMENT__CONDITION, null, msgs);
+ if (newCondition != null)
+ msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.DO_STATEMENT__CONDITION, null, msgs);
+ msgs = basicSetCondition(newCondition, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.DO_STATEMENT__CONDITION, newCondition, newCondition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.DO_STATEMENT__BLOCK:
+ return basicSetBlock(null, msgs);
+ case AlfPackage.DO_STATEMENT__CONDITION:
+ return basicSetCondition(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.DO_STATEMENT__BLOCK:
+ return getBlock();
+ case AlfPackage.DO_STATEMENT__CONDITION:
+ return getCondition();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.DO_STATEMENT__BLOCK:
+ setBlock((Block)newValue);
+ return;
+ case AlfPackage.DO_STATEMENT__CONDITION:
+ setCondition((Expression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.DO_STATEMENT__BLOCK:
+ setBlock((Block)null);
+ return;
+ case AlfPackage.DO_STATEMENT__CONDITION:
+ setCondition((Expression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.DO_STATEMENT__BLOCK:
+ return block != null;
+ case AlfPackage.DO_STATEMENT__CONDITION:
+ return condition != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //DoStatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/DocumentedStatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/DocumentedStatementImpl.java
new file mode 100644
index 00000000000..bb470d25a52
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/DocumentedStatementImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.DocumentedStatement;
+import org.eclipse.papyrus.alf.alf.Statement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Documented Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.DocumentedStatementImpl#getComment <em>Comment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.DocumentedStatementImpl#getStatement <em>Statement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DocumentedStatementImpl extends MinimalEObjectImpl.Container implements DocumentedStatement
+{
+ /**
+ * The default value of the '{@link #getComment() <em>Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getComment()
+ * @generated
+ * @ordered
+ */
+ protected static final String COMMENT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getComment() <em>Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getComment()
+ * @generated
+ * @ordered
+ */
+ protected String comment = COMMENT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getStatement() <em>Statement</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatement()
+ * @generated
+ * @ordered
+ */
+ protected Statement statement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DocumentedStatementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.DOCUMENTED_STATEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getComment()
+ {
+ return comment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setComment(String newComment)
+ {
+ String oldComment = comment;
+ comment = newComment;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.DOCUMENTED_STATEMENT__COMMENT, oldComment, comment));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Statement getStatement()
+ {
+ return statement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetStatement(Statement newStatement, NotificationChain msgs)
+ {
+ Statement oldStatement = statement;
+ statement = newStatement;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.DOCUMENTED_STATEMENT__STATEMENT, oldStatement, newStatement);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatement(Statement newStatement)
+ {
+ if (newStatement != statement)
+ {
+ NotificationChain msgs = null;
+ if (statement != null)
+ msgs = ((InternalEObject)statement).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.DOCUMENTED_STATEMENT__STATEMENT, null, msgs);
+ if (newStatement != null)
+ msgs = ((InternalEObject)newStatement).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.DOCUMENTED_STATEMENT__STATEMENT, null, msgs);
+ msgs = basicSetStatement(newStatement, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.DOCUMENTED_STATEMENT__STATEMENT, newStatement, newStatement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.DOCUMENTED_STATEMENT__STATEMENT:
+ return basicSetStatement(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.DOCUMENTED_STATEMENT__COMMENT:
+ return getComment();
+ case AlfPackage.DOCUMENTED_STATEMENT__STATEMENT:
+ return getStatement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.DOCUMENTED_STATEMENT__COMMENT:
+ setComment((String)newValue);
+ return;
+ case AlfPackage.DOCUMENTED_STATEMENT__STATEMENT:
+ setStatement((Statement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.DOCUMENTED_STATEMENT__COMMENT:
+ setComment(COMMENT_EDEFAULT);
+ return;
+ case AlfPackage.DOCUMENTED_STATEMENT__STATEMENT:
+ setStatement((Statement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.DOCUMENTED_STATEMENT__COMMENT:
+ return COMMENT_EDEFAULT == null ? comment != null : !COMMENT_EDEFAULT.equals(comment);
+ case AlfPackage.DOCUMENTED_STATEMENT__STATEMENT:
+ return statement != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (comment: ");
+ result.append(comment);
+ result.append(')');
+ return result.toString();
+ }
+
+} //DocumentedStatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/EmptyStatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/EmptyStatementImpl.java
new file mode 100644
index 00000000000..94bcb79e15b
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/EmptyStatementImpl.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.EmptyStatement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Empty Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </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.Literals.EMPTY_STATEMENT;
+ }
+
+} //EmptyStatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/EqualityExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/EqualityExpressionImpl.java
new file mode 100644
index 00000000000..82e6b699624
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/EqualityExpressionImpl.java
@@ -0,0 +1,225 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.ClassificationExpression;
+import org.eclipse.papyrus.alf.alf.EqualityExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Equality Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.EqualityExpressionImpl#getExp <em>Exp</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.EqualityExpressionImpl#getOp <em>Op</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EqualityExpressionImpl extends MinimalEObjectImpl.Container implements EqualityExpression
+{
+ /**
+ * The cached value of the '{@link #getExp() <em>Exp</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExp()
+ * @generated
+ * @ordered
+ */
+ protected EList<ClassificationExpression> exp;
+
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> op;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EqualityExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.EQUALITY_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ClassificationExpression> getExp()
+ {
+ if (exp == null)
+ {
+ exp = new EObjectContainmentEList<ClassificationExpression>(ClassificationExpression.class, this, AlfPackage.EQUALITY_EXPRESSION__EXP);
+ }
+ return exp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getOp()
+ {
+ if (op == null)
+ {
+ op = new EDataTypeEList<String>(String.class, this, AlfPackage.EQUALITY_EXPRESSION__OP);
+ }
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.EQUALITY_EXPRESSION__EXP:
+ return ((InternalEList<?>)getExp()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.EQUALITY_EXPRESSION__EXP:
+ return getExp();
+ case AlfPackage.EQUALITY_EXPRESSION__OP:
+ return getOp();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.EQUALITY_EXPRESSION__EXP:
+ getExp().clear();
+ getExp().addAll((Collection<? extends ClassificationExpression>)newValue);
+ return;
+ case AlfPackage.EQUALITY_EXPRESSION__OP:
+ getOp().clear();
+ getOp().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.EQUALITY_EXPRESSION__EXP:
+ getExp().clear();
+ return;
+ case AlfPackage.EQUALITY_EXPRESSION__OP:
+ getOp().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.EQUALITY_EXPRESSION__EXP:
+ return exp != null && !exp.isEmpty();
+ case AlfPackage.EQUALITY_EXPRESSION__OP:
+ return op != null && !op.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (op: ");
+ result.append(op);
+ result.append(')');
+ return result.toString();
+ }
+
+} //EqualityExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ExclusiveOrExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ExclusiveOrExpressionImpl.java
new file mode 100644
index 00000000000..703b6e71117
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ExclusiveOrExpressionImpl.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.AndExpression;
+import org.eclipse.papyrus.alf.alf.ExclusiveOrExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Exclusive Or Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ExclusiveOrExpressionImpl#getExp <em>Exp</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExclusiveOrExpressionImpl extends MinimalEObjectImpl.Container implements ExclusiveOrExpression
+{
+ /**
+ * The cached value of the '{@link #getExp() <em>Exp</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExp()
+ * @generated
+ * @ordered
+ */
+ protected EList<AndExpression> exp;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExclusiveOrExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.EXCLUSIVE_OR_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AndExpression> getExp()
+ {
+ if (exp == null)
+ {
+ exp = new EObjectContainmentEList<AndExpression>(AndExpression.class, this, AlfPackage.EXCLUSIVE_OR_EXPRESSION__EXP);
+ }
+ return exp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.EXCLUSIVE_OR_EXPRESSION__EXP:
+ return ((InternalEList<?>)getExp()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.EXCLUSIVE_OR_EXPRESSION__EXP:
+ return getExp();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.EXCLUSIVE_OR_EXPRESSION__EXP:
+ getExp().clear();
+ getExp().addAll((Collection<? extends AndExpression>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.EXCLUSIVE_OR_EXPRESSION__EXP:
+ getExp().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.EXCLUSIVE_OR_EXPRESSION__EXP:
+ return exp != null && !exp.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ExclusiveOrExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ExpressionImpl.java
new file mode 100644
index 00000000000..984d9ed30f5
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ExpressionImpl.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Expression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ExpressionImpl extends SequenceElementImpl implements Expression
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.EXPRESSION;
+ }
+
+} //ExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/FinalClauseImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/FinalClauseImpl.java
new file mode 100644
index 00000000000..fe24f8cbe96
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/FinalClauseImpl.java
@@ -0,0 +1,198 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Block;
+import org.eclipse.papyrus.alf.alf.FinalClause;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Final Clause</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.FinalClauseImpl#getBlock <em>Block</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FinalClauseImpl extends MinimalEObjectImpl.Container implements FinalClause
+{
+ /**
+ * The cached value of the '{@link #getBlock() <em>Block</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBlock()
+ * @generated
+ * @ordered
+ */
+ protected Block block;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FinalClauseImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.FINAL_CLAUSE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Block getBlock()
+ {
+ return block;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBlock(Block newBlock, NotificationChain msgs)
+ {
+ Block oldBlock = block;
+ block = newBlock;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.FINAL_CLAUSE__BLOCK, oldBlock, newBlock);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBlock(Block newBlock)
+ {
+ if (newBlock != block)
+ {
+ NotificationChain msgs = null;
+ if (block != null)
+ msgs = ((InternalEObject)block).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.FINAL_CLAUSE__BLOCK, null, msgs);
+ if (newBlock != null)
+ msgs = ((InternalEObject)newBlock).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.FINAL_CLAUSE__BLOCK, null, msgs);
+ msgs = basicSetBlock(newBlock, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.FINAL_CLAUSE__BLOCK, newBlock, newBlock));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.FINAL_CLAUSE__BLOCK:
+ return basicSetBlock(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.FINAL_CLAUSE__BLOCK:
+ return getBlock();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.FINAL_CLAUSE__BLOCK:
+ setBlock((Block)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.FINAL_CLAUSE__BLOCK:
+ setBlock((Block)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.FINAL_CLAUSE__BLOCK:
+ return block != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //FinalClauseImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ForAllOrExistsOrOneOperationImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ForAllOrExistsOrOneOperationImpl.java
new file mode 100644
index 00000000000..ba17e6cff76
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ForAllOrExistsOrOneOperationImpl.java
@@ -0,0 +1,181 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperation;
+import org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>For All Or Exists Or One Operation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ForAllOrExistsOrOneOperationImpl#getOp <em>Op</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ForAllOrExistsOrOneOperationImpl extends SequenceExpansionExpressionImpl implements ForAllOrExistsOrOneOperation
+{
+ /**
+ * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected static final ForAllOrExistsOrOneOperator OP_EDEFAULT = ForAllOrExistsOrOneOperator.FORALL;
+
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected ForAllOrExistsOrOneOperator op = OP_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ForAllOrExistsOrOneOperationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.FOR_ALL_OR_EXISTS_OR_ONE_OPERATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ForAllOrExistsOrOneOperator getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(ForAllOrExistsOrOneOperator newOp)
+ {
+ ForAllOrExistsOrOneOperator oldOp = op;
+ op = newOp == null ? OP_EDEFAULT : newOp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.FOR_ALL_OR_EXISTS_OR_ONE_OPERATION__OP, oldOp, op));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.FOR_ALL_OR_EXISTS_OR_ONE_OPERATION__OP:
+ return getOp();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.FOR_ALL_OR_EXISTS_OR_ONE_OPERATION__OP:
+ setOp((ForAllOrExistsOrOneOperator)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.FOR_ALL_OR_EXISTS_OR_ONE_OPERATION__OP:
+ setOp(OP_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.FOR_ALL_OR_EXISTS_OR_ONE_OPERATION__OP:
+ return op != OP_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (op: ");
+ result.append(op);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ForAllOrExistsOrOneOperationImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ForControlImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ForControlImpl.java
new file mode 100644
index 00000000000..aaa8f4c1622
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ForControlImpl.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.ForControl;
+import org.eclipse.papyrus.alf.alf.LoopVariableDefinition;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>For Control</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ForControlImpl#getLoopVariableDefinition <em>Loop Variable Definition</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ForControlImpl extends MinimalEObjectImpl.Container implements ForControl
+{
+ /**
+ * The cached value of the '{@link #getLoopVariableDefinition() <em>Loop Variable Definition</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLoopVariableDefinition()
+ * @generated
+ * @ordered
+ */
+ protected EList<LoopVariableDefinition> loopVariableDefinition;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ForControlImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.FOR_CONTROL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<LoopVariableDefinition> getLoopVariableDefinition()
+ {
+ if (loopVariableDefinition == null)
+ {
+ loopVariableDefinition = new EObjectContainmentEList<LoopVariableDefinition>(LoopVariableDefinition.class, this, AlfPackage.FOR_CONTROL__LOOP_VARIABLE_DEFINITION);
+ }
+ return loopVariableDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.FOR_CONTROL__LOOP_VARIABLE_DEFINITION:
+ return ((InternalEList<?>)getLoopVariableDefinition()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.FOR_CONTROL__LOOP_VARIABLE_DEFINITION:
+ return getLoopVariableDefinition();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.FOR_CONTROL__LOOP_VARIABLE_DEFINITION:
+ getLoopVariableDefinition().clear();
+ getLoopVariableDefinition().addAll((Collection<? extends LoopVariableDefinition>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.FOR_CONTROL__LOOP_VARIABLE_DEFINITION:
+ getLoopVariableDefinition().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.FOR_CONTROL__LOOP_VARIABLE_DEFINITION:
+ return loopVariableDefinition != null && !loopVariableDefinition.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ForControlImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ForStatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ForStatementImpl.java
new file mode 100644
index 00000000000..33b884e5d68
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ForStatementImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Block;
+import org.eclipse.papyrus.alf.alf.ForControl;
+import org.eclipse.papyrus.alf.alf.ForStatement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>For Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ForStatementImpl#getControl <em>Control</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ForStatementImpl#getBlock <em>Block</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ForStatementImpl extends StatementImpl implements ForStatement
+{
+ /**
+ * The cached value of the '{@link #getControl() <em>Control</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getControl()
+ * @generated
+ * @ordered
+ */
+ protected ForControl control;
+
+ /**
+ * The cached value of the '{@link #getBlock() <em>Block</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBlock()
+ * @generated
+ * @ordered
+ */
+ protected Block block;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ForStatementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.FOR_STATEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ForControl getControl()
+ {
+ return control;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetControl(ForControl newControl, NotificationChain msgs)
+ {
+ ForControl oldControl = control;
+ control = newControl;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.FOR_STATEMENT__CONTROL, oldControl, newControl);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setControl(ForControl newControl)
+ {
+ if (newControl != control)
+ {
+ NotificationChain msgs = null;
+ if (control != null)
+ msgs = ((InternalEObject)control).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.FOR_STATEMENT__CONTROL, null, msgs);
+ if (newControl != null)
+ msgs = ((InternalEObject)newControl).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.FOR_STATEMENT__CONTROL, null, msgs);
+ msgs = basicSetControl(newControl, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.FOR_STATEMENT__CONTROL, newControl, newControl));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Block getBlock()
+ {
+ return block;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBlock(Block newBlock, NotificationChain msgs)
+ {
+ Block oldBlock = block;
+ block = newBlock;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.FOR_STATEMENT__BLOCK, oldBlock, newBlock);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBlock(Block newBlock)
+ {
+ if (newBlock != block)
+ {
+ NotificationChain msgs = null;
+ if (block != null)
+ msgs = ((InternalEObject)block).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.FOR_STATEMENT__BLOCK, null, msgs);
+ if (newBlock != null)
+ msgs = ((InternalEObject)newBlock).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.FOR_STATEMENT__BLOCK, null, msgs);
+ msgs = basicSetBlock(newBlock, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.FOR_STATEMENT__BLOCK, newBlock, newBlock));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.FOR_STATEMENT__CONTROL:
+ return basicSetControl(null, msgs);
+ case AlfPackage.FOR_STATEMENT__BLOCK:
+ return basicSetBlock(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.FOR_STATEMENT__CONTROL:
+ return getControl();
+ case AlfPackage.FOR_STATEMENT__BLOCK:
+ return getBlock();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.FOR_STATEMENT__CONTROL:
+ setControl((ForControl)newValue);
+ return;
+ case AlfPackage.FOR_STATEMENT__BLOCK:
+ setBlock((Block)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.FOR_STATEMENT__CONTROL:
+ setControl((ForControl)null);
+ return;
+ case AlfPackage.FOR_STATEMENT__BLOCK:
+ setBlock((Block)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.FOR_STATEMENT__CONTROL:
+ return control != null;
+ case AlfPackage.FOR_STATEMENT__BLOCK:
+ return block != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ForStatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/INTEGER_LITERALImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/INTEGER_LITERALImpl.java
new file mode 100644
index 00000000000..4a844072fe4
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/INTEGER_LITERALImpl.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.INTEGER_LITERAL;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>INTEGER LITERAL</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class INTEGER_LITERALImpl extends NUMBER_LITERALImpl implements INTEGER_LITERAL
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected INTEGER_LITERALImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.INTEGER_LITERAL;
+ }
+
+} //INTEGER_LITERALImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/IfStatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/IfStatementImpl.java
new file mode 100644
index 00000000000..8f03675580d
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/IfStatementImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.FinalClause;
+import org.eclipse.papyrus.alf.alf.IfStatement;
+import org.eclipse.papyrus.alf.alf.SequentialClauses;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>If Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.IfStatementImpl#getSequentialClausses <em>Sequential Clausses</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.IfStatementImpl#getFinalClause <em>Final Clause</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IfStatementImpl extends StatementImpl implements IfStatement
+{
+ /**
+ * The cached value of the '{@link #getSequentialClausses() <em>Sequential Clausses</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSequentialClausses()
+ * @generated
+ * @ordered
+ */
+ protected SequentialClauses sequentialClausses;
+
+ /**
+ * The cached value of the '{@link #getFinalClause() <em>Final Clause</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFinalClause()
+ * @generated
+ * @ordered
+ */
+ protected FinalClause finalClause;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IfStatementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.IF_STATEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequentialClauses getSequentialClausses()
+ {
+ return sequentialClausses;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSequentialClausses(SequentialClauses newSequentialClausses, NotificationChain msgs)
+ {
+ SequentialClauses oldSequentialClausses = sequentialClausses;
+ sequentialClausses = newSequentialClausses;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.IF_STATEMENT__SEQUENTIAL_CLAUSSES, oldSequentialClausses, newSequentialClausses);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSequentialClausses(SequentialClauses newSequentialClausses)
+ {
+ if (newSequentialClausses != sequentialClausses)
+ {
+ NotificationChain msgs = null;
+ if (sequentialClausses != null)
+ msgs = ((InternalEObject)sequentialClausses).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.IF_STATEMENT__SEQUENTIAL_CLAUSSES, null, msgs);
+ if (newSequentialClausses != null)
+ msgs = ((InternalEObject)newSequentialClausses).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.IF_STATEMENT__SEQUENTIAL_CLAUSSES, null, msgs);
+ msgs = basicSetSequentialClausses(newSequentialClausses, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.IF_STATEMENT__SEQUENTIAL_CLAUSSES, newSequentialClausses, newSequentialClausses));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FinalClause getFinalClause()
+ {
+ return finalClause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFinalClause(FinalClause newFinalClause, NotificationChain msgs)
+ {
+ FinalClause oldFinalClause = finalClause;
+ finalClause = newFinalClause;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.IF_STATEMENT__FINAL_CLAUSE, oldFinalClause, newFinalClause);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFinalClause(FinalClause newFinalClause)
+ {
+ if (newFinalClause != finalClause)
+ {
+ NotificationChain msgs = null;
+ if (finalClause != null)
+ msgs = ((InternalEObject)finalClause).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.IF_STATEMENT__FINAL_CLAUSE, null, msgs);
+ if (newFinalClause != null)
+ msgs = ((InternalEObject)newFinalClause).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.IF_STATEMENT__FINAL_CLAUSE, null, msgs);
+ msgs = basicSetFinalClause(newFinalClause, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.IF_STATEMENT__FINAL_CLAUSE, newFinalClause, newFinalClause));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.IF_STATEMENT__SEQUENTIAL_CLAUSSES:
+ return basicSetSequentialClausses(null, msgs);
+ case AlfPackage.IF_STATEMENT__FINAL_CLAUSE:
+ return basicSetFinalClause(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.IF_STATEMENT__SEQUENTIAL_CLAUSSES:
+ return getSequentialClausses();
+ case AlfPackage.IF_STATEMENT__FINAL_CLAUSE:
+ return getFinalClause();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.IF_STATEMENT__SEQUENTIAL_CLAUSSES:
+ setSequentialClausses((SequentialClauses)newValue);
+ return;
+ case AlfPackage.IF_STATEMENT__FINAL_CLAUSE:
+ setFinalClause((FinalClause)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.IF_STATEMENT__SEQUENTIAL_CLAUSSES:
+ setSequentialClausses((SequentialClauses)null);
+ return;
+ case AlfPackage.IF_STATEMENT__FINAL_CLAUSE:
+ setFinalClause((FinalClause)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.IF_STATEMENT__SEQUENTIAL_CLAUSSES:
+ return sequentialClausses != null;
+ case AlfPackage.IF_STATEMENT__FINAL_CLAUSE:
+ return finalClause != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //IfStatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InclusiveOrExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InclusiveOrExpressionImpl.java
new file mode 100644
index 00000000000..a63cba6caa6
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InclusiveOrExpressionImpl.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.ExclusiveOrExpression;
+import org.eclipse.papyrus.alf.alf.InclusiveOrExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Inclusive Or Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.InclusiveOrExpressionImpl#getExp <em>Exp</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class InclusiveOrExpressionImpl extends MinimalEObjectImpl.Container implements InclusiveOrExpression
+{
+ /**
+ * The cached value of the '{@link #getExp() <em>Exp</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExp()
+ * @generated
+ * @ordered
+ */
+ protected EList<ExclusiveOrExpression> exp;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InclusiveOrExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.INCLUSIVE_OR_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ExclusiveOrExpression> getExp()
+ {
+ if (exp == null)
+ {
+ exp = new EObjectContainmentEList<ExclusiveOrExpression>(ExclusiveOrExpression.class, this, AlfPackage.INCLUSIVE_OR_EXPRESSION__EXP);
+ }
+ return exp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INCLUSIVE_OR_EXPRESSION__EXP:
+ return ((InternalEList<?>)getExp()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INCLUSIVE_OR_EXPRESSION__EXP:
+ return getExp();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INCLUSIVE_OR_EXPRESSION__EXP:
+ getExp().clear();
+ getExp().addAll((Collection<? extends ExclusiveOrExpression>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INCLUSIVE_OR_EXPRESSION__EXP:
+ getExp().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INCLUSIVE_OR_EXPRESSION__EXP:
+ return exp != null && !exp.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //InclusiveOrExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InlineStatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InlineStatementImpl.java
new file mode 100644
index 00000000000..b461f2c3605
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InlineStatementImpl.java
@@ -0,0 +1,236 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.InlineStatement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Inline Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.InlineStatementImpl#getLangageName <em>Langage Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.InlineStatementImpl#getBody <em>Body</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class InlineStatementImpl extends StatementImpl implements InlineStatement
+{
+ /**
+ * The default value of the '{@link #getLangageName() <em>Langage Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLangageName()
+ * @generated
+ * @ordered
+ */
+ protected static final String LANGAGE_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLangageName() <em>Langage Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLangageName()
+ * @generated
+ * @ordered
+ */
+ protected String langageName = LANGAGE_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getBody() <em>Body</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBody()
+ * @generated
+ * @ordered
+ */
+ protected static final String BODY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBody() <em>Body</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBody()
+ * @generated
+ * @ordered
+ */
+ protected String body = BODY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InlineStatementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.INLINE_STATEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLangageName()
+ {
+ return langageName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLangageName(String newLangageName)
+ {
+ String oldLangageName = langageName;
+ langageName = newLangageName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.INLINE_STATEMENT__LANGAGE_NAME, oldLangageName, langageName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getBody()
+ {
+ return body;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBody(String newBody)
+ {
+ String oldBody = body;
+ body = newBody;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.INLINE_STATEMENT__BODY, oldBody, body));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INLINE_STATEMENT__LANGAGE_NAME:
+ return getLangageName();
+ case AlfPackage.INLINE_STATEMENT__BODY:
+ return getBody();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INLINE_STATEMENT__LANGAGE_NAME:
+ setLangageName((String)newValue);
+ return;
+ case AlfPackage.INLINE_STATEMENT__BODY:
+ setBody((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INLINE_STATEMENT__LANGAGE_NAME:
+ setLangageName(LANGAGE_NAME_EDEFAULT);
+ return;
+ case AlfPackage.INLINE_STATEMENT__BODY:
+ setBody(BODY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INLINE_STATEMENT__LANGAGE_NAME:
+ return LANGAGE_NAME_EDEFAULT == null ? langageName != null : !LANGAGE_NAME_EDEFAULT.equals(langageName);
+ case AlfPackage.INLINE_STATEMENT__BODY:
+ return BODY_EDEFAULT == null ? body != null : !BODY_EDEFAULT.equals(body);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (langageName: ");
+ result.append(langageName);
+ result.append(", body: ");
+ result.append(body);
+ result.append(')');
+ return result.toString();
+ }
+
+} //InlineStatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InstanceCreationExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InstanceCreationExpressionImpl.java
new file mode 100644
index 00000000000..ac39748c669
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InstanceCreationExpressionImpl.java
@@ -0,0 +1,341 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.InstanceCreationExpression;
+import org.eclipse.papyrus.alf.alf.InstanceCreationTuple;
+import org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding;
+import org.eclipse.papyrus.alf.alf.SuffixExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Instance Creation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.InstanceCreationExpressionImpl#getConstructor <em>Constructor</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.InstanceCreationExpressionImpl#getTuple <em>Tuple</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.InstanceCreationExpressionImpl#getSuffix <em>Suffix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class InstanceCreationExpressionImpl extends ValueSpecificationImpl implements InstanceCreationExpression
+{
+ /**
+ * The cached value of the '{@link #getConstructor() <em>Constructor</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConstructor()
+ * @generated
+ * @ordered
+ */
+ protected QualifiedNameWithBinding constructor;
+
+ /**
+ * The cached value of the '{@link #getTuple() <em>Tuple</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTuple()
+ * @generated
+ * @ordered
+ */
+ protected InstanceCreationTuple tuple;
+
+ /**
+ * The cached value of the '{@link #getSuffix() <em>Suffix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuffix()
+ * @generated
+ * @ordered
+ */
+ protected SuffixExpression suffix;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InstanceCreationExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.INSTANCE_CREATION_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QualifiedNameWithBinding getConstructor()
+ {
+ return constructor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetConstructor(QualifiedNameWithBinding newConstructor, NotificationChain msgs)
+ {
+ QualifiedNameWithBinding oldConstructor = constructor;
+ constructor = newConstructor;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.INSTANCE_CREATION_EXPRESSION__CONSTRUCTOR, oldConstructor, newConstructor);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setConstructor(QualifiedNameWithBinding newConstructor)
+ {
+ if (newConstructor != constructor)
+ {
+ NotificationChain msgs = null;
+ if (constructor != null)
+ msgs = ((InternalEObject)constructor).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.INSTANCE_CREATION_EXPRESSION__CONSTRUCTOR, null, msgs);
+ if (newConstructor != null)
+ msgs = ((InternalEObject)newConstructor).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.INSTANCE_CREATION_EXPRESSION__CONSTRUCTOR, null, msgs);
+ msgs = basicSetConstructor(newConstructor, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.INSTANCE_CREATION_EXPRESSION__CONSTRUCTOR, newConstructor, newConstructor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstanceCreationTuple getTuple()
+ {
+ return tuple;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTuple(InstanceCreationTuple newTuple, NotificationChain msgs)
+ {
+ InstanceCreationTuple oldTuple = tuple;
+ tuple = newTuple;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.INSTANCE_CREATION_EXPRESSION__TUPLE, oldTuple, newTuple);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTuple(InstanceCreationTuple newTuple)
+ {
+ if (newTuple != tuple)
+ {
+ NotificationChain msgs = null;
+ if (tuple != null)
+ msgs = ((InternalEObject)tuple).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.INSTANCE_CREATION_EXPRESSION__TUPLE, null, msgs);
+ if (newTuple != null)
+ msgs = ((InternalEObject)newTuple).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.INSTANCE_CREATION_EXPRESSION__TUPLE, null, msgs);
+ msgs = basicSetTuple(newTuple, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.INSTANCE_CREATION_EXPRESSION__TUPLE, newTuple, newTuple));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SuffixExpression getSuffix()
+ {
+ return suffix;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSuffix(SuffixExpression newSuffix, NotificationChain msgs)
+ {
+ SuffixExpression oldSuffix = suffix;
+ suffix = newSuffix;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.INSTANCE_CREATION_EXPRESSION__SUFFIX, oldSuffix, newSuffix);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSuffix(SuffixExpression newSuffix)
+ {
+ if (newSuffix != suffix)
+ {
+ NotificationChain msgs = null;
+ if (suffix != null)
+ msgs = ((InternalEObject)suffix).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.INSTANCE_CREATION_EXPRESSION__SUFFIX, null, msgs);
+ if (newSuffix != null)
+ msgs = ((InternalEObject)newSuffix).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.INSTANCE_CREATION_EXPRESSION__SUFFIX, null, msgs);
+ msgs = basicSetSuffix(newSuffix, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.INSTANCE_CREATION_EXPRESSION__SUFFIX, newSuffix, newSuffix));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION__CONSTRUCTOR:
+ return basicSetConstructor(null, msgs);
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION__TUPLE:
+ return basicSetTuple(null, msgs);
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION__SUFFIX:
+ return basicSetSuffix(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION__CONSTRUCTOR:
+ return getConstructor();
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION__TUPLE:
+ return getTuple();
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION__SUFFIX:
+ return getSuffix();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION__CONSTRUCTOR:
+ setConstructor((QualifiedNameWithBinding)newValue);
+ return;
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION__TUPLE:
+ setTuple((InstanceCreationTuple)newValue);
+ return;
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION__SUFFIX:
+ setSuffix((SuffixExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION__CONSTRUCTOR:
+ setConstructor((QualifiedNameWithBinding)null);
+ return;
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION__TUPLE:
+ setTuple((InstanceCreationTuple)null);
+ return;
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION__SUFFIX:
+ setSuffix((SuffixExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION__CONSTRUCTOR:
+ return constructor != null;
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION__TUPLE:
+ return tuple != null;
+ case AlfPackage.INSTANCE_CREATION_EXPRESSION__SUFFIX:
+ return suffix != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //InstanceCreationExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InstanceCreationInvocationStatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InstanceCreationInvocationStatementImpl.java
new file mode 100644
index 00000000000..0b726d1061b
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InstanceCreationInvocationStatementImpl.java
@@ -0,0 +1,197 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.InstanceCreationExpression;
+import org.eclipse.papyrus.alf.alf.InstanceCreationInvocationStatement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Instance Creation Invocation Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.InstanceCreationInvocationStatementImpl#get_new <em>new</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class InstanceCreationInvocationStatementImpl extends StatementImpl implements InstanceCreationInvocationStatement
+{
+ /**
+ * The cached value of the '{@link #get_new() <em>new</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #get_new()
+ * @generated
+ * @ordered
+ */
+ protected InstanceCreationExpression _new;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InstanceCreationInvocationStatementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.INSTANCE_CREATION_INVOCATION_STATEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstanceCreationExpression get_new()
+ {
+ return _new;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSet_new(InstanceCreationExpression new_new, NotificationChain msgs)
+ {
+ InstanceCreationExpression old_new = _new;
+ _new = new_new;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.INSTANCE_CREATION_INVOCATION_STATEMENT__NEW, old_new, new_new);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void set_new(InstanceCreationExpression new_new)
+ {
+ if (new_new != _new)
+ {
+ NotificationChain msgs = null;
+ if (_new != null)
+ msgs = ((InternalEObject)_new).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.INSTANCE_CREATION_INVOCATION_STATEMENT__NEW, null, msgs);
+ if (new_new != null)
+ msgs = ((InternalEObject)new_new).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.INSTANCE_CREATION_INVOCATION_STATEMENT__NEW, null, msgs);
+ msgs = basicSet_new(new_new, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.INSTANCE_CREATION_INVOCATION_STATEMENT__NEW, new_new, new_new));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_INVOCATION_STATEMENT__NEW:
+ return basicSet_new(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_INVOCATION_STATEMENT__NEW:
+ return get_new();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_INVOCATION_STATEMENT__NEW:
+ set_new((InstanceCreationExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_INVOCATION_STATEMENT__NEW:
+ set_new((InstanceCreationExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_INVOCATION_STATEMENT__NEW:
+ return _new != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //InstanceCreationInvocationStatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InstanceCreationTupleElementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InstanceCreationTupleElementImpl.java
new file mode 100644
index 00000000000..8f4cc0b6255
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InstanceCreationTupleElementImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Expression;
+import org.eclipse.papyrus.alf.alf.InstanceCreationTupleElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Instance Creation Tuple Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.InstanceCreationTupleElementImpl#getRole <em>Role</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.InstanceCreationTupleElementImpl#getObject <em>Object</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class InstanceCreationTupleElementImpl extends MinimalEObjectImpl.Container implements InstanceCreationTupleElement
+{
+ /**
+ * The default value of the '{@link #getRole() <em>Role</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRole()
+ * @generated
+ * @ordered
+ */
+ protected static final String ROLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRole() <em>Role</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRole()
+ * @generated
+ * @ordered
+ */
+ protected String role = ROLE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getObject() <em>Object</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getObject()
+ * @generated
+ * @ordered
+ */
+ protected Expression object;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InstanceCreationTupleElementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.INSTANCE_CREATION_TUPLE_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getRole()
+ {
+ return role;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRole(String newRole)
+ {
+ String oldRole = role;
+ role = newRole;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.INSTANCE_CREATION_TUPLE_ELEMENT__ROLE, oldRole, role));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getObject()
+ {
+ return object;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetObject(Expression newObject, NotificationChain msgs)
+ {
+ Expression oldObject = object;
+ object = newObject;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.INSTANCE_CREATION_TUPLE_ELEMENT__OBJECT, oldObject, newObject);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setObject(Expression newObject)
+ {
+ if (newObject != object)
+ {
+ NotificationChain msgs = null;
+ if (object != null)
+ msgs = ((InternalEObject)object).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.INSTANCE_CREATION_TUPLE_ELEMENT__OBJECT, null, msgs);
+ if (newObject != null)
+ msgs = ((InternalEObject)newObject).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.INSTANCE_CREATION_TUPLE_ELEMENT__OBJECT, null, msgs);
+ msgs = basicSetObject(newObject, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.INSTANCE_CREATION_TUPLE_ELEMENT__OBJECT, newObject, newObject));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_TUPLE_ELEMENT__OBJECT:
+ return basicSetObject(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_TUPLE_ELEMENT__ROLE:
+ return getRole();
+ case AlfPackage.INSTANCE_CREATION_TUPLE_ELEMENT__OBJECT:
+ return getObject();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_TUPLE_ELEMENT__ROLE:
+ setRole((String)newValue);
+ return;
+ case AlfPackage.INSTANCE_CREATION_TUPLE_ELEMENT__OBJECT:
+ setObject((Expression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_TUPLE_ELEMENT__ROLE:
+ setRole(ROLE_EDEFAULT);
+ return;
+ case AlfPackage.INSTANCE_CREATION_TUPLE_ELEMENT__OBJECT:
+ setObject((Expression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_TUPLE_ELEMENT__ROLE:
+ return ROLE_EDEFAULT == null ? role != null : !ROLE_EDEFAULT.equals(role);
+ case AlfPackage.INSTANCE_CREATION_TUPLE_ELEMENT__OBJECT:
+ return object != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (role: ");
+ result.append(role);
+ result.append(')');
+ return result.toString();
+ }
+
+} //InstanceCreationTupleElementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InstanceCreationTupleImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InstanceCreationTupleImpl.java
new file mode 100644
index 00000000000..54294046c2a
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InstanceCreationTupleImpl.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.InstanceCreationTuple;
+import org.eclipse.papyrus.alf.alf.InstanceCreationTupleElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Instance Creation Tuple</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.InstanceCreationTupleImpl#getInstanceCreationTupleElement <em>Instance Creation Tuple Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class InstanceCreationTupleImpl extends MinimalEObjectImpl.Container implements InstanceCreationTuple
+{
+ /**
+ * The cached value of the '{@link #getInstanceCreationTupleElement() <em>Instance Creation Tuple Element</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInstanceCreationTupleElement()
+ * @generated
+ * @ordered
+ */
+ protected EList<InstanceCreationTupleElement> instanceCreationTupleElement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InstanceCreationTupleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.INSTANCE_CREATION_TUPLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<InstanceCreationTupleElement> getInstanceCreationTupleElement()
+ {
+ if (instanceCreationTupleElement == null)
+ {
+ instanceCreationTupleElement = new EObjectContainmentEList<InstanceCreationTupleElement>(InstanceCreationTupleElement.class, this, AlfPackage.INSTANCE_CREATION_TUPLE__INSTANCE_CREATION_TUPLE_ELEMENT);
+ }
+ return instanceCreationTupleElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_TUPLE__INSTANCE_CREATION_TUPLE_ELEMENT:
+ return ((InternalEList<?>)getInstanceCreationTupleElement()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_TUPLE__INSTANCE_CREATION_TUPLE_ELEMENT:
+ return getInstanceCreationTupleElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_TUPLE__INSTANCE_CREATION_TUPLE_ELEMENT:
+ getInstanceCreationTupleElement().clear();
+ getInstanceCreationTupleElement().addAll((Collection<? extends InstanceCreationTupleElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_TUPLE__INSTANCE_CREATION_TUPLE_ELEMENT:
+ getInstanceCreationTupleElement().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INSTANCE_CREATION_TUPLE__INSTANCE_CREATION_TUPLE_ELEMENT:
+ return instanceCreationTupleElement != null && !instanceCreationTupleElement.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //InstanceCreationTupleImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InvocationOrAssignementOrDeclarationStatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InvocationOrAssignementOrDeclarationStatementImpl.java
new file mode 100644
index 00000000000..06cb5482344
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/InvocationOrAssignementOrDeclarationStatementImpl.java
@@ -0,0 +1,341 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.AssignmentCompletion;
+import org.eclipse.papyrus.alf.alf.InvocationOrAssignementOrDeclarationStatement;
+import org.eclipse.papyrus.alf.alf.NameExpression;
+import org.eclipse.papyrus.alf.alf.VariableDeclarationCompletion;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Invocation Or Assignement Or Declaration Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.InvocationOrAssignementOrDeclarationStatementImpl#getTypePart_OR_assignedPart_OR_invocationPart <em>Type Part OR assigned Part OR invocation Part</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.InvocationOrAssignementOrDeclarationStatementImpl#getVariableDeclarationCompletion <em>Variable Declaration Completion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.InvocationOrAssignementOrDeclarationStatementImpl#getAssignmentCompletion <em>Assignment Completion</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class InvocationOrAssignementOrDeclarationStatementImpl extends StatementImpl implements InvocationOrAssignementOrDeclarationStatement
+{
+ /**
+ * The cached value of the '{@link #getTypePart_OR_assignedPart_OR_invocationPart() <em>Type Part OR assigned Part OR invocation Part</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTypePart_OR_assignedPart_OR_invocationPart()
+ * @generated
+ * @ordered
+ */
+ protected NameExpression typePart_OR_assignedPart_OR_invocationPart;
+
+ /**
+ * The cached value of the '{@link #getVariableDeclarationCompletion() <em>Variable Declaration Completion</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVariableDeclarationCompletion()
+ * @generated
+ * @ordered
+ */
+ protected VariableDeclarationCompletion variableDeclarationCompletion;
+
+ /**
+ * The cached value of the '{@link #getAssignmentCompletion() <em>Assignment Completion</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAssignmentCompletion()
+ * @generated
+ * @ordered
+ */
+ protected AssignmentCompletion assignmentCompletion;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvocationOrAssignementOrDeclarationStatementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NameExpression getTypePart_OR_assignedPart_OR_invocationPart()
+ {
+ return typePart_OR_assignedPart_OR_invocationPart;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTypePart_OR_assignedPart_OR_invocationPart(NameExpression newTypePart_OR_assignedPart_OR_invocationPart, NotificationChain msgs)
+ {
+ NameExpression oldTypePart_OR_assignedPart_OR_invocationPart = typePart_OR_assignedPart_OR_invocationPart;
+ typePart_OR_assignedPart_OR_invocationPart = newTypePart_OR_assignedPart_OR_invocationPart;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__TYPE_PART_OR_ASSIGNED_PART_OR_INVOCATION_PART, oldTypePart_OR_assignedPart_OR_invocationPart, newTypePart_OR_assignedPart_OR_invocationPart);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTypePart_OR_assignedPart_OR_invocationPart(NameExpression newTypePart_OR_assignedPart_OR_invocationPart)
+ {
+ if (newTypePart_OR_assignedPart_OR_invocationPart != typePart_OR_assignedPart_OR_invocationPart)
+ {
+ NotificationChain msgs = null;
+ if (typePart_OR_assignedPart_OR_invocationPart != null)
+ msgs = ((InternalEObject)typePart_OR_assignedPart_OR_invocationPart).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__TYPE_PART_OR_ASSIGNED_PART_OR_INVOCATION_PART, null, msgs);
+ if (newTypePart_OR_assignedPart_OR_invocationPart != null)
+ msgs = ((InternalEObject)newTypePart_OR_assignedPart_OR_invocationPart).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__TYPE_PART_OR_ASSIGNED_PART_OR_INVOCATION_PART, null, msgs);
+ msgs = basicSetTypePart_OR_assignedPart_OR_invocationPart(newTypePart_OR_assignedPart_OR_invocationPart, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__TYPE_PART_OR_ASSIGNED_PART_OR_INVOCATION_PART, newTypePart_OR_assignedPart_OR_invocationPart, newTypePart_OR_assignedPart_OR_invocationPart));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VariableDeclarationCompletion getVariableDeclarationCompletion()
+ {
+ return variableDeclarationCompletion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetVariableDeclarationCompletion(VariableDeclarationCompletion newVariableDeclarationCompletion, NotificationChain msgs)
+ {
+ VariableDeclarationCompletion oldVariableDeclarationCompletion = variableDeclarationCompletion;
+ variableDeclarationCompletion = newVariableDeclarationCompletion;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__VARIABLE_DECLARATION_COMPLETION, oldVariableDeclarationCompletion, newVariableDeclarationCompletion);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVariableDeclarationCompletion(VariableDeclarationCompletion newVariableDeclarationCompletion)
+ {
+ if (newVariableDeclarationCompletion != variableDeclarationCompletion)
+ {
+ NotificationChain msgs = null;
+ if (variableDeclarationCompletion != null)
+ msgs = ((InternalEObject)variableDeclarationCompletion).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__VARIABLE_DECLARATION_COMPLETION, null, msgs);
+ if (newVariableDeclarationCompletion != null)
+ msgs = ((InternalEObject)newVariableDeclarationCompletion).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__VARIABLE_DECLARATION_COMPLETION, null, msgs);
+ msgs = basicSetVariableDeclarationCompletion(newVariableDeclarationCompletion, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__VARIABLE_DECLARATION_COMPLETION, newVariableDeclarationCompletion, newVariableDeclarationCompletion));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AssignmentCompletion getAssignmentCompletion()
+ {
+ return assignmentCompletion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetAssignmentCompletion(AssignmentCompletion newAssignmentCompletion, NotificationChain msgs)
+ {
+ AssignmentCompletion oldAssignmentCompletion = assignmentCompletion;
+ assignmentCompletion = newAssignmentCompletion;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__ASSIGNMENT_COMPLETION, oldAssignmentCompletion, newAssignmentCompletion);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAssignmentCompletion(AssignmentCompletion newAssignmentCompletion)
+ {
+ if (newAssignmentCompletion != assignmentCompletion)
+ {
+ NotificationChain msgs = null;
+ if (assignmentCompletion != null)
+ msgs = ((InternalEObject)assignmentCompletion).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__ASSIGNMENT_COMPLETION, null, msgs);
+ if (newAssignmentCompletion != null)
+ msgs = ((InternalEObject)newAssignmentCompletion).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__ASSIGNMENT_COMPLETION, null, msgs);
+ msgs = basicSetAssignmentCompletion(newAssignmentCompletion, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__ASSIGNMENT_COMPLETION, newAssignmentCompletion, newAssignmentCompletion));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__TYPE_PART_OR_ASSIGNED_PART_OR_INVOCATION_PART:
+ return basicSetTypePart_OR_assignedPart_OR_invocationPart(null, msgs);
+ case AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__VARIABLE_DECLARATION_COMPLETION:
+ return basicSetVariableDeclarationCompletion(null, msgs);
+ case AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__ASSIGNMENT_COMPLETION:
+ return basicSetAssignmentCompletion(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__TYPE_PART_OR_ASSIGNED_PART_OR_INVOCATION_PART:
+ return getTypePart_OR_assignedPart_OR_invocationPart();
+ case AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__VARIABLE_DECLARATION_COMPLETION:
+ return getVariableDeclarationCompletion();
+ case AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__ASSIGNMENT_COMPLETION:
+ return getAssignmentCompletion();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__TYPE_PART_OR_ASSIGNED_PART_OR_INVOCATION_PART:
+ setTypePart_OR_assignedPart_OR_invocationPart((NameExpression)newValue);
+ return;
+ case AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__VARIABLE_DECLARATION_COMPLETION:
+ setVariableDeclarationCompletion((VariableDeclarationCompletion)newValue);
+ return;
+ case AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__ASSIGNMENT_COMPLETION:
+ setAssignmentCompletion((AssignmentCompletion)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__TYPE_PART_OR_ASSIGNED_PART_OR_INVOCATION_PART:
+ setTypePart_OR_assignedPart_OR_invocationPart((NameExpression)null);
+ return;
+ case AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__VARIABLE_DECLARATION_COMPLETION:
+ setVariableDeclarationCompletion((VariableDeclarationCompletion)null);
+ return;
+ case AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__ASSIGNMENT_COMPLETION:
+ setAssignmentCompletion((AssignmentCompletion)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__TYPE_PART_OR_ASSIGNED_PART_OR_INVOCATION_PART:
+ return typePart_OR_assignedPart_OR_invocationPart != null;
+ case AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__VARIABLE_DECLARATION_COMPLETION:
+ return variableDeclarationCompletion != null;
+ case AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT__ASSIGNMENT_COMPLETION:
+ return assignmentCompletion != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //InvocationOrAssignementOrDeclarationStatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/IsUniqueOperationImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/IsUniqueOperationImpl.java
new file mode 100644
index 00000000000..5863b45ed2b
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/IsUniqueOperationImpl.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.IsUniqueOperation;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Is Unique Operation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class IsUniqueOperationImpl extends SequenceExpansionExpressionImpl implements IsUniqueOperation
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IsUniqueOperationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.IS_UNIQUE_OPERATION;
+ }
+
+} //IsUniqueOperationImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LITERALImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LITERALImpl.java
new file mode 100644
index 00000000000..d918fd674cf
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LITERALImpl.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.LITERAL;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>LITERAL</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class LITERALImpl extends ValueSpecificationImpl implements LITERAL
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LITERALImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.LITERAL;
+ }
+
+} //LITERALImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LinkOperationExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LinkOperationExpressionImpl.java
new file mode 100644
index 00000000000..600410069d0
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LinkOperationExpressionImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.LinkOperationExpression;
+import org.eclipse.papyrus.alf.alf.LinkOperationKind;
+import org.eclipse.papyrus.alf.alf.LinkOperationTuple;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Link Operation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.LinkOperationExpressionImpl#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.LinkOperationExpressionImpl#getTuple <em>Tuple</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LinkOperationExpressionImpl extends SuffixExpressionImpl implements LinkOperationExpression
+{
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final LinkOperationKind KIND_EDEFAULT = LinkOperationKind.CREATE;
+
+ /**
+ * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected LinkOperationKind kind = KIND_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTuple() <em>Tuple</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTuple()
+ * @generated
+ * @ordered
+ */
+ protected LinkOperationTuple tuple;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LinkOperationExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.LINK_OPERATION_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkOperationKind getKind()
+ {
+ return kind;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKind(LinkOperationKind newKind)
+ {
+ LinkOperationKind oldKind = kind;
+ kind = newKind == null ? KIND_EDEFAULT : newKind;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.LINK_OPERATION_EXPRESSION__KIND, oldKind, kind));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkOperationTuple getTuple()
+ {
+ return tuple;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTuple(LinkOperationTuple newTuple, NotificationChain msgs)
+ {
+ LinkOperationTuple oldTuple = tuple;
+ tuple = newTuple;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.LINK_OPERATION_EXPRESSION__TUPLE, oldTuple, newTuple);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTuple(LinkOperationTuple newTuple)
+ {
+ if (newTuple != tuple)
+ {
+ NotificationChain msgs = null;
+ if (tuple != null)
+ msgs = ((InternalEObject)tuple).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.LINK_OPERATION_EXPRESSION__TUPLE, null, msgs);
+ if (newTuple != null)
+ msgs = ((InternalEObject)newTuple).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.LINK_OPERATION_EXPRESSION__TUPLE, null, msgs);
+ msgs = basicSetTuple(newTuple, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.LINK_OPERATION_EXPRESSION__TUPLE, newTuple, newTuple));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LINK_OPERATION_EXPRESSION__TUPLE:
+ return basicSetTuple(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LINK_OPERATION_EXPRESSION__KIND:
+ return getKind();
+ case AlfPackage.LINK_OPERATION_EXPRESSION__TUPLE:
+ return getTuple();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LINK_OPERATION_EXPRESSION__KIND:
+ setKind((LinkOperationKind)newValue);
+ return;
+ case AlfPackage.LINK_OPERATION_EXPRESSION__TUPLE:
+ setTuple((LinkOperationTuple)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LINK_OPERATION_EXPRESSION__KIND:
+ setKind(KIND_EDEFAULT);
+ return;
+ case AlfPackage.LINK_OPERATION_EXPRESSION__TUPLE:
+ setTuple((LinkOperationTuple)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LINK_OPERATION_EXPRESSION__KIND:
+ return kind != KIND_EDEFAULT;
+ case AlfPackage.LINK_OPERATION_EXPRESSION__TUPLE:
+ return tuple != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (kind: ");
+ result.append(kind);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LinkOperationExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LinkOperationTupleElementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LinkOperationTupleElementImpl.java
new file mode 100644
index 00000000000..cfbc67e9d1d
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LinkOperationTupleElementImpl.java
@@ -0,0 +1,340 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Expression;
+import org.eclipse.papyrus.alf.alf.LinkOperationTupleElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Link Operation Tuple Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.LinkOperationTupleElementImpl#getRole <em>Role</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.LinkOperationTupleElementImpl#getRoleIndex <em>Role Index</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.LinkOperationTupleElementImpl#getObject <em>Object</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LinkOperationTupleElementImpl extends MinimalEObjectImpl.Container implements LinkOperationTupleElement
+{
+ /**
+ * The default value of the '{@link #getRole() <em>Role</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRole()
+ * @generated
+ * @ordered
+ */
+ protected static final String ROLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRole() <em>Role</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRole()
+ * @generated
+ * @ordered
+ */
+ protected String role = ROLE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getRoleIndex() <em>Role Index</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRoleIndex()
+ * @generated
+ * @ordered
+ */
+ protected Expression roleIndex;
+
+ /**
+ * The cached value of the '{@link #getObject() <em>Object</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getObject()
+ * @generated
+ * @ordered
+ */
+ protected Expression object;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LinkOperationTupleElementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.LINK_OPERATION_TUPLE_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getRole()
+ {
+ return role;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRole(String newRole)
+ {
+ String oldRole = role;
+ role = newRole;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__ROLE, oldRole, role));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getRoleIndex()
+ {
+ return roleIndex;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRoleIndex(Expression newRoleIndex, NotificationChain msgs)
+ {
+ Expression oldRoleIndex = roleIndex;
+ roleIndex = newRoleIndex;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__ROLE_INDEX, oldRoleIndex, newRoleIndex);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRoleIndex(Expression newRoleIndex)
+ {
+ if (newRoleIndex != roleIndex)
+ {
+ NotificationChain msgs = null;
+ if (roleIndex != null)
+ msgs = ((InternalEObject)roleIndex).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__ROLE_INDEX, null, msgs);
+ if (newRoleIndex != null)
+ msgs = ((InternalEObject)newRoleIndex).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__ROLE_INDEX, null, msgs);
+ msgs = basicSetRoleIndex(newRoleIndex, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__ROLE_INDEX, newRoleIndex, newRoleIndex));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getObject()
+ {
+ return object;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetObject(Expression newObject, NotificationChain msgs)
+ {
+ Expression oldObject = object;
+ object = newObject;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__OBJECT, oldObject, newObject);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setObject(Expression newObject)
+ {
+ if (newObject != object)
+ {
+ NotificationChain msgs = null;
+ if (object != null)
+ msgs = ((InternalEObject)object).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__OBJECT, null, msgs);
+ if (newObject != null)
+ msgs = ((InternalEObject)newObject).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__OBJECT, null, msgs);
+ msgs = basicSetObject(newObject, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__OBJECT, newObject, newObject));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__ROLE_INDEX:
+ return basicSetRoleIndex(null, msgs);
+ case AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__OBJECT:
+ return basicSetObject(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__ROLE:
+ return getRole();
+ case AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__ROLE_INDEX:
+ return getRoleIndex();
+ case AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__OBJECT:
+ return getObject();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__ROLE:
+ setRole((String)newValue);
+ return;
+ case AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__ROLE_INDEX:
+ setRoleIndex((Expression)newValue);
+ return;
+ case AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__OBJECT:
+ setObject((Expression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__ROLE:
+ setRole(ROLE_EDEFAULT);
+ return;
+ case AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__ROLE_INDEX:
+ setRoleIndex((Expression)null);
+ return;
+ case AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__OBJECT:
+ setObject((Expression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__ROLE:
+ return ROLE_EDEFAULT == null ? role != null : !ROLE_EDEFAULT.equals(role);
+ case AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__ROLE_INDEX:
+ return roleIndex != null;
+ case AlfPackage.LINK_OPERATION_TUPLE_ELEMENT__OBJECT:
+ return object != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (role: ");
+ result.append(role);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LinkOperationTupleElementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LinkOperationTupleImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LinkOperationTupleImpl.java
new file mode 100644
index 00000000000..abfe7249941
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LinkOperationTupleImpl.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.LinkOperationTuple;
+import org.eclipse.papyrus.alf.alf.LinkOperationTupleElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Link Operation Tuple</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.LinkOperationTupleImpl#getLinkOperationTupleElement <em>Link Operation Tuple Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LinkOperationTupleImpl extends MinimalEObjectImpl.Container implements LinkOperationTuple
+{
+ /**
+ * The cached value of the '{@link #getLinkOperationTupleElement() <em>Link Operation Tuple Element</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLinkOperationTupleElement()
+ * @generated
+ * @ordered
+ */
+ protected EList<LinkOperationTupleElement> linkOperationTupleElement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LinkOperationTupleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.LINK_OPERATION_TUPLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<LinkOperationTupleElement> getLinkOperationTupleElement()
+ {
+ if (linkOperationTupleElement == null)
+ {
+ linkOperationTupleElement = new EObjectContainmentEList<LinkOperationTupleElement>(LinkOperationTupleElement.class, this, AlfPackage.LINK_OPERATION_TUPLE__LINK_OPERATION_TUPLE_ELEMENT);
+ }
+ return linkOperationTupleElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LINK_OPERATION_TUPLE__LINK_OPERATION_TUPLE_ELEMENT:
+ return ((InternalEList<?>)getLinkOperationTupleElement()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LINK_OPERATION_TUPLE__LINK_OPERATION_TUPLE_ELEMENT:
+ return getLinkOperationTupleElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LINK_OPERATION_TUPLE__LINK_OPERATION_TUPLE_ELEMENT:
+ getLinkOperationTupleElement().clear();
+ getLinkOperationTupleElement().addAll((Collection<? extends LinkOperationTupleElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LINK_OPERATION_TUPLE__LINK_OPERATION_TUPLE_ELEMENT:
+ getLinkOperationTupleElement().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LINK_OPERATION_TUPLE__LINK_OPERATION_TUPLE_ELEMENT:
+ return linkOperationTupleElement != null && !linkOperationTupleElement.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //LinkOperationTupleImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LocalNameDeclarationStatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LocalNameDeclarationStatementImpl.java
new file mode 100644
index 00000000000..6451212c66d
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LocalNameDeclarationStatementImpl.java
@@ -0,0 +1,396 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.LocalNameDeclarationStatement;
+import org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding;
+import org.eclipse.papyrus.alf.alf.SequenceElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Local Name Declaration Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.LocalNameDeclarationStatementImpl#getVarName <em>Var Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.LocalNameDeclarationStatementImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.LocalNameDeclarationStatementImpl#isMultiplicityIndicator <em>Multiplicity Indicator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.LocalNameDeclarationStatementImpl#getInit <em>Init</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LocalNameDeclarationStatementImpl extends StatementImpl implements LocalNameDeclarationStatement
+{
+ /**
+ * The default value of the '{@link #getVarName() <em>Var Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVarName()
+ * @generated
+ * @ordered
+ */
+ protected static final String VAR_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getVarName() <em>Var Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVarName()
+ * @generated
+ * @ordered
+ */
+ protected String varName = VAR_NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected QualifiedNameWithBinding type;
+
+ /**
+ * The default value of the '{@link #isMultiplicityIndicator() <em>Multiplicity Indicator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isMultiplicityIndicator()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean MULTIPLICITY_INDICATOR_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isMultiplicityIndicator() <em>Multiplicity Indicator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isMultiplicityIndicator()
+ * @generated
+ * @ordered
+ */
+ protected boolean multiplicityIndicator = MULTIPLICITY_INDICATOR_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getInit() <em>Init</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInit()
+ * @generated
+ * @ordered
+ */
+ protected SequenceElement init;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LocalNameDeclarationStatementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.LOCAL_NAME_DECLARATION_STATEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getVarName()
+ {
+ return varName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVarName(String newVarName)
+ {
+ String oldVarName = varName;
+ varName = newVarName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__VAR_NAME, oldVarName, varName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QualifiedNameWithBinding getType()
+ {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetType(QualifiedNameWithBinding newType, NotificationChain msgs)
+ {
+ QualifiedNameWithBinding oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__TYPE, oldType, newType);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(QualifiedNameWithBinding newType)
+ {
+ if (newType != type)
+ {
+ NotificationChain msgs = null;
+ if (type != null)
+ msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__TYPE, null, msgs);
+ if (newType != null)
+ msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__TYPE, null, msgs);
+ msgs = basicSetType(newType, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__TYPE, newType, newType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isMultiplicityIndicator()
+ {
+ return multiplicityIndicator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMultiplicityIndicator(boolean newMultiplicityIndicator)
+ {
+ boolean oldMultiplicityIndicator = multiplicityIndicator;
+ multiplicityIndicator = newMultiplicityIndicator;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__MULTIPLICITY_INDICATOR, oldMultiplicityIndicator, multiplicityIndicator));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceElement getInit()
+ {
+ return init;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetInit(SequenceElement newInit, NotificationChain msgs)
+ {
+ SequenceElement oldInit = init;
+ init = newInit;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__INIT, oldInit, newInit);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInit(SequenceElement newInit)
+ {
+ if (newInit != init)
+ {
+ NotificationChain msgs = null;
+ if (init != null)
+ msgs = ((InternalEObject)init).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__INIT, null, msgs);
+ if (newInit != null)
+ msgs = ((InternalEObject)newInit).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__INIT, null, msgs);
+ msgs = basicSetInit(newInit, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__INIT, newInit, newInit));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__TYPE:
+ return basicSetType(null, msgs);
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__INIT:
+ return basicSetInit(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__VAR_NAME:
+ return getVarName();
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__TYPE:
+ return getType();
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__MULTIPLICITY_INDICATOR:
+ return isMultiplicityIndicator();
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__INIT:
+ return getInit();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__VAR_NAME:
+ setVarName((String)newValue);
+ return;
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__TYPE:
+ setType((QualifiedNameWithBinding)newValue);
+ return;
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__MULTIPLICITY_INDICATOR:
+ setMultiplicityIndicator((Boolean)newValue);
+ return;
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__INIT:
+ setInit((SequenceElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__VAR_NAME:
+ setVarName(VAR_NAME_EDEFAULT);
+ return;
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__TYPE:
+ setType((QualifiedNameWithBinding)null);
+ return;
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__MULTIPLICITY_INDICATOR:
+ setMultiplicityIndicator(MULTIPLICITY_INDICATOR_EDEFAULT);
+ return;
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__INIT:
+ setInit((SequenceElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__VAR_NAME:
+ return VAR_NAME_EDEFAULT == null ? varName != null : !VAR_NAME_EDEFAULT.equals(varName);
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__TYPE:
+ return type != null;
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__MULTIPLICITY_INDICATOR:
+ return multiplicityIndicator != MULTIPLICITY_INDICATOR_EDEFAULT;
+ case AlfPackage.LOCAL_NAME_DECLARATION_STATEMENT__INIT:
+ return init != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (varName: ");
+ result.append(varName);
+ result.append(", multiplicityIndicator: ");
+ result.append(multiplicityIndicator);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LocalNameDeclarationStatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LoopVariableDefinitionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LoopVariableDefinitionImpl.java
new file mode 100644
index 00000000000..0c9745f82fe
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/LoopVariableDefinitionImpl.java
@@ -0,0 +1,483 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Expression;
+import org.eclipse.papyrus.alf.alf.LoopVariableDefinition;
+import org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Loop Variable Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.LoopVariableDefinitionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.LoopVariableDefinitionImpl#getExpression1 <em>Expression1</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.LoopVariableDefinitionImpl#getExpression2 <em>Expression2</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.LoopVariableDefinitionImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.LoopVariableDefinitionImpl#getExpression <em>Expression</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LoopVariableDefinitionImpl extends MinimalEObjectImpl.Container implements LoopVariableDefinition
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getExpression1() <em>Expression1</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpression1()
+ * @generated
+ * @ordered
+ */
+ protected Expression expression1;
+
+ /**
+ * The cached value of the '{@link #getExpression2() <em>Expression2</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpression2()
+ * @generated
+ * @ordered
+ */
+ protected Expression expression2;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected QualifiedNameWithBinding type;
+
+ /**
+ * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpression()
+ * @generated
+ * @ordered
+ */
+ protected Expression expression;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LoopVariableDefinitionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.LOOP_VARIABLE_DEFINITION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.LOOP_VARIABLE_DEFINITION__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getExpression1()
+ {
+ return expression1;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExpression1(Expression newExpression1, NotificationChain msgs)
+ {
+ Expression oldExpression1 = expression1;
+ expression1 = newExpression1;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION1, oldExpression1, newExpression1);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpression1(Expression newExpression1)
+ {
+ if (newExpression1 != expression1)
+ {
+ NotificationChain msgs = null;
+ if (expression1 != null)
+ msgs = ((InternalEObject)expression1).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION1, null, msgs);
+ if (newExpression1 != null)
+ msgs = ((InternalEObject)newExpression1).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION1, null, msgs);
+ msgs = basicSetExpression1(newExpression1, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION1, newExpression1, newExpression1));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getExpression2()
+ {
+ return expression2;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExpression2(Expression newExpression2, NotificationChain msgs)
+ {
+ Expression oldExpression2 = expression2;
+ expression2 = newExpression2;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION2, oldExpression2, newExpression2);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpression2(Expression newExpression2)
+ {
+ if (newExpression2 != expression2)
+ {
+ NotificationChain msgs = null;
+ if (expression2 != null)
+ msgs = ((InternalEObject)expression2).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION2, null, msgs);
+ if (newExpression2 != null)
+ msgs = ((InternalEObject)newExpression2).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION2, null, msgs);
+ msgs = basicSetExpression2(newExpression2, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION2, newExpression2, newExpression2));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QualifiedNameWithBinding getType()
+ {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetType(QualifiedNameWithBinding newType, NotificationChain msgs)
+ {
+ QualifiedNameWithBinding oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.LOOP_VARIABLE_DEFINITION__TYPE, oldType, newType);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(QualifiedNameWithBinding newType)
+ {
+ if (newType != type)
+ {
+ NotificationChain msgs = null;
+ if (type != null)
+ msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.LOOP_VARIABLE_DEFINITION__TYPE, null, msgs);
+ if (newType != null)
+ msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.LOOP_VARIABLE_DEFINITION__TYPE, null, msgs);
+ msgs = basicSetType(newType, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.LOOP_VARIABLE_DEFINITION__TYPE, newType, newType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getExpression()
+ {
+ return expression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExpression(Expression newExpression, NotificationChain msgs)
+ {
+ Expression oldExpression = expression;
+ expression = newExpression;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION, oldExpression, newExpression);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpression(Expression newExpression)
+ {
+ if (newExpression != expression)
+ {
+ NotificationChain msgs = null;
+ if (expression != null)
+ msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION, null, msgs);
+ if (newExpression != null)
+ msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION, null, msgs);
+ msgs = basicSetExpression(newExpression, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION, newExpression, newExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION1:
+ return basicSetExpression1(null, msgs);
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION2:
+ return basicSetExpression2(null, msgs);
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__TYPE:
+ return basicSetType(null, msgs);
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION:
+ return basicSetExpression(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__NAME:
+ return getName();
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION1:
+ return getExpression1();
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION2:
+ return getExpression2();
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__TYPE:
+ return getType();
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION:
+ return getExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__NAME:
+ setName((String)newValue);
+ return;
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION1:
+ setExpression1((Expression)newValue);
+ return;
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION2:
+ setExpression2((Expression)newValue);
+ return;
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__TYPE:
+ setType((QualifiedNameWithBinding)newValue);
+ return;
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION:
+ setExpression((Expression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION1:
+ setExpression1((Expression)null);
+ return;
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION2:
+ setExpression2((Expression)null);
+ return;
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__TYPE:
+ setType((QualifiedNameWithBinding)null);
+ return;
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION:
+ setExpression((Expression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION1:
+ return expression1 != null;
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION2:
+ return expression2 != null;
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__TYPE:
+ return type != null;
+ case AlfPackage.LOOP_VARIABLE_DEFINITION__EXPRESSION:
+ return expression != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LoopVariableDefinitionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/MultiplicativeExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/MultiplicativeExpressionImpl.java
new file mode 100644
index 00000000000..2d9c4701e1c
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/MultiplicativeExpressionImpl.java
@@ -0,0 +1,225 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.MultiplicativeExpression;
+import org.eclipse.papyrus.alf.alf.UnaryExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Multiplicative Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.MultiplicativeExpressionImpl#getExp <em>Exp</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.MultiplicativeExpressionImpl#getOp <em>Op</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MultiplicativeExpressionImpl extends MinimalEObjectImpl.Container implements MultiplicativeExpression
+{
+ /**
+ * The cached value of the '{@link #getExp() <em>Exp</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExp()
+ * @generated
+ * @ordered
+ */
+ protected EList<UnaryExpression> exp;
+
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> op;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MultiplicativeExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.MULTIPLICATIVE_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<UnaryExpression> getExp()
+ {
+ if (exp == null)
+ {
+ exp = new EObjectContainmentEList<UnaryExpression>(UnaryExpression.class, this, AlfPackage.MULTIPLICATIVE_EXPRESSION__EXP);
+ }
+ return exp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getOp()
+ {
+ if (op == null)
+ {
+ op = new EDataTypeEList<String>(String.class, this, AlfPackage.MULTIPLICATIVE_EXPRESSION__OP);
+ }
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.MULTIPLICATIVE_EXPRESSION__EXP:
+ return ((InternalEList<?>)getExp()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.MULTIPLICATIVE_EXPRESSION__EXP:
+ return getExp();
+ case AlfPackage.MULTIPLICATIVE_EXPRESSION__OP:
+ return getOp();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.MULTIPLICATIVE_EXPRESSION__EXP:
+ getExp().clear();
+ getExp().addAll((Collection<? extends UnaryExpression>)newValue);
+ return;
+ case AlfPackage.MULTIPLICATIVE_EXPRESSION__OP:
+ getOp().clear();
+ getOp().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.MULTIPLICATIVE_EXPRESSION__EXP:
+ getExp().clear();
+ return;
+ case AlfPackage.MULTIPLICATIVE_EXPRESSION__OP:
+ getOp().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.MULTIPLICATIVE_EXPRESSION__EXP:
+ return exp != null && !exp.isEmpty();
+ case AlfPackage.MULTIPLICATIVE_EXPRESSION__OP:
+ return op != null && !op.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (op: ");
+ result.append(op);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MultiplicativeExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NUMBER_LITERALImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NUMBER_LITERALImpl.java
new file mode 100644
index 00000000000..49d4c476ab6
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NUMBER_LITERALImpl.java
@@ -0,0 +1,180 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.NUMBER_LITERAL;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>NUMBER LITERAL</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.NUMBER_LITERALImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NUMBER_LITERALImpl extends LITERALImpl implements NUMBER_LITERAL
+{
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NUMBER_LITERALImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.NUMBER_LITERAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.NUMBER_LITERAL__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NUMBER_LITERAL__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NUMBER_LITERAL__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NUMBER_LITERAL__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NUMBER_LITERAL__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NUMBER_LITERALImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NameExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NameExpressionImpl.java
new file mode 100644
index 00000000000..a60f255b64c
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NameExpressionImpl.java
@@ -0,0 +1,596 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.NameExpression;
+import org.eclipse.papyrus.alf.alf.QualifiedNamePath;
+import org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion;
+import org.eclipse.papyrus.alf.alf.SuffixExpression;
+import org.eclipse.papyrus.alf.alf.Tuple;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Name Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.NameExpressionImpl#getPrefixOp <em>Prefix Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.NameExpressionImpl#getPath <em>Path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.NameExpressionImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.NameExpressionImpl#getInvocationCompletion <em>Invocation Completion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.NameExpressionImpl#getSequenceConstructionCompletion <em>Sequence Construction Completion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.NameExpressionImpl#getPostfixOp <em>Postfix Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.NameExpressionImpl#getSuffix <em>Suffix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NameExpressionImpl extends ValueSpecificationImpl implements NameExpression
+{
+ /**
+ * The default value of the '{@link #getPrefixOp() <em>Prefix Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrefixOp()
+ * @generated
+ * @ordered
+ */
+ protected static final String PREFIX_OP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPrefixOp() <em>Prefix Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrefixOp()
+ * @generated
+ * @ordered
+ */
+ protected String prefixOp = PREFIX_OP_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getPath() <em>Path</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPath()
+ * @generated
+ * @ordered
+ */
+ protected QualifiedNamePath path;
+
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getInvocationCompletion() <em>Invocation Completion</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInvocationCompletion()
+ * @generated
+ * @ordered
+ */
+ protected Tuple invocationCompletion;
+
+ /**
+ * The cached value of the '{@link #getSequenceConstructionCompletion() <em>Sequence Construction Completion</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSequenceConstructionCompletion()
+ * @generated
+ * @ordered
+ */
+ protected SequenceConstructionOrAccessCompletion sequenceConstructionCompletion;
+
+ /**
+ * The default value of the '{@link #getPostfixOp() <em>Postfix Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPostfixOp()
+ * @generated
+ * @ordered
+ */
+ protected static final String POSTFIX_OP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPostfixOp() <em>Postfix Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPostfixOp()
+ * @generated
+ * @ordered
+ */
+ protected String postfixOp = POSTFIX_OP_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSuffix() <em>Suffix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuffix()
+ * @generated
+ * @ordered
+ */
+ protected SuffixExpression suffix;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NameExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.NAME_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPrefixOp()
+ {
+ return prefixOp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPrefixOp(String newPrefixOp)
+ {
+ String oldPrefixOp = prefixOp;
+ prefixOp = newPrefixOp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.NAME_EXPRESSION__PREFIX_OP, oldPrefixOp, prefixOp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QualifiedNamePath getPath()
+ {
+ return path;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPath(QualifiedNamePath newPath, NotificationChain msgs)
+ {
+ QualifiedNamePath oldPath = path;
+ path = newPath;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.NAME_EXPRESSION__PATH, oldPath, newPath);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPath(QualifiedNamePath newPath)
+ {
+ if (newPath != path)
+ {
+ NotificationChain msgs = null;
+ if (path != null)
+ msgs = ((InternalEObject)path).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.NAME_EXPRESSION__PATH, null, msgs);
+ if (newPath != null)
+ msgs = ((InternalEObject)newPath).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.NAME_EXPRESSION__PATH, null, msgs);
+ msgs = basicSetPath(newPath, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.NAME_EXPRESSION__PATH, newPath, newPath));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId()
+ {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId)
+ {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.NAME_EXPRESSION__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Tuple getInvocationCompletion()
+ {
+ return invocationCompletion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetInvocationCompletion(Tuple newInvocationCompletion, NotificationChain msgs)
+ {
+ Tuple oldInvocationCompletion = invocationCompletion;
+ invocationCompletion = newInvocationCompletion;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.NAME_EXPRESSION__INVOCATION_COMPLETION, oldInvocationCompletion, newInvocationCompletion);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInvocationCompletion(Tuple newInvocationCompletion)
+ {
+ if (newInvocationCompletion != invocationCompletion)
+ {
+ NotificationChain msgs = null;
+ if (invocationCompletion != null)
+ msgs = ((InternalEObject)invocationCompletion).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.NAME_EXPRESSION__INVOCATION_COMPLETION, null, msgs);
+ if (newInvocationCompletion != null)
+ msgs = ((InternalEObject)newInvocationCompletion).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.NAME_EXPRESSION__INVOCATION_COMPLETION, null, msgs);
+ msgs = basicSetInvocationCompletion(newInvocationCompletion, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.NAME_EXPRESSION__INVOCATION_COMPLETION, newInvocationCompletion, newInvocationCompletion));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceConstructionOrAccessCompletion getSequenceConstructionCompletion()
+ {
+ return sequenceConstructionCompletion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSequenceConstructionCompletion(SequenceConstructionOrAccessCompletion newSequenceConstructionCompletion, NotificationChain msgs)
+ {
+ SequenceConstructionOrAccessCompletion oldSequenceConstructionCompletion = sequenceConstructionCompletion;
+ sequenceConstructionCompletion = newSequenceConstructionCompletion;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.NAME_EXPRESSION__SEQUENCE_CONSTRUCTION_COMPLETION, oldSequenceConstructionCompletion, newSequenceConstructionCompletion);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSequenceConstructionCompletion(SequenceConstructionOrAccessCompletion newSequenceConstructionCompletion)
+ {
+ if (newSequenceConstructionCompletion != sequenceConstructionCompletion)
+ {
+ NotificationChain msgs = null;
+ if (sequenceConstructionCompletion != null)
+ msgs = ((InternalEObject)sequenceConstructionCompletion).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.NAME_EXPRESSION__SEQUENCE_CONSTRUCTION_COMPLETION, null, msgs);
+ if (newSequenceConstructionCompletion != null)
+ msgs = ((InternalEObject)newSequenceConstructionCompletion).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.NAME_EXPRESSION__SEQUENCE_CONSTRUCTION_COMPLETION, null, msgs);
+ msgs = basicSetSequenceConstructionCompletion(newSequenceConstructionCompletion, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.NAME_EXPRESSION__SEQUENCE_CONSTRUCTION_COMPLETION, newSequenceConstructionCompletion, newSequenceConstructionCompletion));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPostfixOp()
+ {
+ return postfixOp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPostfixOp(String newPostfixOp)
+ {
+ String oldPostfixOp = postfixOp;
+ postfixOp = newPostfixOp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.NAME_EXPRESSION__POSTFIX_OP, oldPostfixOp, postfixOp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SuffixExpression getSuffix()
+ {
+ return suffix;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSuffix(SuffixExpression newSuffix, NotificationChain msgs)
+ {
+ SuffixExpression oldSuffix = suffix;
+ suffix = newSuffix;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.NAME_EXPRESSION__SUFFIX, oldSuffix, newSuffix);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSuffix(SuffixExpression newSuffix)
+ {
+ if (newSuffix != suffix)
+ {
+ NotificationChain msgs = null;
+ if (suffix != null)
+ msgs = ((InternalEObject)suffix).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.NAME_EXPRESSION__SUFFIX, null, msgs);
+ if (newSuffix != null)
+ msgs = ((InternalEObject)newSuffix).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.NAME_EXPRESSION__SUFFIX, null, msgs);
+ msgs = basicSetSuffix(newSuffix, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.NAME_EXPRESSION__SUFFIX, newSuffix, newSuffix));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NAME_EXPRESSION__PATH:
+ return basicSetPath(null, msgs);
+ case AlfPackage.NAME_EXPRESSION__INVOCATION_COMPLETION:
+ return basicSetInvocationCompletion(null, msgs);
+ case AlfPackage.NAME_EXPRESSION__SEQUENCE_CONSTRUCTION_COMPLETION:
+ return basicSetSequenceConstructionCompletion(null, msgs);
+ case AlfPackage.NAME_EXPRESSION__SUFFIX:
+ return basicSetSuffix(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NAME_EXPRESSION__PREFIX_OP:
+ return getPrefixOp();
+ case AlfPackage.NAME_EXPRESSION__PATH:
+ return getPath();
+ case AlfPackage.NAME_EXPRESSION__ID:
+ return getId();
+ case AlfPackage.NAME_EXPRESSION__INVOCATION_COMPLETION:
+ return getInvocationCompletion();
+ case AlfPackage.NAME_EXPRESSION__SEQUENCE_CONSTRUCTION_COMPLETION:
+ return getSequenceConstructionCompletion();
+ case AlfPackage.NAME_EXPRESSION__POSTFIX_OP:
+ return getPostfixOp();
+ case AlfPackage.NAME_EXPRESSION__SUFFIX:
+ return getSuffix();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NAME_EXPRESSION__PREFIX_OP:
+ setPrefixOp((String)newValue);
+ return;
+ case AlfPackage.NAME_EXPRESSION__PATH:
+ setPath((QualifiedNamePath)newValue);
+ return;
+ case AlfPackage.NAME_EXPRESSION__ID:
+ setId((String)newValue);
+ return;
+ case AlfPackage.NAME_EXPRESSION__INVOCATION_COMPLETION:
+ setInvocationCompletion((Tuple)newValue);
+ return;
+ case AlfPackage.NAME_EXPRESSION__SEQUENCE_CONSTRUCTION_COMPLETION:
+ setSequenceConstructionCompletion((SequenceConstructionOrAccessCompletion)newValue);
+ return;
+ case AlfPackage.NAME_EXPRESSION__POSTFIX_OP:
+ setPostfixOp((String)newValue);
+ return;
+ case AlfPackage.NAME_EXPRESSION__SUFFIX:
+ setSuffix((SuffixExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NAME_EXPRESSION__PREFIX_OP:
+ setPrefixOp(PREFIX_OP_EDEFAULT);
+ return;
+ case AlfPackage.NAME_EXPRESSION__PATH:
+ setPath((QualifiedNamePath)null);
+ return;
+ case AlfPackage.NAME_EXPRESSION__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case AlfPackage.NAME_EXPRESSION__INVOCATION_COMPLETION:
+ setInvocationCompletion((Tuple)null);
+ return;
+ case AlfPackage.NAME_EXPRESSION__SEQUENCE_CONSTRUCTION_COMPLETION:
+ setSequenceConstructionCompletion((SequenceConstructionOrAccessCompletion)null);
+ return;
+ case AlfPackage.NAME_EXPRESSION__POSTFIX_OP:
+ setPostfixOp(POSTFIX_OP_EDEFAULT);
+ return;
+ case AlfPackage.NAME_EXPRESSION__SUFFIX:
+ setSuffix((SuffixExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NAME_EXPRESSION__PREFIX_OP:
+ return PREFIX_OP_EDEFAULT == null ? prefixOp != null : !PREFIX_OP_EDEFAULT.equals(prefixOp);
+ case AlfPackage.NAME_EXPRESSION__PATH:
+ return path != null;
+ case AlfPackage.NAME_EXPRESSION__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case AlfPackage.NAME_EXPRESSION__INVOCATION_COMPLETION:
+ return invocationCompletion != null;
+ case AlfPackage.NAME_EXPRESSION__SEQUENCE_CONSTRUCTION_COMPLETION:
+ return sequenceConstructionCompletion != null;
+ case AlfPackage.NAME_EXPRESSION__POSTFIX_OP:
+ return POSTFIX_OP_EDEFAULT == null ? postfixOp != null : !POSTFIX_OP_EDEFAULT.equals(postfixOp);
+ case AlfPackage.NAME_EXPRESSION__SUFFIX:
+ return suffix != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (prefixOp: ");
+ result.append(prefixOp);
+ result.append(", id: ");
+ result.append(id);
+ result.append(", postfixOp: ");
+ result.append(postfixOp);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NameExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NamedTemplateBindingImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NamedTemplateBindingImpl.java
new file mode 100644
index 00000000000..1561d77ca2a
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NamedTemplateBindingImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.NamedTemplateBinding;
+import org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Named Template Binding</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.NamedTemplateBindingImpl#getFormal <em>Formal</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.NamedTemplateBindingImpl#getActual <em>Actual</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NamedTemplateBindingImpl extends MinimalEObjectImpl.Container implements NamedTemplateBinding
+{
+ /**
+ * The default value of the '{@link #getFormal() <em>Formal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFormal()
+ * @generated
+ * @ordered
+ */
+ protected static final String FORMAL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFormal() <em>Formal</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFormal()
+ * @generated
+ * @ordered
+ */
+ protected String formal = FORMAL_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getActual() <em>Actual</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getActual()
+ * @generated
+ * @ordered
+ */
+ protected QualifiedNameWithBinding actual;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NamedTemplateBindingImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.NAMED_TEMPLATE_BINDING;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFormal()
+ {
+ return formal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFormal(String newFormal)
+ {
+ String oldFormal = formal;
+ formal = newFormal;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.NAMED_TEMPLATE_BINDING__FORMAL, oldFormal, formal));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QualifiedNameWithBinding getActual()
+ {
+ return actual;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetActual(QualifiedNameWithBinding newActual, NotificationChain msgs)
+ {
+ QualifiedNameWithBinding oldActual = actual;
+ actual = newActual;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.NAMED_TEMPLATE_BINDING__ACTUAL, oldActual, newActual);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setActual(QualifiedNameWithBinding newActual)
+ {
+ if (newActual != actual)
+ {
+ NotificationChain msgs = null;
+ if (actual != null)
+ msgs = ((InternalEObject)actual).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.NAMED_TEMPLATE_BINDING__ACTUAL, null, msgs);
+ if (newActual != null)
+ msgs = ((InternalEObject)newActual).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.NAMED_TEMPLATE_BINDING__ACTUAL, null, msgs);
+ msgs = basicSetActual(newActual, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.NAMED_TEMPLATE_BINDING__ACTUAL, newActual, newActual));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NAMED_TEMPLATE_BINDING__ACTUAL:
+ return basicSetActual(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NAMED_TEMPLATE_BINDING__FORMAL:
+ return getFormal();
+ case AlfPackage.NAMED_TEMPLATE_BINDING__ACTUAL:
+ return getActual();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NAMED_TEMPLATE_BINDING__FORMAL:
+ setFormal((String)newValue);
+ return;
+ case AlfPackage.NAMED_TEMPLATE_BINDING__ACTUAL:
+ setActual((QualifiedNameWithBinding)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NAMED_TEMPLATE_BINDING__FORMAL:
+ setFormal(FORMAL_EDEFAULT);
+ return;
+ case AlfPackage.NAMED_TEMPLATE_BINDING__ACTUAL:
+ setActual((QualifiedNameWithBinding)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NAMED_TEMPLATE_BINDING__FORMAL:
+ return FORMAL_EDEFAULT == null ? formal != null : !FORMAL_EDEFAULT.equals(formal);
+ case AlfPackage.NAMED_TEMPLATE_BINDING__ACTUAL:
+ return actual != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (formal: ");
+ result.append(formal);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NamedTemplateBindingImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NonEmptyStatementSequenceImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NonEmptyStatementSequenceImpl.java
new file mode 100644
index 00000000000..25dde6f6a16
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NonEmptyStatementSequenceImpl.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.DocumentedStatement;
+import org.eclipse.papyrus.alf.alf.NonEmptyStatementSequence;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Non Empty Statement Sequence</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.NonEmptyStatementSequenceImpl#getStatement <em>Statement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NonEmptyStatementSequenceImpl extends MinimalEObjectImpl.Container implements NonEmptyStatementSequence
+{
+ /**
+ * The cached value of the '{@link #getStatement() <em>Statement</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatement()
+ * @generated
+ * @ordered
+ */
+ protected EList<DocumentedStatement> statement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NonEmptyStatementSequenceImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.NON_EMPTY_STATEMENT_SEQUENCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DocumentedStatement> getStatement()
+ {
+ if (statement == null)
+ {
+ statement = new EObjectContainmentEList<DocumentedStatement>(DocumentedStatement.class, this, AlfPackage.NON_EMPTY_STATEMENT_SEQUENCE__STATEMENT);
+ }
+ return statement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NON_EMPTY_STATEMENT_SEQUENCE__STATEMENT:
+ return ((InternalEList<?>)getStatement()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NON_EMPTY_STATEMENT_SEQUENCE__STATEMENT:
+ return getStatement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NON_EMPTY_STATEMENT_SEQUENCE__STATEMENT:
+ getStatement().clear();
+ getStatement().addAll((Collection<? extends DocumentedStatement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NON_EMPTY_STATEMENT_SEQUENCE__STATEMENT:
+ getStatement().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NON_EMPTY_STATEMENT_SEQUENCE__STATEMENT:
+ return statement != null && !statement.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //NonEmptyStatementSequenceImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NonFinalClauseImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NonFinalClauseImpl.java
new file mode 100644
index 00000000000..e95bd8a7904
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NonFinalClauseImpl.java
@@ -0,0 +1,270 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Block;
+import org.eclipse.papyrus.alf.alf.Expression;
+import org.eclipse.papyrus.alf.alf.NonFinalClause;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Non Final Clause</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.NonFinalClauseImpl#getCondition <em>Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.NonFinalClauseImpl#getBlock <em>Block</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NonFinalClauseImpl extends MinimalEObjectImpl.Container implements NonFinalClause
+{
+ /**
+ * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCondition()
+ * @generated
+ * @ordered
+ */
+ protected Expression condition;
+
+ /**
+ * The cached value of the '{@link #getBlock() <em>Block</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBlock()
+ * @generated
+ * @ordered
+ */
+ protected Block block;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NonFinalClauseImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.NON_FINAL_CLAUSE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getCondition()
+ {
+ return condition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs)
+ {
+ Expression oldCondition = condition;
+ condition = newCondition;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.NON_FINAL_CLAUSE__CONDITION, oldCondition, newCondition);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCondition(Expression newCondition)
+ {
+ if (newCondition != condition)
+ {
+ NotificationChain msgs = null;
+ if (condition != null)
+ msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.NON_FINAL_CLAUSE__CONDITION, null, msgs);
+ if (newCondition != null)
+ msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.NON_FINAL_CLAUSE__CONDITION, null, msgs);
+ msgs = basicSetCondition(newCondition, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.NON_FINAL_CLAUSE__CONDITION, newCondition, newCondition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Block getBlock()
+ {
+ return block;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBlock(Block newBlock, NotificationChain msgs)
+ {
+ Block oldBlock = block;
+ block = newBlock;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.NON_FINAL_CLAUSE__BLOCK, oldBlock, newBlock);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBlock(Block newBlock)
+ {
+ if (newBlock != block)
+ {
+ NotificationChain msgs = null;
+ if (block != null)
+ msgs = ((InternalEObject)block).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.NON_FINAL_CLAUSE__BLOCK, null, msgs);
+ if (newBlock != null)
+ msgs = ((InternalEObject)newBlock).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.NON_FINAL_CLAUSE__BLOCK, null, msgs);
+ msgs = basicSetBlock(newBlock, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.NON_FINAL_CLAUSE__BLOCK, newBlock, newBlock));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NON_FINAL_CLAUSE__CONDITION:
+ return basicSetCondition(null, msgs);
+ case AlfPackage.NON_FINAL_CLAUSE__BLOCK:
+ return basicSetBlock(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NON_FINAL_CLAUSE__CONDITION:
+ return getCondition();
+ case AlfPackage.NON_FINAL_CLAUSE__BLOCK:
+ return getBlock();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NON_FINAL_CLAUSE__CONDITION:
+ setCondition((Expression)newValue);
+ return;
+ case AlfPackage.NON_FINAL_CLAUSE__BLOCK:
+ setBlock((Block)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NON_FINAL_CLAUSE__CONDITION:
+ setCondition((Expression)null);
+ return;
+ case AlfPackage.NON_FINAL_CLAUSE__BLOCK:
+ setBlock((Block)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.NON_FINAL_CLAUSE__CONDITION:
+ return condition != null;
+ case AlfPackage.NON_FINAL_CLAUSE__BLOCK:
+ return block != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //NonFinalClauseImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NonLiteralValueSpecificationImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NonLiteralValueSpecificationImpl.java
new file mode 100644
index 00000000000..71a97e25e4d
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NonLiteralValueSpecificationImpl.java
@@ -0,0 +1,48 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.NonLiteralValueSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Non Literal Value Specification</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class NonLiteralValueSpecificationImpl extends MinimalEObjectImpl.Container implements NonLiteralValueSpecification
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NonLiteralValueSpecificationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.NON_LITERAL_VALUE_SPECIFICATION;
+ }
+
+} //NonLiteralValueSpecificationImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NullExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NullExpressionImpl.java
new file mode 100644
index 00000000000..3c7b8b801ef
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/NullExpressionImpl.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.NullExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Null Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class NullExpressionImpl extends ValueSpecificationImpl implements NullExpression
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NullExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.NULL_EXPRESSION;
+ }
+
+} //NullExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/OperationCallExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/OperationCallExpressionImpl.java
new file mode 100644
index 00000000000..ae511b761f7
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/OperationCallExpressionImpl.java
@@ -0,0 +1,340 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.OperationCallExpression;
+import org.eclipse.papyrus.alf.alf.SuffixExpression;
+import org.eclipse.papyrus.alf.alf.Tuple;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Operation Call Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.OperationCallExpressionImpl#getOperationName <em>Operation Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.OperationCallExpressionImpl#getTuple <em>Tuple</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.OperationCallExpressionImpl#getSuffix <em>Suffix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OperationCallExpressionImpl extends SuffixExpressionImpl implements OperationCallExpression
+{
+ /**
+ * The default value of the '{@link #getOperationName() <em>Operation Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperationName()
+ * @generated
+ * @ordered
+ */
+ protected static final String OPERATION_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOperationName() <em>Operation Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperationName()
+ * @generated
+ * @ordered
+ */
+ protected String operationName = OPERATION_NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTuple() <em>Tuple</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTuple()
+ * @generated
+ * @ordered
+ */
+ protected Tuple tuple;
+
+ /**
+ * The cached value of the '{@link #getSuffix() <em>Suffix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuffix()
+ * @generated
+ * @ordered
+ */
+ protected SuffixExpression suffix;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OperationCallExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.OPERATION_CALL_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOperationName()
+ {
+ return operationName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOperationName(String newOperationName)
+ {
+ String oldOperationName = operationName;
+ operationName = newOperationName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.OPERATION_CALL_EXPRESSION__OPERATION_NAME, oldOperationName, operationName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Tuple getTuple()
+ {
+ return tuple;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTuple(Tuple newTuple, NotificationChain msgs)
+ {
+ Tuple oldTuple = tuple;
+ tuple = newTuple;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.OPERATION_CALL_EXPRESSION__TUPLE, oldTuple, newTuple);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTuple(Tuple newTuple)
+ {
+ if (newTuple != tuple)
+ {
+ NotificationChain msgs = null;
+ if (tuple != null)
+ msgs = ((InternalEObject)tuple).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.OPERATION_CALL_EXPRESSION__TUPLE, null, msgs);
+ if (newTuple != null)
+ msgs = ((InternalEObject)newTuple).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.OPERATION_CALL_EXPRESSION__TUPLE, null, msgs);
+ msgs = basicSetTuple(newTuple, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.OPERATION_CALL_EXPRESSION__TUPLE, newTuple, newTuple));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SuffixExpression getSuffix()
+ {
+ return suffix;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSuffix(SuffixExpression newSuffix, NotificationChain msgs)
+ {
+ SuffixExpression oldSuffix = suffix;
+ suffix = newSuffix;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.OPERATION_CALL_EXPRESSION__SUFFIX, oldSuffix, newSuffix);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSuffix(SuffixExpression newSuffix)
+ {
+ if (newSuffix != suffix)
+ {
+ NotificationChain msgs = null;
+ if (suffix != null)
+ msgs = ((InternalEObject)suffix).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.OPERATION_CALL_EXPRESSION__SUFFIX, null, msgs);
+ if (newSuffix != null)
+ msgs = ((InternalEObject)newSuffix).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.OPERATION_CALL_EXPRESSION__SUFFIX, null, msgs);
+ msgs = basicSetSuffix(newSuffix, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.OPERATION_CALL_EXPRESSION__SUFFIX, newSuffix, newSuffix));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.OPERATION_CALL_EXPRESSION__TUPLE:
+ return basicSetTuple(null, msgs);
+ case AlfPackage.OPERATION_CALL_EXPRESSION__SUFFIX:
+ return basicSetSuffix(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.OPERATION_CALL_EXPRESSION__OPERATION_NAME:
+ return getOperationName();
+ case AlfPackage.OPERATION_CALL_EXPRESSION__TUPLE:
+ return getTuple();
+ case AlfPackage.OPERATION_CALL_EXPRESSION__SUFFIX:
+ return getSuffix();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.OPERATION_CALL_EXPRESSION__OPERATION_NAME:
+ setOperationName((String)newValue);
+ return;
+ case AlfPackage.OPERATION_CALL_EXPRESSION__TUPLE:
+ setTuple((Tuple)newValue);
+ return;
+ case AlfPackage.OPERATION_CALL_EXPRESSION__SUFFIX:
+ setSuffix((SuffixExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.OPERATION_CALL_EXPRESSION__OPERATION_NAME:
+ setOperationName(OPERATION_NAME_EDEFAULT);
+ return;
+ case AlfPackage.OPERATION_CALL_EXPRESSION__TUPLE:
+ setTuple((Tuple)null);
+ return;
+ case AlfPackage.OPERATION_CALL_EXPRESSION__SUFFIX:
+ setSuffix((SuffixExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.OPERATION_CALL_EXPRESSION__OPERATION_NAME:
+ return OPERATION_NAME_EDEFAULT == null ? operationName != null : !OPERATION_NAME_EDEFAULT.equals(operationName);
+ case AlfPackage.OPERATION_CALL_EXPRESSION__TUPLE:
+ return tuple != null;
+ case AlfPackage.OPERATION_CALL_EXPRESSION__SUFFIX:
+ return suffix != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (operationName: ");
+ result.append(operationName);
+ result.append(')');
+ return result.toString();
+ }
+
+} //OperationCallExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ParenthesizedExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ParenthesizedExpressionImpl.java
new file mode 100644
index 00000000000..cc5b15afb0e
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ParenthesizedExpressionImpl.java
@@ -0,0 +1,341 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Expression;
+import org.eclipse.papyrus.alf.alf.NonLiteralValueSpecification;
+import org.eclipse.papyrus.alf.alf.ParenthesizedExpression;
+import org.eclipse.papyrus.alf.alf.SuffixExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Parenthesized Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ParenthesizedExpressionImpl#getExpOrTypeCast <em>Exp Or Type Cast</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ParenthesizedExpressionImpl#getCasted <em>Casted</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ParenthesizedExpressionImpl#getSuffix <em>Suffix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ParenthesizedExpressionImpl extends ValueSpecificationImpl implements ParenthesizedExpression
+{
+ /**
+ * The cached value of the '{@link #getExpOrTypeCast() <em>Exp Or Type Cast</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpOrTypeCast()
+ * @generated
+ * @ordered
+ */
+ protected Expression expOrTypeCast;
+
+ /**
+ * The cached value of the '{@link #getCasted() <em>Casted</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCasted()
+ * @generated
+ * @ordered
+ */
+ protected NonLiteralValueSpecification casted;
+
+ /**
+ * The cached value of the '{@link #getSuffix() <em>Suffix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuffix()
+ * @generated
+ * @ordered
+ */
+ protected SuffixExpression suffix;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ParenthesizedExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.PARENTHESIZED_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getExpOrTypeCast()
+ {
+ return expOrTypeCast;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExpOrTypeCast(Expression newExpOrTypeCast, NotificationChain msgs)
+ {
+ Expression oldExpOrTypeCast = expOrTypeCast;
+ expOrTypeCast = newExpOrTypeCast;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.PARENTHESIZED_EXPRESSION__EXP_OR_TYPE_CAST, oldExpOrTypeCast, newExpOrTypeCast);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpOrTypeCast(Expression newExpOrTypeCast)
+ {
+ if (newExpOrTypeCast != expOrTypeCast)
+ {
+ NotificationChain msgs = null;
+ if (expOrTypeCast != null)
+ msgs = ((InternalEObject)expOrTypeCast).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.PARENTHESIZED_EXPRESSION__EXP_OR_TYPE_CAST, null, msgs);
+ if (newExpOrTypeCast != null)
+ msgs = ((InternalEObject)newExpOrTypeCast).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.PARENTHESIZED_EXPRESSION__EXP_OR_TYPE_CAST, null, msgs);
+ msgs = basicSetExpOrTypeCast(newExpOrTypeCast, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.PARENTHESIZED_EXPRESSION__EXP_OR_TYPE_CAST, newExpOrTypeCast, newExpOrTypeCast));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NonLiteralValueSpecification getCasted()
+ {
+ return casted;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetCasted(NonLiteralValueSpecification newCasted, NotificationChain msgs)
+ {
+ NonLiteralValueSpecification oldCasted = casted;
+ casted = newCasted;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.PARENTHESIZED_EXPRESSION__CASTED, oldCasted, newCasted);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCasted(NonLiteralValueSpecification newCasted)
+ {
+ if (newCasted != casted)
+ {
+ NotificationChain msgs = null;
+ if (casted != null)
+ msgs = ((InternalEObject)casted).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.PARENTHESIZED_EXPRESSION__CASTED, null, msgs);
+ if (newCasted != null)
+ msgs = ((InternalEObject)newCasted).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.PARENTHESIZED_EXPRESSION__CASTED, null, msgs);
+ msgs = basicSetCasted(newCasted, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.PARENTHESIZED_EXPRESSION__CASTED, newCasted, newCasted));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SuffixExpression getSuffix()
+ {
+ return suffix;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSuffix(SuffixExpression newSuffix, NotificationChain msgs)
+ {
+ SuffixExpression oldSuffix = suffix;
+ suffix = newSuffix;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.PARENTHESIZED_EXPRESSION__SUFFIX, oldSuffix, newSuffix);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSuffix(SuffixExpression newSuffix)
+ {
+ if (newSuffix != suffix)
+ {
+ NotificationChain msgs = null;
+ if (suffix != null)
+ msgs = ((InternalEObject)suffix).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.PARENTHESIZED_EXPRESSION__SUFFIX, null, msgs);
+ if (newSuffix != null)
+ msgs = ((InternalEObject)newSuffix).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.PARENTHESIZED_EXPRESSION__SUFFIX, null, msgs);
+ msgs = basicSetSuffix(newSuffix, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.PARENTHESIZED_EXPRESSION__SUFFIX, newSuffix, newSuffix));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PARENTHESIZED_EXPRESSION__EXP_OR_TYPE_CAST:
+ return basicSetExpOrTypeCast(null, msgs);
+ case AlfPackage.PARENTHESIZED_EXPRESSION__CASTED:
+ return basicSetCasted(null, msgs);
+ case AlfPackage.PARENTHESIZED_EXPRESSION__SUFFIX:
+ return basicSetSuffix(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PARENTHESIZED_EXPRESSION__EXP_OR_TYPE_CAST:
+ return getExpOrTypeCast();
+ case AlfPackage.PARENTHESIZED_EXPRESSION__CASTED:
+ return getCasted();
+ case AlfPackage.PARENTHESIZED_EXPRESSION__SUFFIX:
+ return getSuffix();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PARENTHESIZED_EXPRESSION__EXP_OR_TYPE_CAST:
+ setExpOrTypeCast((Expression)newValue);
+ return;
+ case AlfPackage.PARENTHESIZED_EXPRESSION__CASTED:
+ setCasted((NonLiteralValueSpecification)newValue);
+ return;
+ case AlfPackage.PARENTHESIZED_EXPRESSION__SUFFIX:
+ setSuffix((SuffixExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PARENTHESIZED_EXPRESSION__EXP_OR_TYPE_CAST:
+ setExpOrTypeCast((Expression)null);
+ return;
+ case AlfPackage.PARENTHESIZED_EXPRESSION__CASTED:
+ setCasted((NonLiteralValueSpecification)null);
+ return;
+ case AlfPackage.PARENTHESIZED_EXPRESSION__SUFFIX:
+ setSuffix((SuffixExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PARENTHESIZED_EXPRESSION__EXP_OR_TYPE_CAST:
+ return expOrTypeCast != null;
+ case AlfPackage.PARENTHESIZED_EXPRESSION__CASTED:
+ return casted != null;
+ case AlfPackage.PARENTHESIZED_EXPRESSION__SUFFIX:
+ return suffix != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ParenthesizedExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/PartialSequenceConstructionCompletionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/PartialSequenceConstructionCompletionImpl.java
new file mode 100644
index 00000000000..468d93f1c7a
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/PartialSequenceConstructionCompletionImpl.java
@@ -0,0 +1,198 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.PartialSequenceConstructionCompletion;
+import org.eclipse.papyrus.alf.alf.SequenceConstructionExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Partial Sequence Construction Completion</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.PartialSequenceConstructionCompletionImpl#getExpression <em>Expression</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PartialSequenceConstructionCompletionImpl extends MinimalEObjectImpl.Container implements PartialSequenceConstructionCompletion
+{
+ /**
+ * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpression()
+ * @generated
+ * @ordered
+ */
+ protected SequenceConstructionExpression expression;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PartialSequenceConstructionCompletionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.PARTIAL_SEQUENCE_CONSTRUCTION_COMPLETION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceConstructionExpression getExpression()
+ {
+ return expression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExpression(SequenceConstructionExpression newExpression, NotificationChain msgs)
+ {
+ SequenceConstructionExpression oldExpression = expression;
+ expression = newExpression;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.PARTIAL_SEQUENCE_CONSTRUCTION_COMPLETION__EXPRESSION, oldExpression, newExpression);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpression(SequenceConstructionExpression newExpression)
+ {
+ if (newExpression != expression)
+ {
+ NotificationChain msgs = null;
+ if (expression != null)
+ msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.PARTIAL_SEQUENCE_CONSTRUCTION_COMPLETION__EXPRESSION, null, msgs);
+ if (newExpression != null)
+ msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.PARTIAL_SEQUENCE_CONSTRUCTION_COMPLETION__EXPRESSION, null, msgs);
+ msgs = basicSetExpression(newExpression, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.PARTIAL_SEQUENCE_CONSTRUCTION_COMPLETION__EXPRESSION, newExpression, newExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PARTIAL_SEQUENCE_CONSTRUCTION_COMPLETION__EXPRESSION:
+ return basicSetExpression(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PARTIAL_SEQUENCE_CONSTRUCTION_COMPLETION__EXPRESSION:
+ return getExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PARTIAL_SEQUENCE_CONSTRUCTION_COMPLETION__EXPRESSION:
+ setExpression((SequenceConstructionExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PARTIAL_SEQUENCE_CONSTRUCTION_COMPLETION__EXPRESSION:
+ setExpression((SequenceConstructionExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PARTIAL_SEQUENCE_CONSTRUCTION_COMPLETION__EXPRESSION:
+ return expression != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //PartialSequenceConstructionCompletionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/PrimaryExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/PrimaryExpressionImpl.java
new file mode 100644
index 00000000000..4f90714f6e0
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/PrimaryExpressionImpl.java
@@ -0,0 +1,198 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.PrimaryExpression;
+import org.eclipse.papyrus.alf.alf.ValueSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Primary Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.PrimaryExpressionImpl#getPrefix <em>Prefix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PrimaryExpressionImpl extends MinimalEObjectImpl.Container implements PrimaryExpression
+{
+ /**
+ * The cached value of the '{@link #getPrefix() <em>Prefix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrefix()
+ * @generated
+ * @ordered
+ */
+ protected ValueSpecification prefix;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PrimaryExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.PRIMARY_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getPrefix()
+ {
+ return prefix;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPrefix(ValueSpecification newPrefix, NotificationChain msgs)
+ {
+ ValueSpecification oldPrefix = prefix;
+ prefix = newPrefix;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.PRIMARY_EXPRESSION__PREFIX, oldPrefix, newPrefix);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPrefix(ValueSpecification newPrefix)
+ {
+ if (newPrefix != prefix)
+ {
+ NotificationChain msgs = null;
+ if (prefix != null)
+ msgs = ((InternalEObject)prefix).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.PRIMARY_EXPRESSION__PREFIX, null, msgs);
+ if (newPrefix != null)
+ msgs = ((InternalEObject)newPrefix).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.PRIMARY_EXPRESSION__PREFIX, null, msgs);
+ msgs = basicSetPrefix(newPrefix, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.PRIMARY_EXPRESSION__PREFIX, newPrefix, newPrefix));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PRIMARY_EXPRESSION__PREFIX:
+ return basicSetPrefix(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PRIMARY_EXPRESSION__PREFIX:
+ return getPrefix();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PRIMARY_EXPRESSION__PREFIX:
+ setPrefix((ValueSpecification)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PRIMARY_EXPRESSION__PREFIX:
+ setPrefix((ValueSpecification)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PRIMARY_EXPRESSION__PREFIX:
+ return prefix != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //PrimaryExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/PropertyCallExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/PropertyCallExpressionImpl.java
new file mode 100644
index 00000000000..35c6e81fce3
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/PropertyCallExpressionImpl.java
@@ -0,0 +1,340 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Expression;
+import org.eclipse.papyrus.alf.alf.PropertyCallExpression;
+import org.eclipse.papyrus.alf.alf.SuffixExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property Call Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.PropertyCallExpressionImpl#getPropertyName <em>Property Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.PropertyCallExpressionImpl#getIndex <em>Index</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.PropertyCallExpressionImpl#getSuffix <em>Suffix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyCallExpressionImpl extends SuffixExpressionImpl implements PropertyCallExpression
+{
+ /**
+ * The default value of the '{@link #getPropertyName() <em>Property Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPropertyName()
+ * @generated
+ * @ordered
+ */
+ protected static final String PROPERTY_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPropertyName() <em>Property Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPropertyName()
+ * @generated
+ * @ordered
+ */
+ protected String propertyName = PROPERTY_NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getIndex() <em>Index</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIndex()
+ * @generated
+ * @ordered
+ */
+ protected Expression index;
+
+ /**
+ * The cached value of the '{@link #getSuffix() <em>Suffix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuffix()
+ * @generated
+ * @ordered
+ */
+ protected SuffixExpression suffix;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PropertyCallExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.PROPERTY_CALL_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPropertyName()
+ {
+ return propertyName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPropertyName(String newPropertyName)
+ {
+ String oldPropertyName = propertyName;
+ propertyName = newPropertyName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.PROPERTY_CALL_EXPRESSION__PROPERTY_NAME, oldPropertyName, propertyName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getIndex()
+ {
+ return index;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIndex(Expression newIndex, NotificationChain msgs)
+ {
+ Expression oldIndex = index;
+ index = newIndex;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.PROPERTY_CALL_EXPRESSION__INDEX, oldIndex, newIndex);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIndex(Expression newIndex)
+ {
+ if (newIndex != index)
+ {
+ NotificationChain msgs = null;
+ if (index != null)
+ msgs = ((InternalEObject)index).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.PROPERTY_CALL_EXPRESSION__INDEX, null, msgs);
+ if (newIndex != null)
+ msgs = ((InternalEObject)newIndex).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.PROPERTY_CALL_EXPRESSION__INDEX, null, msgs);
+ msgs = basicSetIndex(newIndex, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.PROPERTY_CALL_EXPRESSION__INDEX, newIndex, newIndex));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SuffixExpression getSuffix()
+ {
+ return suffix;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSuffix(SuffixExpression newSuffix, NotificationChain msgs)
+ {
+ SuffixExpression oldSuffix = suffix;
+ suffix = newSuffix;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.PROPERTY_CALL_EXPRESSION__SUFFIX, oldSuffix, newSuffix);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSuffix(SuffixExpression newSuffix)
+ {
+ if (newSuffix != suffix)
+ {
+ NotificationChain msgs = null;
+ if (suffix != null)
+ msgs = ((InternalEObject)suffix).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.PROPERTY_CALL_EXPRESSION__SUFFIX, null, msgs);
+ if (newSuffix != null)
+ msgs = ((InternalEObject)newSuffix).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.PROPERTY_CALL_EXPRESSION__SUFFIX, null, msgs);
+ msgs = basicSetSuffix(newSuffix, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.PROPERTY_CALL_EXPRESSION__SUFFIX, newSuffix, newSuffix));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PROPERTY_CALL_EXPRESSION__INDEX:
+ return basicSetIndex(null, msgs);
+ case AlfPackage.PROPERTY_CALL_EXPRESSION__SUFFIX:
+ return basicSetSuffix(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PROPERTY_CALL_EXPRESSION__PROPERTY_NAME:
+ return getPropertyName();
+ case AlfPackage.PROPERTY_CALL_EXPRESSION__INDEX:
+ return getIndex();
+ case AlfPackage.PROPERTY_CALL_EXPRESSION__SUFFIX:
+ return getSuffix();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PROPERTY_CALL_EXPRESSION__PROPERTY_NAME:
+ setPropertyName((String)newValue);
+ return;
+ case AlfPackage.PROPERTY_CALL_EXPRESSION__INDEX:
+ setIndex((Expression)newValue);
+ return;
+ case AlfPackage.PROPERTY_CALL_EXPRESSION__SUFFIX:
+ setSuffix((SuffixExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PROPERTY_CALL_EXPRESSION__PROPERTY_NAME:
+ setPropertyName(PROPERTY_NAME_EDEFAULT);
+ return;
+ case AlfPackage.PROPERTY_CALL_EXPRESSION__INDEX:
+ setIndex((Expression)null);
+ return;
+ case AlfPackage.PROPERTY_CALL_EXPRESSION__SUFFIX:
+ setSuffix((SuffixExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.PROPERTY_CALL_EXPRESSION__PROPERTY_NAME:
+ return PROPERTY_NAME_EDEFAULT == null ? propertyName != null : !PROPERTY_NAME_EDEFAULT.equals(propertyName);
+ case AlfPackage.PROPERTY_CALL_EXPRESSION__INDEX:
+ return index != null;
+ case AlfPackage.PROPERTY_CALL_EXPRESSION__SUFFIX:
+ return suffix != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (propertyName: ");
+ result.append(propertyName);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PropertyCallExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/QualifiedNameListImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/QualifiedNameListImpl.java
new file mode 100644
index 00000000000..a6f87712612
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/QualifiedNameListImpl.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.QualifiedNameList;
+import org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Qualified Name List</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.QualifiedNameListImpl#getQualifiedName <em>Qualified Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class QualifiedNameListImpl extends MinimalEObjectImpl.Container implements QualifiedNameList
+{
+ /**
+ * The cached value of the '{@link #getQualifiedName() <em>Qualified Name</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQualifiedName()
+ * @generated
+ * @ordered
+ */
+ protected EList<QualifiedNameWithBinding> qualifiedName;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected QualifiedNameListImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.QUALIFIED_NAME_LIST;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<QualifiedNameWithBinding> getQualifiedName()
+ {
+ if (qualifiedName == null)
+ {
+ qualifiedName = new EObjectContainmentEList<QualifiedNameWithBinding>(QualifiedNameWithBinding.class, this, AlfPackage.QUALIFIED_NAME_LIST__QUALIFIED_NAME);
+ }
+ return qualifiedName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.QUALIFIED_NAME_LIST__QUALIFIED_NAME:
+ return ((InternalEList<?>)getQualifiedName()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.QUALIFIED_NAME_LIST__QUALIFIED_NAME:
+ return getQualifiedName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.QUALIFIED_NAME_LIST__QUALIFIED_NAME:
+ getQualifiedName().clear();
+ getQualifiedName().addAll((Collection<? extends QualifiedNameWithBinding>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.QUALIFIED_NAME_LIST__QUALIFIED_NAME:
+ getQualifiedName().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.QUALIFIED_NAME_LIST__QUALIFIED_NAME:
+ return qualifiedName != null && !qualifiedName.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //QualifiedNameListImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/QualifiedNamePathImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/QualifiedNamePathImpl.java
new file mode 100644
index 00000000000..3770c0713f9
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/QualifiedNamePathImpl.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.QualifiedNamePath;
+import org.eclipse.papyrus.alf.alf.UnqualifiedName;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Qualified Name Path</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.QualifiedNamePathImpl#getNamespace <em>Namespace</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class QualifiedNamePathImpl extends MinimalEObjectImpl.Container implements QualifiedNamePath
+{
+ /**
+ * The cached value of the '{@link #getNamespace() <em>Namespace</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamespace()
+ * @generated
+ * @ordered
+ */
+ protected EList<UnqualifiedName> namespace;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected QualifiedNamePathImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.QUALIFIED_NAME_PATH;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<UnqualifiedName> getNamespace()
+ {
+ if (namespace == null)
+ {
+ namespace = new EObjectContainmentEList<UnqualifiedName>(UnqualifiedName.class, this, AlfPackage.QUALIFIED_NAME_PATH__NAMESPACE);
+ }
+ return namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.QUALIFIED_NAME_PATH__NAMESPACE:
+ return ((InternalEList<?>)getNamespace()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.QUALIFIED_NAME_PATH__NAMESPACE:
+ return getNamespace();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.QUALIFIED_NAME_PATH__NAMESPACE:
+ getNamespace().clear();
+ getNamespace().addAll((Collection<? extends UnqualifiedName>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.QUALIFIED_NAME_PATH__NAMESPACE:
+ getNamespace().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.QUALIFIED_NAME_PATH__NAMESPACE:
+ return namespace != null && !namespace.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //QualifiedNamePathImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/QualifiedNameWithBindingImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/QualifiedNameWithBindingImpl.java
new file mode 100644
index 00000000000..fb3030eef17
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/QualifiedNameWithBindingImpl.java
@@ -0,0 +1,340 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding;
+import org.eclipse.papyrus.alf.alf.TemplateBinding;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Qualified Name With Binding</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.QualifiedNameWithBindingImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.QualifiedNameWithBindingImpl#getBinding <em>Binding</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.QualifiedNameWithBindingImpl#getRemaining <em>Remaining</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class QualifiedNameWithBindingImpl extends MinimalEObjectImpl.Container implements QualifiedNameWithBinding
+{
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBinding() <em>Binding</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBinding()
+ * @generated
+ * @ordered
+ */
+ protected TemplateBinding binding;
+
+ /**
+ * The cached value of the '{@link #getRemaining() <em>Remaining</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRemaining()
+ * @generated
+ * @ordered
+ */
+ protected QualifiedNameWithBinding remaining;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected QualifiedNameWithBindingImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.QUALIFIED_NAME_WITH_BINDING;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId()
+ {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId)
+ {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.QUALIFIED_NAME_WITH_BINDING__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding getBinding()
+ {
+ return binding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBinding(TemplateBinding newBinding, NotificationChain msgs)
+ {
+ TemplateBinding oldBinding = binding;
+ binding = newBinding;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.QUALIFIED_NAME_WITH_BINDING__BINDING, oldBinding, newBinding);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBinding(TemplateBinding newBinding)
+ {
+ if (newBinding != binding)
+ {
+ NotificationChain msgs = null;
+ if (binding != null)
+ msgs = ((InternalEObject)binding).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.QUALIFIED_NAME_WITH_BINDING__BINDING, null, msgs);
+ if (newBinding != null)
+ msgs = ((InternalEObject)newBinding).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.QUALIFIED_NAME_WITH_BINDING__BINDING, null, msgs);
+ msgs = basicSetBinding(newBinding, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.QUALIFIED_NAME_WITH_BINDING__BINDING, newBinding, newBinding));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QualifiedNameWithBinding getRemaining()
+ {
+ return remaining;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRemaining(QualifiedNameWithBinding newRemaining, NotificationChain msgs)
+ {
+ QualifiedNameWithBinding oldRemaining = remaining;
+ remaining = newRemaining;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.QUALIFIED_NAME_WITH_BINDING__REMAINING, oldRemaining, newRemaining);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRemaining(QualifiedNameWithBinding newRemaining)
+ {
+ if (newRemaining != remaining)
+ {
+ NotificationChain msgs = null;
+ if (remaining != null)
+ msgs = ((InternalEObject)remaining).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.QUALIFIED_NAME_WITH_BINDING__REMAINING, null, msgs);
+ if (newRemaining != null)
+ msgs = ((InternalEObject)newRemaining).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.QUALIFIED_NAME_WITH_BINDING__REMAINING, null, msgs);
+ msgs = basicSetRemaining(newRemaining, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.QUALIFIED_NAME_WITH_BINDING__REMAINING, newRemaining, newRemaining));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.QUALIFIED_NAME_WITH_BINDING__BINDING:
+ return basicSetBinding(null, msgs);
+ case AlfPackage.QUALIFIED_NAME_WITH_BINDING__REMAINING:
+ return basicSetRemaining(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.QUALIFIED_NAME_WITH_BINDING__ID:
+ return getId();
+ case AlfPackage.QUALIFIED_NAME_WITH_BINDING__BINDING:
+ return getBinding();
+ case AlfPackage.QUALIFIED_NAME_WITH_BINDING__REMAINING:
+ return getRemaining();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.QUALIFIED_NAME_WITH_BINDING__ID:
+ setId((String)newValue);
+ return;
+ case AlfPackage.QUALIFIED_NAME_WITH_BINDING__BINDING:
+ setBinding((TemplateBinding)newValue);
+ return;
+ case AlfPackage.QUALIFIED_NAME_WITH_BINDING__REMAINING:
+ setRemaining((QualifiedNameWithBinding)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.QUALIFIED_NAME_WITH_BINDING__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case AlfPackage.QUALIFIED_NAME_WITH_BINDING__BINDING:
+ setBinding((TemplateBinding)null);
+ return;
+ case AlfPackage.QUALIFIED_NAME_WITH_BINDING__REMAINING:
+ setRemaining((QualifiedNameWithBinding)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.QUALIFIED_NAME_WITH_BINDING__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case AlfPackage.QUALIFIED_NAME_WITH_BINDING__BINDING:
+ return binding != null;
+ case AlfPackage.QUALIFIED_NAME_WITH_BINDING__REMAINING:
+ return remaining != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //QualifiedNameWithBindingImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ReclassifyAllClauseImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ReclassifyAllClauseImpl.java
new file mode 100644
index 00000000000..6602fea5fc4
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ReclassifyAllClauseImpl.java
@@ -0,0 +1,48 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.ReclassifyAllClause;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Reclassify All Clause</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ReclassifyAllClauseImpl extends MinimalEObjectImpl.Container implements ReclassifyAllClause
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReclassifyAllClauseImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.RECLASSIFY_ALL_CLAUSE;
+ }
+
+} //ReclassifyAllClauseImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/RelationalExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/RelationalExpressionImpl.java
new file mode 100644
index 00000000000..138aa4c49a6
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/RelationalExpressionImpl.java
@@ -0,0 +1,340 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.RelationalExpression;
+import org.eclipse.papyrus.alf.alf.ShiftExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Relational Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.RelationalExpressionImpl#getLeft <em>Left</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.RelationalExpressionImpl#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.RelationalExpressionImpl#getRight <em>Right</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RelationalExpressionImpl extends MinimalEObjectImpl.Container implements RelationalExpression
+{
+ /**
+ * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLeft()
+ * @generated
+ * @ordered
+ */
+ protected ShiftExpression left;
+
+ /**
+ * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected static final String OP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected String op = OP_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRight()
+ * @generated
+ * @ordered
+ */
+ protected ShiftExpression right;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RelationalExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.RELATIONAL_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ShiftExpression getLeft()
+ {
+ return left;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLeft(ShiftExpression newLeft, NotificationChain msgs)
+ {
+ ShiftExpression oldLeft = left;
+ left = newLeft;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.RELATIONAL_EXPRESSION__LEFT, oldLeft, newLeft);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLeft(ShiftExpression newLeft)
+ {
+ if (newLeft != left)
+ {
+ NotificationChain msgs = null;
+ if (left != null)
+ msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.RELATIONAL_EXPRESSION__LEFT, null, msgs);
+ if (newLeft != null)
+ msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.RELATIONAL_EXPRESSION__LEFT, null, msgs);
+ msgs = basicSetLeft(newLeft, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.RELATIONAL_EXPRESSION__LEFT, newLeft, newLeft));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(String newOp)
+ {
+ String oldOp = op;
+ op = newOp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.RELATIONAL_EXPRESSION__OP, oldOp, op));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ShiftExpression getRight()
+ {
+ return right;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRight(ShiftExpression newRight, NotificationChain msgs)
+ {
+ ShiftExpression oldRight = right;
+ right = newRight;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.RELATIONAL_EXPRESSION__RIGHT, oldRight, newRight);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRight(ShiftExpression newRight)
+ {
+ if (newRight != right)
+ {
+ NotificationChain msgs = null;
+ if (right != null)
+ msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.RELATIONAL_EXPRESSION__RIGHT, null, msgs);
+ if (newRight != null)
+ msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.RELATIONAL_EXPRESSION__RIGHT, null, msgs);
+ msgs = basicSetRight(newRight, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.RELATIONAL_EXPRESSION__RIGHT, newRight, newRight));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.RELATIONAL_EXPRESSION__LEFT:
+ return basicSetLeft(null, msgs);
+ case AlfPackage.RELATIONAL_EXPRESSION__RIGHT:
+ return basicSetRight(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.RELATIONAL_EXPRESSION__LEFT:
+ return getLeft();
+ case AlfPackage.RELATIONAL_EXPRESSION__OP:
+ return getOp();
+ case AlfPackage.RELATIONAL_EXPRESSION__RIGHT:
+ return getRight();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.RELATIONAL_EXPRESSION__LEFT:
+ setLeft((ShiftExpression)newValue);
+ return;
+ case AlfPackage.RELATIONAL_EXPRESSION__OP:
+ setOp((String)newValue);
+ return;
+ case AlfPackage.RELATIONAL_EXPRESSION__RIGHT:
+ setRight((ShiftExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.RELATIONAL_EXPRESSION__LEFT:
+ setLeft((ShiftExpression)null);
+ return;
+ case AlfPackage.RELATIONAL_EXPRESSION__OP:
+ setOp(OP_EDEFAULT);
+ return;
+ case AlfPackage.RELATIONAL_EXPRESSION__RIGHT:
+ setRight((ShiftExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.RELATIONAL_EXPRESSION__LEFT:
+ return left != null;
+ case AlfPackage.RELATIONAL_EXPRESSION__OP:
+ return OP_EDEFAULT == null ? op != null : !OP_EDEFAULT.equals(op);
+ case AlfPackage.RELATIONAL_EXPRESSION__RIGHT:
+ return right != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (op: ");
+ result.append(op);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RelationalExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ReturnStatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ReturnStatementImpl.java
new file mode 100644
index 00000000000..ac796e1d230
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ReturnStatementImpl.java
@@ -0,0 +1,197 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Expression;
+import org.eclipse.papyrus.alf.alf.ReturnStatement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Return Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ReturnStatementImpl#getExpression <em>Expression</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ReturnStatementImpl extends StatementImpl implements ReturnStatement
+{
+ /**
+ * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpression()
+ * @generated
+ * @ordered
+ */
+ protected Expression expression;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReturnStatementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.RETURN_STATEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getExpression()
+ {
+ return expression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExpression(Expression newExpression, NotificationChain msgs)
+ {
+ Expression oldExpression = expression;
+ expression = newExpression;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.RETURN_STATEMENT__EXPRESSION, oldExpression, newExpression);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpression(Expression newExpression)
+ {
+ if (newExpression != expression)
+ {
+ NotificationChain msgs = null;
+ if (expression != null)
+ msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.RETURN_STATEMENT__EXPRESSION, null, msgs);
+ if (newExpression != null)
+ msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.RETURN_STATEMENT__EXPRESSION, null, msgs);
+ msgs = basicSetExpression(newExpression, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.RETURN_STATEMENT__EXPRESSION, newExpression, newExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.RETURN_STATEMENT__EXPRESSION:
+ return basicSetExpression(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.RETURN_STATEMENT__EXPRESSION:
+ return getExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.RETURN_STATEMENT__EXPRESSION:
+ setExpression((Expression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.RETURN_STATEMENT__EXPRESSION:
+ setExpression((Expression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.RETURN_STATEMENT__EXPRESSION:
+ return expression != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ReturnStatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/STRING_LITERALImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/STRING_LITERALImpl.java
new file mode 100644
index 00000000000..a6c8f64628c
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/STRING_LITERALImpl.java
@@ -0,0 +1,180 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.STRING_LITERAL;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>STRING LITERAL</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.STRING_LITERALImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class STRING_LITERALImpl extends LITERALImpl implements STRING_LITERAL
+{
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected STRING_LITERALImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.STRING_LITERAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.STRING_LITERAL__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.STRING_LITERAL__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.STRING_LITERAL__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.STRING_LITERAL__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.STRING_LITERAL__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //STRING_LITERALImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SelectOrRejectOperationImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SelectOrRejectOperationImpl.java
new file mode 100644
index 00000000000..f994228e66f
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SelectOrRejectOperationImpl.java
@@ -0,0 +1,181 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.SelectOrRejectOperation;
+import org.eclipse.papyrus.alf.alf.SelectOrRejectOperator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Select Or Reject Operation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SelectOrRejectOperationImpl#getOp <em>Op</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SelectOrRejectOperationImpl extends SequenceExpansionExpressionImpl implements SelectOrRejectOperation
+{
+ /**
+ * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected static final SelectOrRejectOperator OP_EDEFAULT = SelectOrRejectOperator.SELECT;
+
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected SelectOrRejectOperator op = OP_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SelectOrRejectOperationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.SELECT_OR_REJECT_OPERATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SelectOrRejectOperator getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(SelectOrRejectOperator newOp)
+ {
+ SelectOrRejectOperator oldOp = op;
+ op = newOp == null ? OP_EDEFAULT : newOp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SELECT_OR_REJECT_OPERATION__OP, oldOp, op));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SELECT_OR_REJECT_OPERATION__OP:
+ return getOp();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SELECT_OR_REJECT_OPERATION__OP:
+ setOp((SelectOrRejectOperator)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SELECT_OR_REJECT_OPERATION__OP:
+ setOp(OP_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SELECT_OR_REJECT_OPERATION__OP:
+ return op != OP_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (op: ");
+ result.append(op);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SelectOrRejectOperationImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceConstructionExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceConstructionExpressionImpl.java
new file mode 100644
index 00000000000..80c794c2b38
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceConstructionExpressionImpl.java
@@ -0,0 +1,244 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Expression;
+import org.eclipse.papyrus.alf.alf.SequenceConstructionExpression;
+import org.eclipse.papyrus.alf.alf.SequenceElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequence Construction Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SequenceConstructionExpressionImpl#getSequenceElement <em>Sequence Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SequenceConstructionExpressionImpl#getRangeUpper <em>Range Upper</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SequenceConstructionExpressionImpl extends SequenceElementImpl implements SequenceConstructionExpression
+{
+ /**
+ * The cached value of the '{@link #getSequenceElement() <em>Sequence Element</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSequenceElement()
+ * @generated
+ * @ordered
+ */
+ protected EList<SequenceElement> sequenceElement;
+
+ /**
+ * The cached value of the '{@link #getRangeUpper() <em>Range Upper</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRangeUpper()
+ * @generated
+ * @ordered
+ */
+ protected Expression rangeUpper;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SequenceConstructionExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.SEQUENCE_CONSTRUCTION_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SequenceElement> getSequenceElement()
+ {
+ if (sequenceElement == null)
+ {
+ sequenceElement = new EObjectContainmentEList<SequenceElement>(SequenceElement.class, this, AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_ELEMENT);
+ }
+ return sequenceElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getRangeUpper()
+ {
+ return rangeUpper;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRangeUpper(Expression newRangeUpper, NotificationChain msgs)
+ {
+ Expression oldRangeUpper = rangeUpper;
+ rangeUpper = newRangeUpper;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION__RANGE_UPPER, oldRangeUpper, newRangeUpper);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRangeUpper(Expression newRangeUpper)
+ {
+ if (newRangeUpper != rangeUpper)
+ {
+ NotificationChain msgs = null;
+ if (rangeUpper != null)
+ msgs = ((InternalEObject)rangeUpper).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION__RANGE_UPPER, null, msgs);
+ if (newRangeUpper != null)
+ msgs = ((InternalEObject)newRangeUpper).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION__RANGE_UPPER, null, msgs);
+ msgs = basicSetRangeUpper(newRangeUpper, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION__RANGE_UPPER, newRangeUpper, newRangeUpper));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_ELEMENT:
+ return ((InternalEList<?>)getSequenceElement()).basicRemove(otherEnd, msgs);
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION__RANGE_UPPER:
+ return basicSetRangeUpper(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_ELEMENT:
+ return getSequenceElement();
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION__RANGE_UPPER:
+ return getRangeUpper();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_ELEMENT:
+ getSequenceElement().clear();
+ getSequenceElement().addAll((Collection<? extends SequenceElement>)newValue);
+ return;
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION__RANGE_UPPER:
+ setRangeUpper((Expression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_ELEMENT:
+ getSequenceElement().clear();
+ return;
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION__RANGE_UPPER:
+ setRangeUpper((Expression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION__SEQUENCE_ELEMENT:
+ return sequenceElement != null && !sequenceElement.isEmpty();
+ case AlfPackage.SEQUENCE_CONSTRUCTION_EXPRESSION__RANGE_UPPER:
+ return rangeUpper != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SequenceConstructionExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceConstructionOrAccessCompletionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceConstructionOrAccessCompletionImpl.java
new file mode 100644
index 00000000000..4a5d5e960cd
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceConstructionOrAccessCompletionImpl.java
@@ -0,0 +1,413 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AccessCompletion;
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.PartialSequenceConstructionCompletion;
+import org.eclipse.papyrus.alf.alf.SequenceConstructionExpression;
+import org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequence Construction Or Access Completion</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SequenceConstructionOrAccessCompletionImpl#isMultiplicityIndicator <em>Multiplicity Indicator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SequenceConstructionOrAccessCompletionImpl#getAccessCompletion <em>Access Completion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SequenceConstructionOrAccessCompletionImpl#getSequenceCompletion <em>Sequence Completion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SequenceConstructionOrAccessCompletionImpl#getExpression <em>Expression</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SequenceConstructionOrAccessCompletionImpl extends MinimalEObjectImpl.Container implements SequenceConstructionOrAccessCompletion
+{
+ /**
+ * The default value of the '{@link #isMultiplicityIndicator() <em>Multiplicity Indicator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isMultiplicityIndicator()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean MULTIPLICITY_INDICATOR_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isMultiplicityIndicator() <em>Multiplicity Indicator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isMultiplicityIndicator()
+ * @generated
+ * @ordered
+ */
+ protected boolean multiplicityIndicator = MULTIPLICITY_INDICATOR_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getAccessCompletion() <em>Access Completion</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccessCompletion()
+ * @generated
+ * @ordered
+ */
+ protected AccessCompletion accessCompletion;
+
+ /**
+ * The cached value of the '{@link #getSequenceCompletion() <em>Sequence Completion</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSequenceCompletion()
+ * @generated
+ * @ordered
+ */
+ protected PartialSequenceConstructionCompletion sequenceCompletion;
+
+ /**
+ * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpression()
+ * @generated
+ * @ordered
+ */
+ protected SequenceConstructionExpression expression;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SequenceConstructionOrAccessCompletionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isMultiplicityIndicator()
+ {
+ return multiplicityIndicator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMultiplicityIndicator(boolean newMultiplicityIndicator)
+ {
+ boolean oldMultiplicityIndicator = multiplicityIndicator;
+ multiplicityIndicator = newMultiplicityIndicator;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__MULTIPLICITY_INDICATOR, oldMultiplicityIndicator, multiplicityIndicator));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AccessCompletion getAccessCompletion()
+ {
+ return accessCompletion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetAccessCompletion(AccessCompletion newAccessCompletion, NotificationChain msgs)
+ {
+ AccessCompletion oldAccessCompletion = accessCompletion;
+ accessCompletion = newAccessCompletion;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__ACCESS_COMPLETION, oldAccessCompletion, newAccessCompletion);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAccessCompletion(AccessCompletion newAccessCompletion)
+ {
+ if (newAccessCompletion != accessCompletion)
+ {
+ NotificationChain msgs = null;
+ if (accessCompletion != null)
+ msgs = ((InternalEObject)accessCompletion).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__ACCESS_COMPLETION, null, msgs);
+ if (newAccessCompletion != null)
+ msgs = ((InternalEObject)newAccessCompletion).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__ACCESS_COMPLETION, null, msgs);
+ msgs = basicSetAccessCompletion(newAccessCompletion, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__ACCESS_COMPLETION, newAccessCompletion, newAccessCompletion));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PartialSequenceConstructionCompletion getSequenceCompletion()
+ {
+ return sequenceCompletion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSequenceCompletion(PartialSequenceConstructionCompletion newSequenceCompletion, NotificationChain msgs)
+ {
+ PartialSequenceConstructionCompletion oldSequenceCompletion = sequenceCompletion;
+ sequenceCompletion = newSequenceCompletion;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__SEQUENCE_COMPLETION, oldSequenceCompletion, newSequenceCompletion);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSequenceCompletion(PartialSequenceConstructionCompletion newSequenceCompletion)
+ {
+ if (newSequenceCompletion != sequenceCompletion)
+ {
+ NotificationChain msgs = null;
+ if (sequenceCompletion != null)
+ msgs = ((InternalEObject)sequenceCompletion).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__SEQUENCE_COMPLETION, null, msgs);
+ if (newSequenceCompletion != null)
+ msgs = ((InternalEObject)newSequenceCompletion).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__SEQUENCE_COMPLETION, null, msgs);
+ msgs = basicSetSequenceCompletion(newSequenceCompletion, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__SEQUENCE_COMPLETION, newSequenceCompletion, newSequenceCompletion));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceConstructionExpression getExpression()
+ {
+ return expression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExpression(SequenceConstructionExpression newExpression, NotificationChain msgs)
+ {
+ SequenceConstructionExpression oldExpression = expression;
+ expression = newExpression;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__EXPRESSION, oldExpression, newExpression);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpression(SequenceConstructionExpression newExpression)
+ {
+ if (newExpression != expression)
+ {
+ NotificationChain msgs = null;
+ if (expression != null)
+ msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__EXPRESSION, null, msgs);
+ if (newExpression != null)
+ msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__EXPRESSION, null, msgs);
+ msgs = basicSetExpression(newExpression, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__EXPRESSION, newExpression, newExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__ACCESS_COMPLETION:
+ return basicSetAccessCompletion(null, msgs);
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__SEQUENCE_COMPLETION:
+ return basicSetSequenceCompletion(null, msgs);
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__EXPRESSION:
+ return basicSetExpression(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__MULTIPLICITY_INDICATOR:
+ return isMultiplicityIndicator();
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__ACCESS_COMPLETION:
+ return getAccessCompletion();
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__SEQUENCE_COMPLETION:
+ return getSequenceCompletion();
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__EXPRESSION:
+ return getExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__MULTIPLICITY_INDICATOR:
+ setMultiplicityIndicator((Boolean)newValue);
+ return;
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__ACCESS_COMPLETION:
+ setAccessCompletion((AccessCompletion)newValue);
+ return;
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__SEQUENCE_COMPLETION:
+ setSequenceCompletion((PartialSequenceConstructionCompletion)newValue);
+ return;
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__EXPRESSION:
+ setExpression((SequenceConstructionExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__MULTIPLICITY_INDICATOR:
+ setMultiplicityIndicator(MULTIPLICITY_INDICATOR_EDEFAULT);
+ return;
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__ACCESS_COMPLETION:
+ setAccessCompletion((AccessCompletion)null);
+ return;
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__SEQUENCE_COMPLETION:
+ setSequenceCompletion((PartialSequenceConstructionCompletion)null);
+ return;
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__EXPRESSION:
+ setExpression((SequenceConstructionExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__MULTIPLICITY_INDICATOR:
+ return multiplicityIndicator != MULTIPLICITY_INDICATOR_EDEFAULT;
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__ACCESS_COMPLETION:
+ return accessCompletion != null;
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__SEQUENCE_COMPLETION:
+ return sequenceCompletion != null;
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION__EXPRESSION:
+ return expression != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (multiplicityIndicator: ");
+ result.append(multiplicityIndicator);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SequenceConstructionOrAccessCompletionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceElementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceElementImpl.java
new file mode 100644
index 00000000000..26bdd84a741
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceElementImpl.java
@@ -0,0 +1,48 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.SequenceElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequence Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class SequenceElementImpl extends MinimalEObjectImpl.Container implements SequenceElement
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SequenceElementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.SEQUENCE_ELEMENT;
+ }
+
+} //SequenceElementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceExpansionExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceExpansionExpressionImpl.java
new file mode 100644
index 00000000000..1f01ed4d738
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceExpansionExpressionImpl.java
@@ -0,0 +1,340 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Expression;
+import org.eclipse.papyrus.alf.alf.SequenceExpansionExpression;
+import org.eclipse.papyrus.alf.alf.SuffixExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequence Expansion Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SequenceExpansionExpressionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SequenceExpansionExpressionImpl#getExpr <em>Expr</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SequenceExpansionExpressionImpl#getSuffix <em>Suffix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SequenceExpansionExpressionImpl extends SuffixExpressionImpl implements SequenceExpansionExpression
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getExpr() <em>Expr</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpr()
+ * @generated
+ * @ordered
+ */
+ protected Expression expr;
+
+ /**
+ * The cached value of the '{@link #getSuffix() <em>Suffix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuffix()
+ * @generated
+ * @ordered
+ */
+ protected SuffixExpression suffix;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SequenceExpansionExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.SEQUENCE_EXPANSION_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getExpr()
+ {
+ return expr;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExpr(Expression newExpr, NotificationChain msgs)
+ {
+ Expression oldExpr = expr;
+ expr = newExpr;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__EXPR, oldExpr, newExpr);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpr(Expression newExpr)
+ {
+ if (newExpr != expr)
+ {
+ NotificationChain msgs = null;
+ if (expr != null)
+ msgs = ((InternalEObject)expr).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__EXPR, null, msgs);
+ if (newExpr != null)
+ msgs = ((InternalEObject)newExpr).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__EXPR, null, msgs);
+ msgs = basicSetExpr(newExpr, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__EXPR, newExpr, newExpr));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SuffixExpression getSuffix()
+ {
+ return suffix;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSuffix(SuffixExpression newSuffix, NotificationChain msgs)
+ {
+ SuffixExpression oldSuffix = suffix;
+ suffix = newSuffix;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__SUFFIX, oldSuffix, newSuffix);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSuffix(SuffixExpression newSuffix)
+ {
+ if (newSuffix != suffix)
+ {
+ NotificationChain msgs = null;
+ if (suffix != null)
+ msgs = ((InternalEObject)suffix).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__SUFFIX, null, msgs);
+ if (newSuffix != null)
+ msgs = ((InternalEObject)newSuffix).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__SUFFIX, null, msgs);
+ msgs = basicSetSuffix(newSuffix, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__SUFFIX, newSuffix, newSuffix));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__EXPR:
+ return basicSetExpr(null, msgs);
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__SUFFIX:
+ return basicSetSuffix(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__NAME:
+ return getName();
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__EXPR:
+ return getExpr();
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__SUFFIX:
+ return getSuffix();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__NAME:
+ setName((String)newValue);
+ return;
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__EXPR:
+ setExpr((Expression)newValue);
+ return;
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__SUFFIX:
+ setSuffix((SuffixExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__EXPR:
+ setExpr((Expression)null);
+ return;
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__SUFFIX:
+ setSuffix((SuffixExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__EXPR:
+ return expr != null;
+ case AlfPackage.SEQUENCE_EXPANSION_EXPRESSION__SUFFIX:
+ return suffix != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SequenceExpansionExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceOperationExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceOperationExpressionImpl.java
new file mode 100644
index 00000000000..61d9b39da69
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceOperationExpressionImpl.java
@@ -0,0 +1,341 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding;
+import org.eclipse.papyrus.alf.alf.SequenceOperationExpression;
+import org.eclipse.papyrus.alf.alf.SuffixExpression;
+import org.eclipse.papyrus.alf.alf.Tuple;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequence Operation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SequenceOperationExpressionImpl#getOperationName <em>Operation Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SequenceOperationExpressionImpl#getTuple <em>Tuple</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SequenceOperationExpressionImpl#getSuffix <em>Suffix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SequenceOperationExpressionImpl extends SuffixExpressionImpl implements SequenceOperationExpression
+{
+ /**
+ * The cached value of the '{@link #getOperationName() <em>Operation Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperationName()
+ * @generated
+ * @ordered
+ */
+ protected QualifiedNameWithBinding operationName;
+
+ /**
+ * The cached value of the '{@link #getTuple() <em>Tuple</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTuple()
+ * @generated
+ * @ordered
+ */
+ protected Tuple tuple;
+
+ /**
+ * The cached value of the '{@link #getSuffix() <em>Suffix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuffix()
+ * @generated
+ * @ordered
+ */
+ protected SuffixExpression suffix;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SequenceOperationExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.SEQUENCE_OPERATION_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QualifiedNameWithBinding getOperationName()
+ {
+ return operationName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOperationName(QualifiedNameWithBinding newOperationName, NotificationChain msgs)
+ {
+ QualifiedNameWithBinding oldOperationName = operationName;
+ operationName = newOperationName;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_OPERATION_EXPRESSION__OPERATION_NAME, oldOperationName, newOperationName);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOperationName(QualifiedNameWithBinding newOperationName)
+ {
+ if (newOperationName != operationName)
+ {
+ NotificationChain msgs = null;
+ if (operationName != null)
+ msgs = ((InternalEObject)operationName).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_OPERATION_EXPRESSION__OPERATION_NAME, null, msgs);
+ if (newOperationName != null)
+ msgs = ((InternalEObject)newOperationName).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_OPERATION_EXPRESSION__OPERATION_NAME, null, msgs);
+ msgs = basicSetOperationName(newOperationName, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_OPERATION_EXPRESSION__OPERATION_NAME, newOperationName, newOperationName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Tuple getTuple()
+ {
+ return tuple;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTuple(Tuple newTuple, NotificationChain msgs)
+ {
+ Tuple oldTuple = tuple;
+ tuple = newTuple;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_OPERATION_EXPRESSION__TUPLE, oldTuple, newTuple);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTuple(Tuple newTuple)
+ {
+ if (newTuple != tuple)
+ {
+ NotificationChain msgs = null;
+ if (tuple != null)
+ msgs = ((InternalEObject)tuple).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_OPERATION_EXPRESSION__TUPLE, null, msgs);
+ if (newTuple != null)
+ msgs = ((InternalEObject)newTuple).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_OPERATION_EXPRESSION__TUPLE, null, msgs);
+ msgs = basicSetTuple(newTuple, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_OPERATION_EXPRESSION__TUPLE, newTuple, newTuple));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SuffixExpression getSuffix()
+ {
+ return suffix;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSuffix(SuffixExpression newSuffix, NotificationChain msgs)
+ {
+ SuffixExpression oldSuffix = suffix;
+ suffix = newSuffix;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_OPERATION_EXPRESSION__SUFFIX, oldSuffix, newSuffix);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSuffix(SuffixExpression newSuffix)
+ {
+ if (newSuffix != suffix)
+ {
+ NotificationChain msgs = null;
+ if (suffix != null)
+ msgs = ((InternalEObject)suffix).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_OPERATION_EXPRESSION__SUFFIX, null, msgs);
+ if (newSuffix != null)
+ msgs = ((InternalEObject)newSuffix).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_OPERATION_EXPRESSION__SUFFIX, null, msgs);
+ msgs = basicSetSuffix(newSuffix, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_OPERATION_EXPRESSION__SUFFIX, newSuffix, newSuffix));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION__OPERATION_NAME:
+ return basicSetOperationName(null, msgs);
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION__TUPLE:
+ return basicSetTuple(null, msgs);
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION__SUFFIX:
+ return basicSetSuffix(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION__OPERATION_NAME:
+ return getOperationName();
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION__TUPLE:
+ return getTuple();
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION__SUFFIX:
+ return getSuffix();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION__OPERATION_NAME:
+ setOperationName((QualifiedNameWithBinding)newValue);
+ return;
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION__TUPLE:
+ setTuple((Tuple)newValue);
+ return;
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION__SUFFIX:
+ setSuffix((SuffixExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION__OPERATION_NAME:
+ setOperationName((QualifiedNameWithBinding)null);
+ return;
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION__TUPLE:
+ setTuple((Tuple)null);
+ return;
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION__SUFFIX:
+ setSuffix((SuffixExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION__OPERATION_NAME:
+ return operationName != null;
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION__TUPLE:
+ return tuple != null;
+ case AlfPackage.SEQUENCE_OPERATION_EXPRESSION__SUFFIX:
+ return suffix != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SequenceOperationExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceReductionExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceReductionExpressionImpl.java
new file mode 100644
index 00000000000..8f82c573229
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequenceReductionExpressionImpl.java
@@ -0,0 +1,340 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding;
+import org.eclipse.papyrus.alf.alf.SequenceReductionExpression;
+import org.eclipse.papyrus.alf.alf.SuffixExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequence Reduction Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SequenceReductionExpressionImpl#isIsOrdered <em>Is Ordered</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SequenceReductionExpressionImpl#getBehavior <em>Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SequenceReductionExpressionImpl#getSuffix <em>Suffix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SequenceReductionExpressionImpl extends SuffixExpressionImpl implements SequenceReductionExpression
+{
+ /**
+ * The default value of the '{@link #isIsOrdered() <em>Is Ordered</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsOrdered()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ORDERED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsOrdered() <em>Is Ordered</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsOrdered()
+ * @generated
+ * @ordered
+ */
+ protected boolean isOrdered = IS_ORDERED_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBehavior() <em>Behavior</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBehavior()
+ * @generated
+ * @ordered
+ */
+ protected QualifiedNameWithBinding behavior;
+
+ /**
+ * The cached value of the '{@link #getSuffix() <em>Suffix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuffix()
+ * @generated
+ * @ordered
+ */
+ protected SuffixExpression suffix;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SequenceReductionExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.SEQUENCE_REDUCTION_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsOrdered()
+ {
+ return isOrdered;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsOrdered(boolean newIsOrdered)
+ {
+ boolean oldIsOrdered = isOrdered;
+ isOrdered = newIsOrdered;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__IS_ORDERED, oldIsOrdered, isOrdered));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QualifiedNameWithBinding getBehavior()
+ {
+ return behavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBehavior(QualifiedNameWithBinding newBehavior, NotificationChain msgs)
+ {
+ QualifiedNameWithBinding oldBehavior = behavior;
+ behavior = newBehavior;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__BEHAVIOR, oldBehavior, newBehavior);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBehavior(QualifiedNameWithBinding newBehavior)
+ {
+ if (newBehavior != behavior)
+ {
+ NotificationChain msgs = null;
+ if (behavior != null)
+ msgs = ((InternalEObject)behavior).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__BEHAVIOR, null, msgs);
+ if (newBehavior != null)
+ msgs = ((InternalEObject)newBehavior).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__BEHAVIOR, null, msgs);
+ msgs = basicSetBehavior(newBehavior, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__BEHAVIOR, newBehavior, newBehavior));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SuffixExpression getSuffix()
+ {
+ return suffix;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSuffix(SuffixExpression newSuffix, NotificationChain msgs)
+ {
+ SuffixExpression oldSuffix = suffix;
+ suffix = newSuffix;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__SUFFIX, oldSuffix, newSuffix);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSuffix(SuffixExpression newSuffix)
+ {
+ if (newSuffix != suffix)
+ {
+ NotificationChain msgs = null;
+ if (suffix != null)
+ msgs = ((InternalEObject)suffix).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__SUFFIX, null, msgs);
+ if (newSuffix != null)
+ msgs = ((InternalEObject)newSuffix).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__SUFFIX, null, msgs);
+ msgs = basicSetSuffix(newSuffix, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__SUFFIX, newSuffix, newSuffix));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__BEHAVIOR:
+ return basicSetBehavior(null, msgs);
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__SUFFIX:
+ return basicSetSuffix(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__IS_ORDERED:
+ return isIsOrdered();
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__BEHAVIOR:
+ return getBehavior();
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__SUFFIX:
+ return getSuffix();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__IS_ORDERED:
+ setIsOrdered((Boolean)newValue);
+ return;
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__BEHAVIOR:
+ setBehavior((QualifiedNameWithBinding)newValue);
+ return;
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__SUFFIX:
+ setSuffix((SuffixExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__IS_ORDERED:
+ setIsOrdered(IS_ORDERED_EDEFAULT);
+ return;
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__BEHAVIOR:
+ setBehavior((QualifiedNameWithBinding)null);
+ return;
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__SUFFIX:
+ setSuffix((SuffixExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__IS_ORDERED:
+ return isOrdered != IS_ORDERED_EDEFAULT;
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__BEHAVIOR:
+ return behavior != null;
+ case AlfPackage.SEQUENCE_REDUCTION_EXPRESSION__SUFFIX:
+ return suffix != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isOrdered: ");
+ result.append(isOrdered);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SequenceReductionExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequentialClausesImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequentialClausesImpl.java
new file mode 100644
index 00000000000..7f0ceb7512f
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SequentialClausesImpl.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.ConcurrentClauses;
+import org.eclipse.papyrus.alf.alf.SequentialClauses;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequential Clauses</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SequentialClausesImpl#getConccurentClauses <em>Conccurent Clauses</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SequentialClausesImpl extends MinimalEObjectImpl.Container implements SequentialClauses
+{
+ /**
+ * The cached value of the '{@link #getConccurentClauses() <em>Conccurent Clauses</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConccurentClauses()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConcurrentClauses> conccurentClauses;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SequentialClausesImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.SEQUENTIAL_CLAUSES;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConcurrentClauses> getConccurentClauses()
+ {
+ if (conccurentClauses == null)
+ {
+ conccurentClauses = new EObjectContainmentEList<ConcurrentClauses>(ConcurrentClauses.class, this, AlfPackage.SEQUENTIAL_CLAUSES__CONCCURENT_CLAUSES);
+ }
+ return conccurentClauses;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENTIAL_CLAUSES__CONCCURENT_CLAUSES:
+ return ((InternalEList<?>)getConccurentClauses()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENTIAL_CLAUSES__CONCCURENT_CLAUSES:
+ return getConccurentClauses();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENTIAL_CLAUSES__CONCCURENT_CLAUSES:
+ getConccurentClauses().clear();
+ getConccurentClauses().addAll((Collection<? extends ConcurrentClauses>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENTIAL_CLAUSES__CONCCURENT_CLAUSES:
+ getConccurentClauses().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SEQUENTIAL_CLAUSES__CONCCURENT_CLAUSES:
+ return conccurentClauses != null && !conccurentClauses.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SequentialClausesImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ShiftExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ShiftExpressionImpl.java
new file mode 100644
index 00000000000..84cfd78b6ae
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ShiftExpressionImpl.java
@@ -0,0 +1,244 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AdditiveExpression;
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.ShiftExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Shift Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ShiftExpressionImpl#getExp <em>Exp</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ShiftExpressionImpl#getOp <em>Op</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ShiftExpressionImpl extends MinimalEObjectImpl.Container implements ShiftExpression
+{
+ /**
+ * The cached value of the '{@link #getExp() <em>Exp</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExp()
+ * @generated
+ * @ordered
+ */
+ protected EList<AdditiveExpression> exp;
+
+ /**
+ * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected static final String OP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected String op = OP_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ShiftExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.SHIFT_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AdditiveExpression> getExp()
+ {
+ if (exp == null)
+ {
+ exp = new EObjectContainmentEList<AdditiveExpression>(AdditiveExpression.class, this, AlfPackage.SHIFT_EXPRESSION__EXP);
+ }
+ return exp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(String newOp)
+ {
+ String oldOp = op;
+ op = newOp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SHIFT_EXPRESSION__OP, oldOp, op));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SHIFT_EXPRESSION__EXP:
+ return ((InternalEList<?>)getExp()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SHIFT_EXPRESSION__EXP:
+ return getExp();
+ case AlfPackage.SHIFT_EXPRESSION__OP:
+ return getOp();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SHIFT_EXPRESSION__EXP:
+ getExp().clear();
+ getExp().addAll((Collection<? extends AdditiveExpression>)newValue);
+ return;
+ case AlfPackage.SHIFT_EXPRESSION__OP:
+ setOp((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SHIFT_EXPRESSION__EXP:
+ getExp().clear();
+ return;
+ case AlfPackage.SHIFT_EXPRESSION__OP:
+ setOp(OP_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SHIFT_EXPRESSION__EXP:
+ return exp != null && !exp.isEmpty();
+ case AlfPackage.SHIFT_EXPRESSION__OP:
+ return OP_EDEFAULT == null ? op != null : !OP_EDEFAULT.equals(op);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (op: ");
+ result.append(op);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ShiftExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SimpleAcceptStatementCompletionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SimpleAcceptStatementCompletionImpl.java
new file mode 100644
index 00000000000..8d2998c40c2
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SimpleAcceptStatementCompletionImpl.java
@@ -0,0 +1,48 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.SimpleAcceptStatementCompletion;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Simple Accept Statement Completion</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class SimpleAcceptStatementCompletionImpl extends MinimalEObjectImpl.Container implements SimpleAcceptStatementCompletion
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SimpleAcceptStatementCompletionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.SIMPLE_ACCEPT_STATEMENT_COMPLETION;
+ }
+
+} //SimpleAcceptStatementCompletionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/StatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/StatementImpl.java
new file mode 100644
index 00000000000..5de2769f7ef
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/StatementImpl.java
@@ -0,0 +1,48 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Statement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class StatementImpl extends MinimalEObjectImpl.Container implements Statement
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StatementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.STATEMENT;
+ }
+
+} //StatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/StatementSequenceImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/StatementSequenceImpl.java
new file mode 100644
index 00000000000..bc4af20b1d3
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/StatementSequenceImpl.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.DocumentedStatement;
+import org.eclipse.papyrus.alf.alf.StatementSequence;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Statement Sequence</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.StatementSequenceImpl#getStatements <em>Statements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StatementSequenceImpl extends MinimalEObjectImpl.Container implements StatementSequence
+{
+ /**
+ * The cached value of the '{@link #getStatements() <em>Statements</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatements()
+ * @generated
+ * @ordered
+ */
+ protected EList<DocumentedStatement> statements;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StatementSequenceImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.STATEMENT_SEQUENCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DocumentedStatement> getStatements()
+ {
+ if (statements == null)
+ {
+ statements = new EObjectContainmentEList<DocumentedStatement>(DocumentedStatement.class, this, AlfPackage.STATEMENT_SEQUENCE__STATEMENTS);
+ }
+ return statements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.STATEMENT_SEQUENCE__STATEMENTS:
+ return ((InternalEList<?>)getStatements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.STATEMENT_SEQUENCE__STATEMENTS:
+ return getStatements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.STATEMENT_SEQUENCE__STATEMENTS:
+ getStatements().clear();
+ getStatements().addAll((Collection<? extends DocumentedStatement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.STATEMENT_SEQUENCE__STATEMENTS:
+ getStatements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.STATEMENT_SEQUENCE__STATEMENTS:
+ return statements != null && !statements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //StatementSequenceImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SuffixExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SuffixExpressionImpl.java
new file mode 100644
index 00000000000..e2321a940d0
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SuffixExpressionImpl.java
@@ -0,0 +1,48 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.SuffixExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Suffix Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class SuffixExpressionImpl extends MinimalEObjectImpl.Container implements SuffixExpression
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SuffixExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.SUFFIX_EXPRESSION;
+ }
+
+} //SuffixExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SuperInvocationExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SuperInvocationExpressionImpl.java
new file mode 100644
index 00000000000..00fc722e785
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SuperInvocationExpressionImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding;
+import org.eclipse.papyrus.alf.alf.SuperInvocationExpression;
+import org.eclipse.papyrus.alf.alf.Tuple;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Super Invocation Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SuperInvocationExpressionImpl#getTuple <em>Tuple</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SuperInvocationExpressionImpl#getOperationName <em>Operation Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SuperInvocationExpressionImpl extends ValueSpecificationImpl implements SuperInvocationExpression
+{
+ /**
+ * The cached value of the '{@link #getTuple() <em>Tuple</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTuple()
+ * @generated
+ * @ordered
+ */
+ protected Tuple tuple;
+
+ /**
+ * The cached value of the '{@link #getOperationName() <em>Operation Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperationName()
+ * @generated
+ * @ordered
+ */
+ protected QualifiedNameWithBinding operationName;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SuperInvocationExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.SUPER_INVOCATION_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Tuple getTuple()
+ {
+ return tuple;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTuple(Tuple newTuple, NotificationChain msgs)
+ {
+ Tuple oldTuple = tuple;
+ tuple = newTuple;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.SUPER_INVOCATION_EXPRESSION__TUPLE, oldTuple, newTuple);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTuple(Tuple newTuple)
+ {
+ if (newTuple != tuple)
+ {
+ NotificationChain msgs = null;
+ if (tuple != null)
+ msgs = ((InternalEObject)tuple).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SUPER_INVOCATION_EXPRESSION__TUPLE, null, msgs);
+ if (newTuple != null)
+ msgs = ((InternalEObject)newTuple).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SUPER_INVOCATION_EXPRESSION__TUPLE, null, msgs);
+ msgs = basicSetTuple(newTuple, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SUPER_INVOCATION_EXPRESSION__TUPLE, newTuple, newTuple));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QualifiedNameWithBinding getOperationName()
+ {
+ return operationName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOperationName(QualifiedNameWithBinding newOperationName, NotificationChain msgs)
+ {
+ QualifiedNameWithBinding oldOperationName = operationName;
+ operationName = newOperationName;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.SUPER_INVOCATION_EXPRESSION__OPERATION_NAME, oldOperationName, newOperationName);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOperationName(QualifiedNameWithBinding newOperationName)
+ {
+ if (newOperationName != operationName)
+ {
+ NotificationChain msgs = null;
+ if (operationName != null)
+ msgs = ((InternalEObject)operationName).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SUPER_INVOCATION_EXPRESSION__OPERATION_NAME, null, msgs);
+ if (newOperationName != null)
+ msgs = ((InternalEObject)newOperationName).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SUPER_INVOCATION_EXPRESSION__OPERATION_NAME, null, msgs);
+ msgs = basicSetOperationName(newOperationName, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SUPER_INVOCATION_EXPRESSION__OPERATION_NAME, newOperationName, newOperationName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION__TUPLE:
+ return basicSetTuple(null, msgs);
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION__OPERATION_NAME:
+ return basicSetOperationName(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION__TUPLE:
+ return getTuple();
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION__OPERATION_NAME:
+ return getOperationName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION__TUPLE:
+ setTuple((Tuple)newValue);
+ return;
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION__OPERATION_NAME:
+ setOperationName((QualifiedNameWithBinding)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION__TUPLE:
+ setTuple((Tuple)null);
+ return;
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION__OPERATION_NAME:
+ setOperationName((QualifiedNameWithBinding)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION__TUPLE:
+ return tuple != null;
+ case AlfPackage.SUPER_INVOCATION_EXPRESSION__OPERATION_NAME:
+ return operationName != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SuperInvocationExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SuperInvocationStatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SuperInvocationStatementImpl.java
new file mode 100644
index 00000000000..f348b68817f
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SuperInvocationStatementImpl.java
@@ -0,0 +1,197 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.SuperInvocationExpression;
+import org.eclipse.papyrus.alf.alf.SuperInvocationStatement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Super Invocation Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SuperInvocationStatementImpl#get_super <em>super</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SuperInvocationStatementImpl extends StatementImpl implements SuperInvocationStatement
+{
+ /**
+ * The cached value of the '{@link #get_super() <em>super</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #get_super()
+ * @generated
+ * @ordered
+ */
+ protected SuperInvocationExpression _super;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SuperInvocationStatementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.SUPER_INVOCATION_STATEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SuperInvocationExpression get_super()
+ {
+ return _super;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSet_super(SuperInvocationExpression new_super, NotificationChain msgs)
+ {
+ SuperInvocationExpression old_super = _super;
+ _super = new_super;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.SUPER_INVOCATION_STATEMENT__SUPER, old_super, new_super);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void set_super(SuperInvocationExpression new_super)
+ {
+ if (new_super != _super)
+ {
+ NotificationChain msgs = null;
+ if (_super != null)
+ msgs = ((InternalEObject)_super).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SUPER_INVOCATION_STATEMENT__SUPER, null, msgs);
+ if (new_super != null)
+ msgs = ((InternalEObject)new_super).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SUPER_INVOCATION_STATEMENT__SUPER, null, msgs);
+ msgs = basicSet_super(new_super, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SUPER_INVOCATION_STATEMENT__SUPER, new_super, new_super));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SUPER_INVOCATION_STATEMENT__SUPER:
+ return basicSet_super(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SUPER_INVOCATION_STATEMENT__SUPER:
+ return get_super();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SUPER_INVOCATION_STATEMENT__SUPER:
+ set_super((SuperInvocationExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SUPER_INVOCATION_STATEMENT__SUPER:
+ set_super((SuperInvocationExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SUPER_INVOCATION_STATEMENT__SUPER:
+ return _super != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SuperInvocationStatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SwitchCaseImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SwitchCaseImpl.java
new file mode 100644
index 00000000000..02c7b8b0b5c
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SwitchCaseImpl.java
@@ -0,0 +1,198 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Expression;
+import org.eclipse.papyrus.alf.alf.SwitchCase;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Switch Case</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SwitchCaseImpl#getExpression <em>Expression</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SwitchCaseImpl extends MinimalEObjectImpl.Container implements SwitchCase
+{
+ /**
+ * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpression()
+ * @generated
+ * @ordered
+ */
+ protected Expression expression;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SwitchCaseImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.SWITCH_CASE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getExpression()
+ {
+ return expression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExpression(Expression newExpression, NotificationChain msgs)
+ {
+ Expression oldExpression = expression;
+ expression = newExpression;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.SWITCH_CASE__EXPRESSION, oldExpression, newExpression);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpression(Expression newExpression)
+ {
+ if (newExpression != expression)
+ {
+ NotificationChain msgs = null;
+ if (expression != null)
+ msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SWITCH_CASE__EXPRESSION, null, msgs);
+ if (newExpression != null)
+ msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SWITCH_CASE__EXPRESSION, null, msgs);
+ msgs = basicSetExpression(newExpression, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SWITCH_CASE__EXPRESSION, newExpression, newExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_CASE__EXPRESSION:
+ return basicSetExpression(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_CASE__EXPRESSION:
+ return getExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_CASE__EXPRESSION:
+ setExpression((Expression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_CASE__EXPRESSION:
+ setExpression((Expression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_CASE__EXPRESSION:
+ return expression != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SwitchCaseImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SwitchClauseImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SwitchClauseImpl.java
new file mode 100644
index 00000000000..e57c475dee4
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SwitchClauseImpl.java
@@ -0,0 +1,245 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.NonEmptyStatementSequence;
+import org.eclipse.papyrus.alf.alf.SwitchCase;
+import org.eclipse.papyrus.alf.alf.SwitchClause;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Switch Clause</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SwitchClauseImpl#getSwitchCase <em>Switch Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SwitchClauseImpl#getStatementSequence <em>Statement Sequence</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SwitchClauseImpl extends MinimalEObjectImpl.Container implements SwitchClause
+{
+ /**
+ * The cached value of the '{@link #getSwitchCase() <em>Switch Case</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSwitchCase()
+ * @generated
+ * @ordered
+ */
+ protected EList<SwitchCase> switchCase;
+
+ /**
+ * The cached value of the '{@link #getStatementSequence() <em>Statement Sequence</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatementSequence()
+ * @generated
+ * @ordered
+ */
+ protected NonEmptyStatementSequence statementSequence;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SwitchClauseImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.SWITCH_CLAUSE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SwitchCase> getSwitchCase()
+ {
+ if (switchCase == null)
+ {
+ switchCase = new EObjectContainmentEList<SwitchCase>(SwitchCase.class, this, AlfPackage.SWITCH_CLAUSE__SWITCH_CASE);
+ }
+ return switchCase;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NonEmptyStatementSequence getStatementSequence()
+ {
+ return statementSequence;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetStatementSequence(NonEmptyStatementSequence newStatementSequence, NotificationChain msgs)
+ {
+ NonEmptyStatementSequence oldStatementSequence = statementSequence;
+ statementSequence = newStatementSequence;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.SWITCH_CLAUSE__STATEMENT_SEQUENCE, oldStatementSequence, newStatementSequence);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatementSequence(NonEmptyStatementSequence newStatementSequence)
+ {
+ if (newStatementSequence != statementSequence)
+ {
+ NotificationChain msgs = null;
+ if (statementSequence != null)
+ msgs = ((InternalEObject)statementSequence).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SWITCH_CLAUSE__STATEMENT_SEQUENCE, null, msgs);
+ if (newStatementSequence != null)
+ msgs = ((InternalEObject)newStatementSequence).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SWITCH_CLAUSE__STATEMENT_SEQUENCE, null, msgs);
+ msgs = basicSetStatementSequence(newStatementSequence, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SWITCH_CLAUSE__STATEMENT_SEQUENCE, newStatementSequence, newStatementSequence));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_CLAUSE__SWITCH_CASE:
+ return ((InternalEList<?>)getSwitchCase()).basicRemove(otherEnd, msgs);
+ case AlfPackage.SWITCH_CLAUSE__STATEMENT_SEQUENCE:
+ return basicSetStatementSequence(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_CLAUSE__SWITCH_CASE:
+ return getSwitchCase();
+ case AlfPackage.SWITCH_CLAUSE__STATEMENT_SEQUENCE:
+ return getStatementSequence();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_CLAUSE__SWITCH_CASE:
+ getSwitchCase().clear();
+ getSwitchCase().addAll((Collection<? extends SwitchCase>)newValue);
+ return;
+ case AlfPackage.SWITCH_CLAUSE__STATEMENT_SEQUENCE:
+ setStatementSequence((NonEmptyStatementSequence)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_CLAUSE__SWITCH_CASE:
+ getSwitchCase().clear();
+ return;
+ case AlfPackage.SWITCH_CLAUSE__STATEMENT_SEQUENCE:
+ setStatementSequence((NonEmptyStatementSequence)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_CLAUSE__SWITCH_CASE:
+ return switchCase != null && !switchCase.isEmpty();
+ case AlfPackage.SWITCH_CLAUSE__STATEMENT_SEQUENCE:
+ return statementSequence != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SwitchClauseImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SwitchDefaultClauseImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SwitchDefaultClauseImpl.java
new file mode 100644
index 00000000000..3e46fd18e62
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SwitchDefaultClauseImpl.java
@@ -0,0 +1,198 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.NonEmptyStatementSequence;
+import org.eclipse.papyrus.alf.alf.SwitchDefaultClause;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Switch Default Clause</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SwitchDefaultClauseImpl#getStatementSequence <em>Statement Sequence</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SwitchDefaultClauseImpl extends MinimalEObjectImpl.Container implements SwitchDefaultClause
+{
+ /**
+ * The cached value of the '{@link #getStatementSequence() <em>Statement Sequence</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatementSequence()
+ * @generated
+ * @ordered
+ */
+ protected NonEmptyStatementSequence statementSequence;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SwitchDefaultClauseImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.SWITCH_DEFAULT_CLAUSE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NonEmptyStatementSequence getStatementSequence()
+ {
+ return statementSequence;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetStatementSequence(NonEmptyStatementSequence newStatementSequence, NotificationChain msgs)
+ {
+ NonEmptyStatementSequence oldStatementSequence = statementSequence;
+ statementSequence = newStatementSequence;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.SWITCH_DEFAULT_CLAUSE__STATEMENT_SEQUENCE, oldStatementSequence, newStatementSequence);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatementSequence(NonEmptyStatementSequence newStatementSequence)
+ {
+ if (newStatementSequence != statementSequence)
+ {
+ NotificationChain msgs = null;
+ if (statementSequence != null)
+ msgs = ((InternalEObject)statementSequence).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SWITCH_DEFAULT_CLAUSE__STATEMENT_SEQUENCE, null, msgs);
+ if (newStatementSequence != null)
+ msgs = ((InternalEObject)newStatementSequence).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SWITCH_DEFAULT_CLAUSE__STATEMENT_SEQUENCE, null, msgs);
+ msgs = basicSetStatementSequence(newStatementSequence, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SWITCH_DEFAULT_CLAUSE__STATEMENT_SEQUENCE, newStatementSequence, newStatementSequence));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_DEFAULT_CLAUSE__STATEMENT_SEQUENCE:
+ return basicSetStatementSequence(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_DEFAULT_CLAUSE__STATEMENT_SEQUENCE:
+ return getStatementSequence();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_DEFAULT_CLAUSE__STATEMENT_SEQUENCE:
+ setStatementSequence((NonEmptyStatementSequence)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_DEFAULT_CLAUSE__STATEMENT_SEQUENCE:
+ setStatementSequence((NonEmptyStatementSequence)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_DEFAULT_CLAUSE__STATEMENT_SEQUENCE:
+ return statementSequence != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SwitchDefaultClauseImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SwitchStatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SwitchStatementImpl.java
new file mode 100644
index 00000000000..4da47fcacc1
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/SwitchStatementImpl.java
@@ -0,0 +1,316 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Expression;
+import org.eclipse.papyrus.alf.alf.SwitchClause;
+import org.eclipse.papyrus.alf.alf.SwitchDefaultClause;
+import org.eclipse.papyrus.alf.alf.SwitchStatement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Switch Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SwitchStatementImpl#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SwitchStatementImpl#getSwitchClause <em>Switch Clause</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.SwitchStatementImpl#getDefaultClause <em>Default Clause</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SwitchStatementImpl extends StatementImpl implements SwitchStatement
+{
+ /**
+ * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpression()
+ * @generated
+ * @ordered
+ */
+ protected Expression expression;
+
+ /**
+ * The cached value of the '{@link #getSwitchClause() <em>Switch Clause</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSwitchClause()
+ * @generated
+ * @ordered
+ */
+ protected EList<SwitchClause> switchClause;
+
+ /**
+ * The cached value of the '{@link #getDefaultClause() <em>Default Clause</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefaultClause()
+ * @generated
+ * @ordered
+ */
+ protected SwitchDefaultClause defaultClause;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SwitchStatementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.SWITCH_STATEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getExpression()
+ {
+ return expression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExpression(Expression newExpression, NotificationChain msgs)
+ {
+ Expression oldExpression = expression;
+ expression = newExpression;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.SWITCH_STATEMENT__EXPRESSION, oldExpression, newExpression);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpression(Expression newExpression)
+ {
+ if (newExpression != expression)
+ {
+ NotificationChain msgs = null;
+ if (expression != null)
+ msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SWITCH_STATEMENT__EXPRESSION, null, msgs);
+ if (newExpression != null)
+ msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SWITCH_STATEMENT__EXPRESSION, null, msgs);
+ msgs = basicSetExpression(newExpression, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SWITCH_STATEMENT__EXPRESSION, newExpression, newExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SwitchClause> getSwitchClause()
+ {
+ if (switchClause == null)
+ {
+ switchClause = new EObjectContainmentEList<SwitchClause>(SwitchClause.class, this, AlfPackage.SWITCH_STATEMENT__SWITCH_CLAUSE);
+ }
+ return switchClause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SwitchDefaultClause getDefaultClause()
+ {
+ return defaultClause;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetDefaultClause(SwitchDefaultClause newDefaultClause, NotificationChain msgs)
+ {
+ SwitchDefaultClause oldDefaultClause = defaultClause;
+ defaultClause = newDefaultClause;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.SWITCH_STATEMENT__DEFAULT_CLAUSE, oldDefaultClause, newDefaultClause);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefaultClause(SwitchDefaultClause newDefaultClause)
+ {
+ if (newDefaultClause != defaultClause)
+ {
+ NotificationChain msgs = null;
+ if (defaultClause != null)
+ msgs = ((InternalEObject)defaultClause).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SWITCH_STATEMENT__DEFAULT_CLAUSE, null, msgs);
+ if (newDefaultClause != null)
+ msgs = ((InternalEObject)newDefaultClause).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.SWITCH_STATEMENT__DEFAULT_CLAUSE, null, msgs);
+ msgs = basicSetDefaultClause(newDefaultClause, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.SWITCH_STATEMENT__DEFAULT_CLAUSE, newDefaultClause, newDefaultClause));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_STATEMENT__EXPRESSION:
+ return basicSetExpression(null, msgs);
+ case AlfPackage.SWITCH_STATEMENT__SWITCH_CLAUSE:
+ return ((InternalEList<?>)getSwitchClause()).basicRemove(otherEnd, msgs);
+ case AlfPackage.SWITCH_STATEMENT__DEFAULT_CLAUSE:
+ return basicSetDefaultClause(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_STATEMENT__EXPRESSION:
+ return getExpression();
+ case AlfPackage.SWITCH_STATEMENT__SWITCH_CLAUSE:
+ return getSwitchClause();
+ case AlfPackage.SWITCH_STATEMENT__DEFAULT_CLAUSE:
+ return getDefaultClause();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_STATEMENT__EXPRESSION:
+ setExpression((Expression)newValue);
+ return;
+ case AlfPackage.SWITCH_STATEMENT__SWITCH_CLAUSE:
+ getSwitchClause().clear();
+ getSwitchClause().addAll((Collection<? extends SwitchClause>)newValue);
+ return;
+ case AlfPackage.SWITCH_STATEMENT__DEFAULT_CLAUSE:
+ setDefaultClause((SwitchDefaultClause)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_STATEMENT__EXPRESSION:
+ setExpression((Expression)null);
+ return;
+ case AlfPackage.SWITCH_STATEMENT__SWITCH_CLAUSE:
+ getSwitchClause().clear();
+ return;
+ case AlfPackage.SWITCH_STATEMENT__DEFAULT_CLAUSE:
+ setDefaultClause((SwitchDefaultClause)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.SWITCH_STATEMENT__EXPRESSION:
+ return expression != null;
+ case AlfPackage.SWITCH_STATEMENT__SWITCH_CLAUSE:
+ return switchClause != null && !switchClause.isEmpty();
+ case AlfPackage.SWITCH_STATEMENT__DEFAULT_CLAUSE:
+ return defaultClause != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SwitchStatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/TemplateBindingImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/TemplateBindingImpl.java
new file mode 100644
index 00000000000..4f451a9ba5d
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/TemplateBindingImpl.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.NamedTemplateBinding;
+import org.eclipse.papyrus.alf.alf.TemplateBinding;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Template Binding</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.TemplateBindingImpl#getBindings <em>Bindings</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TemplateBindingImpl extends MinimalEObjectImpl.Container implements TemplateBinding
+{
+ /**
+ * The cached value of the '{@link #getBindings() <em>Bindings</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBindings()
+ * @generated
+ * @ordered
+ */
+ protected EList<NamedTemplateBinding> bindings;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TemplateBindingImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.TEMPLATE_BINDING;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NamedTemplateBinding> getBindings()
+ {
+ if (bindings == null)
+ {
+ bindings = new EObjectContainmentEList<NamedTemplateBinding>(NamedTemplateBinding.class, this, AlfPackage.TEMPLATE_BINDING__BINDINGS);
+ }
+ return bindings;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TEMPLATE_BINDING__BINDINGS:
+ return ((InternalEList<?>)getBindings()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TEMPLATE_BINDING__BINDINGS:
+ return getBindings();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TEMPLATE_BINDING__BINDINGS:
+ getBindings().clear();
+ getBindings().addAll((Collection<? extends NamedTemplateBinding>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TEMPLATE_BINDING__BINDINGS:
+ getBindings().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TEMPLATE_BINDING__BINDINGS:
+ return bindings != null && !bindings.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //TemplateBindingImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/TestImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/TestImpl.java
new file mode 100644
index 00000000000..b647c22d82b
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/TestImpl.java
@@ -0,0 +1,323 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.AssignmentCompletion;
+import org.eclipse.papyrus.alf.alf.Block;
+import org.eclipse.papyrus.alf.alf.Expression;
+import org.eclipse.papyrus.alf.alf.Statement;
+import org.eclipse.papyrus.alf.alf.Test;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Test</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.TestImpl#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.TestImpl#getAssignExpression <em>Assign Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.TestImpl#getStatements <em>Statements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.TestImpl#getBlock <em>Block</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TestImpl extends MinimalEObjectImpl.Container implements Test
+{
+ /**
+ * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpression()
+ * @generated
+ * @ordered
+ */
+ protected EList<Expression> expression;
+
+ /**
+ * The cached value of the '{@link #getAssignExpression() <em>Assign Expression</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAssignExpression()
+ * @generated
+ * @ordered
+ */
+ protected EList<AssignmentCompletion> assignExpression;
+
+ /**
+ * The cached value of the '{@link #getStatements() <em>Statements</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStatements()
+ * @generated
+ * @ordered
+ */
+ protected EList<Statement> statements;
+
+ /**
+ * The cached value of the '{@link #getBlock() <em>Block</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBlock()
+ * @generated
+ * @ordered
+ */
+ protected Block block;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TestImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.TEST;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Expression> getExpression()
+ {
+ if (expression == null)
+ {
+ expression = new EObjectContainmentEList<Expression>(Expression.class, this, AlfPackage.TEST__EXPRESSION);
+ }
+ return expression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AssignmentCompletion> getAssignExpression()
+ {
+ if (assignExpression == null)
+ {
+ assignExpression = new EObjectContainmentEList<AssignmentCompletion>(AssignmentCompletion.class, this, AlfPackage.TEST__ASSIGN_EXPRESSION);
+ }
+ return assignExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Statement> getStatements()
+ {
+ if (statements == null)
+ {
+ statements = new EObjectContainmentEList<Statement>(Statement.class, this, AlfPackage.TEST__STATEMENTS);
+ }
+ return statements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Block getBlock()
+ {
+ return block;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBlock(Block newBlock, NotificationChain msgs)
+ {
+ Block oldBlock = block;
+ block = newBlock;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.TEST__BLOCK, oldBlock, newBlock);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBlock(Block newBlock)
+ {
+ if (newBlock != block)
+ {
+ NotificationChain msgs = null;
+ if (block != null)
+ msgs = ((InternalEObject)block).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.TEST__BLOCK, null, msgs);
+ if (newBlock != null)
+ msgs = ((InternalEObject)newBlock).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.TEST__BLOCK, null, msgs);
+ msgs = basicSetBlock(newBlock, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.TEST__BLOCK, newBlock, newBlock));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TEST__EXPRESSION:
+ return ((InternalEList<?>)getExpression()).basicRemove(otherEnd, msgs);
+ case AlfPackage.TEST__ASSIGN_EXPRESSION:
+ return ((InternalEList<?>)getAssignExpression()).basicRemove(otherEnd, msgs);
+ case AlfPackage.TEST__STATEMENTS:
+ return ((InternalEList<?>)getStatements()).basicRemove(otherEnd, msgs);
+ case AlfPackage.TEST__BLOCK:
+ return basicSetBlock(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TEST__EXPRESSION:
+ return getExpression();
+ case AlfPackage.TEST__ASSIGN_EXPRESSION:
+ return getAssignExpression();
+ case AlfPackage.TEST__STATEMENTS:
+ return getStatements();
+ case AlfPackage.TEST__BLOCK:
+ return getBlock();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TEST__EXPRESSION:
+ getExpression().clear();
+ getExpression().addAll((Collection<? extends Expression>)newValue);
+ return;
+ case AlfPackage.TEST__ASSIGN_EXPRESSION:
+ getAssignExpression().clear();
+ getAssignExpression().addAll((Collection<? extends AssignmentCompletion>)newValue);
+ return;
+ case AlfPackage.TEST__STATEMENTS:
+ getStatements().clear();
+ getStatements().addAll((Collection<? extends Statement>)newValue);
+ return;
+ case AlfPackage.TEST__BLOCK:
+ setBlock((Block)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TEST__EXPRESSION:
+ getExpression().clear();
+ return;
+ case AlfPackage.TEST__ASSIGN_EXPRESSION:
+ getAssignExpression().clear();
+ return;
+ case AlfPackage.TEST__STATEMENTS:
+ getStatements().clear();
+ return;
+ case AlfPackage.TEST__BLOCK:
+ setBlock((Block)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TEST__EXPRESSION:
+ return expression != null && !expression.isEmpty();
+ case AlfPackage.TEST__ASSIGN_EXPRESSION:
+ return assignExpression != null && !assignExpression.isEmpty();
+ case AlfPackage.TEST__STATEMENTS:
+ return statements != null && !statements.isEmpty();
+ case AlfPackage.TEST__BLOCK:
+ return block != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //TestImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ThisExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ThisExpressionImpl.java
new file mode 100644
index 00000000000..301cd61b72b
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ThisExpressionImpl.java
@@ -0,0 +1,197 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.SuffixExpression;
+import org.eclipse.papyrus.alf.alf.ThisExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>This Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ThisExpressionImpl#getSuffix <em>Suffix</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ThisExpressionImpl extends ValueSpecificationImpl implements ThisExpression
+{
+ /**
+ * The cached value of the '{@link #getSuffix() <em>Suffix</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuffix()
+ * @generated
+ * @ordered
+ */
+ protected SuffixExpression suffix;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ThisExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.THIS_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SuffixExpression getSuffix()
+ {
+ return suffix;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSuffix(SuffixExpression newSuffix, NotificationChain msgs)
+ {
+ SuffixExpression oldSuffix = suffix;
+ suffix = newSuffix;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.THIS_EXPRESSION__SUFFIX, oldSuffix, newSuffix);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSuffix(SuffixExpression newSuffix)
+ {
+ if (newSuffix != suffix)
+ {
+ NotificationChain msgs = null;
+ if (suffix != null)
+ msgs = ((InternalEObject)suffix).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.THIS_EXPRESSION__SUFFIX, null, msgs);
+ if (newSuffix != null)
+ msgs = ((InternalEObject)newSuffix).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.THIS_EXPRESSION__SUFFIX, null, msgs);
+ msgs = basicSetSuffix(newSuffix, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.THIS_EXPRESSION__SUFFIX, newSuffix, newSuffix));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.THIS_EXPRESSION__SUFFIX:
+ return basicSetSuffix(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.THIS_EXPRESSION__SUFFIX:
+ return getSuffix();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.THIS_EXPRESSION__SUFFIX:
+ setSuffix((SuffixExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.THIS_EXPRESSION__SUFFIX:
+ setSuffix((SuffixExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.THIS_EXPRESSION__SUFFIX:
+ return suffix != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ThisExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ThisInvocationStatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ThisInvocationStatementImpl.java
new file mode 100644
index 00000000000..e7251e3b67e
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ThisInvocationStatementImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.AssignmentCompletion;
+import org.eclipse.papyrus.alf.alf.ThisExpression;
+import org.eclipse.papyrus.alf.alf.ThisInvocationStatement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>This Invocation Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ThisInvocationStatementImpl#get_this <em>this</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.ThisInvocationStatementImpl#getAssignmentCompletion <em>Assignment Completion</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ThisInvocationStatementImpl extends StatementImpl implements ThisInvocationStatement
+{
+ /**
+ * The cached value of the '{@link #get_this() <em>this</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #get_this()
+ * @generated
+ * @ordered
+ */
+ protected ThisExpression _this;
+
+ /**
+ * The cached value of the '{@link #getAssignmentCompletion() <em>Assignment Completion</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAssignmentCompletion()
+ * @generated
+ * @ordered
+ */
+ protected AssignmentCompletion assignmentCompletion;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ThisInvocationStatementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.THIS_INVOCATION_STATEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ThisExpression get_this()
+ {
+ return _this;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSet_this(ThisExpression new_this, NotificationChain msgs)
+ {
+ ThisExpression old_this = _this;
+ _this = new_this;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.THIS_INVOCATION_STATEMENT__THIS, old_this, new_this);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void set_this(ThisExpression new_this)
+ {
+ if (new_this != _this)
+ {
+ NotificationChain msgs = null;
+ if (_this != null)
+ msgs = ((InternalEObject)_this).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.THIS_INVOCATION_STATEMENT__THIS, null, msgs);
+ if (new_this != null)
+ msgs = ((InternalEObject)new_this).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.THIS_INVOCATION_STATEMENT__THIS, null, msgs);
+ msgs = basicSet_this(new_this, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.THIS_INVOCATION_STATEMENT__THIS, new_this, new_this));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AssignmentCompletion getAssignmentCompletion()
+ {
+ return assignmentCompletion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetAssignmentCompletion(AssignmentCompletion newAssignmentCompletion, NotificationChain msgs)
+ {
+ AssignmentCompletion oldAssignmentCompletion = assignmentCompletion;
+ assignmentCompletion = newAssignmentCompletion;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.THIS_INVOCATION_STATEMENT__ASSIGNMENT_COMPLETION, oldAssignmentCompletion, newAssignmentCompletion);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAssignmentCompletion(AssignmentCompletion newAssignmentCompletion)
+ {
+ if (newAssignmentCompletion != assignmentCompletion)
+ {
+ NotificationChain msgs = null;
+ if (assignmentCompletion != null)
+ msgs = ((InternalEObject)assignmentCompletion).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.THIS_INVOCATION_STATEMENT__ASSIGNMENT_COMPLETION, null, msgs);
+ if (newAssignmentCompletion != null)
+ msgs = ((InternalEObject)newAssignmentCompletion).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.THIS_INVOCATION_STATEMENT__ASSIGNMENT_COMPLETION, null, msgs);
+ msgs = basicSetAssignmentCompletion(newAssignmentCompletion, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.THIS_INVOCATION_STATEMENT__ASSIGNMENT_COMPLETION, newAssignmentCompletion, newAssignmentCompletion));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.THIS_INVOCATION_STATEMENT__THIS:
+ return basicSet_this(null, msgs);
+ case AlfPackage.THIS_INVOCATION_STATEMENT__ASSIGNMENT_COMPLETION:
+ return basicSetAssignmentCompletion(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.THIS_INVOCATION_STATEMENT__THIS:
+ return get_this();
+ case AlfPackage.THIS_INVOCATION_STATEMENT__ASSIGNMENT_COMPLETION:
+ return getAssignmentCompletion();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.THIS_INVOCATION_STATEMENT__THIS:
+ set_this((ThisExpression)newValue);
+ return;
+ case AlfPackage.THIS_INVOCATION_STATEMENT__ASSIGNMENT_COMPLETION:
+ setAssignmentCompletion((AssignmentCompletion)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.THIS_INVOCATION_STATEMENT__THIS:
+ set_this((ThisExpression)null);
+ return;
+ case AlfPackage.THIS_INVOCATION_STATEMENT__ASSIGNMENT_COMPLETION:
+ setAssignmentCompletion((AssignmentCompletion)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.THIS_INVOCATION_STATEMENT__THIS:
+ return _this != null;
+ case AlfPackage.THIS_INVOCATION_STATEMENT__ASSIGNMENT_COMPLETION:
+ return assignmentCompletion != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ThisInvocationStatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/TupleElementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/TupleElementImpl.java
new file mode 100644
index 00000000000..95a7db88823
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/TupleElementImpl.java
@@ -0,0 +1,198 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Expression;
+import org.eclipse.papyrus.alf.alf.TupleElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Tuple Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.TupleElementImpl#getArgument <em>Argument</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TupleElementImpl extends MinimalEObjectImpl.Container implements TupleElement
+{
+ /**
+ * The cached value of the '{@link #getArgument() <em>Argument</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getArgument()
+ * @generated
+ * @ordered
+ */
+ protected Expression argument;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TupleElementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.TUPLE_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getArgument()
+ {
+ return argument;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetArgument(Expression newArgument, NotificationChain msgs)
+ {
+ Expression oldArgument = argument;
+ argument = newArgument;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.TUPLE_ELEMENT__ARGUMENT, oldArgument, newArgument);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setArgument(Expression newArgument)
+ {
+ if (newArgument != argument)
+ {
+ NotificationChain msgs = null;
+ if (argument != null)
+ msgs = ((InternalEObject)argument).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.TUPLE_ELEMENT__ARGUMENT, null, msgs);
+ if (newArgument != null)
+ msgs = ((InternalEObject)newArgument).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.TUPLE_ELEMENT__ARGUMENT, null, msgs);
+ msgs = basicSetArgument(newArgument, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.TUPLE_ELEMENT__ARGUMENT, newArgument, newArgument));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TUPLE_ELEMENT__ARGUMENT:
+ return basicSetArgument(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TUPLE_ELEMENT__ARGUMENT:
+ return getArgument();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TUPLE_ELEMENT__ARGUMENT:
+ setArgument((Expression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TUPLE_ELEMENT__ARGUMENT:
+ setArgument((Expression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TUPLE_ELEMENT__ARGUMENT:
+ return argument != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //TupleElementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/TupleImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/TupleImpl.java
new file mode 100644
index 00000000000..5065cb2920a
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/TupleImpl.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Tuple;
+import org.eclipse.papyrus.alf.alf.TupleElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Tuple</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.TupleImpl#getTupleElements <em>Tuple Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TupleImpl extends MinimalEObjectImpl.Container implements Tuple
+{
+ /**
+ * The cached value of the '{@link #getTupleElements() <em>Tuple Elements</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTupleElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TupleElement> tupleElements;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TupleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.TUPLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TupleElement> getTupleElements()
+ {
+ if (tupleElements == null)
+ {
+ tupleElements = new EObjectContainmentEList<TupleElement>(TupleElement.class, this, AlfPackage.TUPLE__TUPLE_ELEMENTS);
+ }
+ return tupleElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TUPLE__TUPLE_ELEMENTS:
+ return ((InternalEList<?>)getTupleElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TUPLE__TUPLE_ELEMENTS:
+ return getTupleElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TUPLE__TUPLE_ELEMENTS:
+ getTupleElements().clear();
+ getTupleElements().addAll((Collection<? extends TupleElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TUPLE__TUPLE_ELEMENTS:
+ getTupleElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.TUPLE__TUPLE_ELEMENTS:
+ return tupleElements != null && !tupleElements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //TupleImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/UNLIMITED_LITERALImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/UNLIMITED_LITERALImpl.java
new file mode 100644
index 00000000000..c6164f574bf
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/UNLIMITED_LITERALImpl.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.UNLIMITED_LITERAL;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>UNLIMITED LITERAL</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class UNLIMITED_LITERALImpl extends NUMBER_LITERALImpl implements UNLIMITED_LITERAL
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UNLIMITED_LITERALImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.UNLIMITED_LITERAL;
+ }
+
+} //UNLIMITED_LITERALImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/UnaryExpressionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/UnaryExpressionImpl.java
new file mode 100644
index 00000000000..55d780b2772
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/UnaryExpressionImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.PrimaryExpression;
+import org.eclipse.papyrus.alf.alf.UnaryExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Unary Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.UnaryExpressionImpl#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.UnaryExpressionImpl#getExp <em>Exp</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UnaryExpressionImpl extends MinimalEObjectImpl.Container implements UnaryExpression
+{
+ /**
+ * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected static final String OP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected String op = OP_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getExp() <em>Exp</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExp()
+ * @generated
+ * @ordered
+ */
+ protected PrimaryExpression exp;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UnaryExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.UNARY_EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(String newOp)
+ {
+ String oldOp = op;
+ op = newOp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.UNARY_EXPRESSION__OP, oldOp, op));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PrimaryExpression getExp()
+ {
+ return exp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExp(PrimaryExpression newExp, NotificationChain msgs)
+ {
+ PrimaryExpression oldExp = exp;
+ exp = newExp;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.UNARY_EXPRESSION__EXP, oldExp, newExp);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExp(PrimaryExpression newExp)
+ {
+ if (newExp != exp)
+ {
+ NotificationChain msgs = null;
+ if (exp != null)
+ msgs = ((InternalEObject)exp).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.UNARY_EXPRESSION__EXP, null, msgs);
+ if (newExp != null)
+ msgs = ((InternalEObject)newExp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.UNARY_EXPRESSION__EXP, null, msgs);
+ msgs = basicSetExp(newExp, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.UNARY_EXPRESSION__EXP, newExp, newExp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.UNARY_EXPRESSION__EXP:
+ return basicSetExp(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.UNARY_EXPRESSION__OP:
+ return getOp();
+ case AlfPackage.UNARY_EXPRESSION__EXP:
+ return getExp();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.UNARY_EXPRESSION__OP:
+ setOp((String)newValue);
+ return;
+ case AlfPackage.UNARY_EXPRESSION__EXP:
+ setExp((PrimaryExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.UNARY_EXPRESSION__OP:
+ setOp(OP_EDEFAULT);
+ return;
+ case AlfPackage.UNARY_EXPRESSION__EXP:
+ setExp((PrimaryExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.UNARY_EXPRESSION__OP:
+ return OP_EDEFAULT == null ? op != null : !OP_EDEFAULT.equals(op);
+ case AlfPackage.UNARY_EXPRESSION__EXP:
+ return exp != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (op: ");
+ result.append(op);
+ result.append(')');
+ return result.toString();
+ }
+
+} //UnaryExpressionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/UnqualifiedNameImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/UnqualifiedNameImpl.java
new file mode 100644
index 00000000000..2bfaf8c5644
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/UnqualifiedNameImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.TemplateBinding;
+import org.eclipse.papyrus.alf.alf.UnqualifiedName;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Unqualified Name</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.UnqualifiedNameImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.UnqualifiedNameImpl#getTemplateBinding <em>Template Binding</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UnqualifiedNameImpl extends MinimalEObjectImpl.Container implements UnqualifiedName
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTemplateBinding() <em>Template Binding</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTemplateBinding()
+ * @generated
+ * @ordered
+ */
+ protected TemplateBinding templateBinding;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UnqualifiedNameImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.UNQUALIFIED_NAME;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.UNQUALIFIED_NAME__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemplateBinding getTemplateBinding()
+ {
+ return templateBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTemplateBinding(TemplateBinding newTemplateBinding, NotificationChain msgs)
+ {
+ TemplateBinding oldTemplateBinding = templateBinding;
+ templateBinding = newTemplateBinding;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.UNQUALIFIED_NAME__TEMPLATE_BINDING, oldTemplateBinding, newTemplateBinding);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTemplateBinding(TemplateBinding newTemplateBinding)
+ {
+ if (newTemplateBinding != templateBinding)
+ {
+ NotificationChain msgs = null;
+ if (templateBinding != null)
+ msgs = ((InternalEObject)templateBinding).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.UNQUALIFIED_NAME__TEMPLATE_BINDING, null, msgs);
+ if (newTemplateBinding != null)
+ msgs = ((InternalEObject)newTemplateBinding).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.UNQUALIFIED_NAME__TEMPLATE_BINDING, null, msgs);
+ msgs = basicSetTemplateBinding(newTemplateBinding, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.UNQUALIFIED_NAME__TEMPLATE_BINDING, newTemplateBinding, newTemplateBinding));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.UNQUALIFIED_NAME__TEMPLATE_BINDING:
+ return basicSetTemplateBinding(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.UNQUALIFIED_NAME__NAME:
+ return getName();
+ case AlfPackage.UNQUALIFIED_NAME__TEMPLATE_BINDING:
+ return getTemplateBinding();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.UNQUALIFIED_NAME__NAME:
+ setName((String)newValue);
+ return;
+ case AlfPackage.UNQUALIFIED_NAME__TEMPLATE_BINDING:
+ setTemplateBinding((TemplateBinding)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.UNQUALIFIED_NAME__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case AlfPackage.UNQUALIFIED_NAME__TEMPLATE_BINDING:
+ setTemplateBinding((TemplateBinding)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.UNQUALIFIED_NAME__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case AlfPackage.UNQUALIFIED_NAME__TEMPLATE_BINDING:
+ return templateBinding != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //UnqualifiedNameImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ValueSpecificationImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ValueSpecificationImpl.java
new file mode 100644
index 00000000000..0fe2d112c55
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/ValueSpecificationImpl.java
@@ -0,0 +1,48 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.ValueSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Value Specification</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ValueSpecificationImpl extends MinimalEObjectImpl.Container implements ValueSpecification
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ValueSpecificationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.VALUE_SPECIFICATION;
+ }
+
+} //ValueSpecificationImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/VariableDeclarationCompletionImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/VariableDeclarationCompletionImpl.java
new file mode 100644
index 00000000000..a6bca30dc20
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/VariableDeclarationCompletionImpl.java
@@ -0,0 +1,325 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.AssignmentCompletion;
+import org.eclipse.papyrus.alf.alf.VariableDeclarationCompletion;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Variable Declaration Completion</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.VariableDeclarationCompletionImpl#isMultiplicityIndicator <em>Multiplicity Indicator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.VariableDeclarationCompletionImpl#getVariableName <em>Variable Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.VariableDeclarationCompletionImpl#getInitValue <em>Init Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VariableDeclarationCompletionImpl extends MinimalEObjectImpl.Container implements VariableDeclarationCompletion
+{
+ /**
+ * The default value of the '{@link #isMultiplicityIndicator() <em>Multiplicity Indicator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isMultiplicityIndicator()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean MULTIPLICITY_INDICATOR_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isMultiplicityIndicator() <em>Multiplicity Indicator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isMultiplicityIndicator()
+ * @generated
+ * @ordered
+ */
+ protected boolean multiplicityIndicator = MULTIPLICITY_INDICATOR_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVariableName() <em>Variable Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVariableName()
+ * @generated
+ * @ordered
+ */
+ protected static final String VARIABLE_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getVariableName() <em>Variable Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVariableName()
+ * @generated
+ * @ordered
+ */
+ protected String variableName = VARIABLE_NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getInitValue() <em>Init Value</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInitValue()
+ * @generated
+ * @ordered
+ */
+ protected AssignmentCompletion initValue;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VariableDeclarationCompletionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.VARIABLE_DECLARATION_COMPLETION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isMultiplicityIndicator()
+ {
+ return multiplicityIndicator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMultiplicityIndicator(boolean newMultiplicityIndicator)
+ {
+ boolean oldMultiplicityIndicator = multiplicityIndicator;
+ multiplicityIndicator = newMultiplicityIndicator;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.VARIABLE_DECLARATION_COMPLETION__MULTIPLICITY_INDICATOR, oldMultiplicityIndicator, multiplicityIndicator));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getVariableName()
+ {
+ return variableName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVariableName(String newVariableName)
+ {
+ String oldVariableName = variableName;
+ variableName = newVariableName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.VARIABLE_DECLARATION_COMPLETION__VARIABLE_NAME, oldVariableName, variableName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AssignmentCompletion getInitValue()
+ {
+ return initValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetInitValue(AssignmentCompletion newInitValue, NotificationChain msgs)
+ {
+ AssignmentCompletion oldInitValue = initValue;
+ initValue = newInitValue;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.VARIABLE_DECLARATION_COMPLETION__INIT_VALUE, oldInitValue, newInitValue);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInitValue(AssignmentCompletion newInitValue)
+ {
+ if (newInitValue != initValue)
+ {
+ NotificationChain msgs = null;
+ if (initValue != null)
+ msgs = ((InternalEObject)initValue).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.VARIABLE_DECLARATION_COMPLETION__INIT_VALUE, null, msgs);
+ if (newInitValue != null)
+ msgs = ((InternalEObject)newInitValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.VARIABLE_DECLARATION_COMPLETION__INIT_VALUE, null, msgs);
+ msgs = basicSetInitValue(newInitValue, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.VARIABLE_DECLARATION_COMPLETION__INIT_VALUE, newInitValue, newInitValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.VARIABLE_DECLARATION_COMPLETION__INIT_VALUE:
+ return basicSetInitValue(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.VARIABLE_DECLARATION_COMPLETION__MULTIPLICITY_INDICATOR:
+ return isMultiplicityIndicator();
+ case AlfPackage.VARIABLE_DECLARATION_COMPLETION__VARIABLE_NAME:
+ return getVariableName();
+ case AlfPackage.VARIABLE_DECLARATION_COMPLETION__INIT_VALUE:
+ return getInitValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.VARIABLE_DECLARATION_COMPLETION__MULTIPLICITY_INDICATOR:
+ setMultiplicityIndicator((Boolean)newValue);
+ return;
+ case AlfPackage.VARIABLE_DECLARATION_COMPLETION__VARIABLE_NAME:
+ setVariableName((String)newValue);
+ return;
+ case AlfPackage.VARIABLE_DECLARATION_COMPLETION__INIT_VALUE:
+ setInitValue((AssignmentCompletion)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.VARIABLE_DECLARATION_COMPLETION__MULTIPLICITY_INDICATOR:
+ setMultiplicityIndicator(MULTIPLICITY_INDICATOR_EDEFAULT);
+ return;
+ case AlfPackage.VARIABLE_DECLARATION_COMPLETION__VARIABLE_NAME:
+ setVariableName(VARIABLE_NAME_EDEFAULT);
+ return;
+ case AlfPackage.VARIABLE_DECLARATION_COMPLETION__INIT_VALUE:
+ setInitValue((AssignmentCompletion)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.VARIABLE_DECLARATION_COMPLETION__MULTIPLICITY_INDICATOR:
+ return multiplicityIndicator != MULTIPLICITY_INDICATOR_EDEFAULT;
+ case AlfPackage.VARIABLE_DECLARATION_COMPLETION__VARIABLE_NAME:
+ return VARIABLE_NAME_EDEFAULT == null ? variableName != null : !VARIABLE_NAME_EDEFAULT.equals(variableName);
+ case AlfPackage.VARIABLE_DECLARATION_COMPLETION__INIT_VALUE:
+ return initValue != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (multiplicityIndicator: ");
+ result.append(multiplicityIndicator);
+ result.append(", variableName: ");
+ result.append(variableName);
+ result.append(')');
+ return result.toString();
+ }
+
+} //VariableDeclarationCompletionImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/WhileStatementImpl.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/WhileStatementImpl.java
new file mode 100644
index 00000000000..481768e8718
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/impl/WhileStatementImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.alf.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.alf.alf.AlfPackage;
+import org.eclipse.papyrus.alf.alf.Block;
+import org.eclipse.papyrus.alf.alf.Expression;
+import org.eclipse.papyrus.alf.alf.WhileStatement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>While Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.WhileStatementImpl#getCondition <em>Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.alf.alf.impl.WhileStatementImpl#getBlock <em>Block</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class WhileStatementImpl extends StatementImpl implements WhileStatement
+{
+ /**
+ * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCondition()
+ * @generated
+ * @ordered
+ */
+ protected Expression condition;
+
+ /**
+ * The cached value of the '{@link #getBlock() <em>Block</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBlock()
+ * @generated
+ * @ordered
+ */
+ protected Block block;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected WhileStatementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AlfPackage.Literals.WHILE_STATEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getCondition()
+ {
+ return condition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs)
+ {
+ Expression oldCondition = condition;
+ condition = newCondition;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.WHILE_STATEMENT__CONDITION, oldCondition, newCondition);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCondition(Expression newCondition)
+ {
+ if (newCondition != condition)
+ {
+ NotificationChain msgs = null;
+ if (condition != null)
+ msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.WHILE_STATEMENT__CONDITION, null, msgs);
+ if (newCondition != null)
+ msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.WHILE_STATEMENT__CONDITION, null, msgs);
+ msgs = basicSetCondition(newCondition, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.WHILE_STATEMENT__CONDITION, newCondition, newCondition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Block getBlock()
+ {
+ return block;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBlock(Block newBlock, NotificationChain msgs)
+ {
+ Block oldBlock = block;
+ block = newBlock;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AlfPackage.WHILE_STATEMENT__BLOCK, oldBlock, newBlock);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBlock(Block newBlock)
+ {
+ if (newBlock != block)
+ {
+ NotificationChain msgs = null;
+ if (block != null)
+ msgs = ((InternalEObject)block).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AlfPackage.WHILE_STATEMENT__BLOCK, null, msgs);
+ if (newBlock != null)
+ msgs = ((InternalEObject)newBlock).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AlfPackage.WHILE_STATEMENT__BLOCK, null, msgs);
+ msgs = basicSetBlock(newBlock, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AlfPackage.WHILE_STATEMENT__BLOCK, newBlock, newBlock));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.WHILE_STATEMENT__CONDITION:
+ return basicSetCondition(null, msgs);
+ case AlfPackage.WHILE_STATEMENT__BLOCK:
+ return basicSetBlock(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.WHILE_STATEMENT__CONDITION:
+ return getCondition();
+ case AlfPackage.WHILE_STATEMENT__BLOCK:
+ return getBlock();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.WHILE_STATEMENT__CONDITION:
+ setCondition((Expression)newValue);
+ return;
+ case AlfPackage.WHILE_STATEMENT__BLOCK:
+ setBlock((Block)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.WHILE_STATEMENT__CONDITION:
+ setCondition((Expression)null);
+ return;
+ case AlfPackage.WHILE_STATEMENT__BLOCK:
+ setBlock((Block)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AlfPackage.WHILE_STATEMENT__CONDITION:
+ return condition != null;
+ case AlfPackage.WHILE_STATEMENT__BLOCK:
+ return block != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //WhileStatementImpl
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/util/AlfAdapterFactory.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/util/AlfAdapterFactory.java
new file mode 100644
index 00000000000..e5d6a2a5393
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/util/AlfAdapterFactory.java
@@ -0,0 +1,2156 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.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.alf.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.alf.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 caseTest(Test object)
+ {
+ return createTestAdapter();
+ }
+ @Override
+ public Adapter caseLITERAL(LITERAL object)
+ {
+ return createLITERALAdapter();
+ }
+ @Override
+ public Adapter caseBOOLEAN_LITERAL(BOOLEAN_LITERAL object)
+ {
+ return createBOOLEAN_LITERALAdapter();
+ }
+ @Override
+ public Adapter caseNUMBER_LITERAL(NUMBER_LITERAL object)
+ {
+ return createNUMBER_LITERALAdapter();
+ }
+ @Override
+ public Adapter caseINTEGER_LITERAL(INTEGER_LITERAL object)
+ {
+ return createINTEGER_LITERALAdapter();
+ }
+ @Override
+ public Adapter caseUNLIMITED_LITERAL(UNLIMITED_LITERAL object)
+ {
+ return createUNLIMITED_LITERALAdapter();
+ }
+ @Override
+ public Adapter caseSTRING_LITERAL(STRING_LITERAL object)
+ {
+ return createSTRING_LITERALAdapter();
+ }
+ @Override
+ public Adapter caseNameExpression(NameExpression object)
+ {
+ return createNameExpressionAdapter();
+ }
+ @Override
+ public Adapter caseQualifiedNamePath(QualifiedNamePath object)
+ {
+ return createQualifiedNamePathAdapter();
+ }
+ @Override
+ public Adapter caseUnqualifiedName(UnqualifiedName object)
+ {
+ return createUnqualifiedNameAdapter();
+ }
+ @Override
+ public Adapter caseTemplateBinding(TemplateBinding object)
+ {
+ return createTemplateBindingAdapter();
+ }
+ @Override
+ public Adapter caseNamedTemplateBinding(NamedTemplateBinding object)
+ {
+ return createNamedTemplateBindingAdapter();
+ }
+ @Override
+ public Adapter caseQualifiedNameWithBinding(QualifiedNameWithBinding object)
+ {
+ return createQualifiedNameWithBindingAdapter();
+ }
+ @Override
+ public Adapter caseTuple(Tuple object)
+ {
+ return createTupleAdapter();
+ }
+ @Override
+ public Adapter caseTupleElement(TupleElement object)
+ {
+ return createTupleElementAdapter();
+ }
+ @Override
+ public Adapter caseExpression(Expression object)
+ {
+ return createExpressionAdapter();
+ }
+ @Override
+ public Adapter caseConditionalTestExpression(ConditionalTestExpression object)
+ {
+ return createConditionalTestExpressionAdapter();
+ }
+ @Override
+ public Adapter caseConditionalOrExpression(ConditionalOrExpression object)
+ {
+ return createConditionalOrExpressionAdapter();
+ }
+ @Override
+ public Adapter caseConditionalAndExpression(ConditionalAndExpression object)
+ {
+ return createConditionalAndExpressionAdapter();
+ }
+ @Override
+ public Adapter caseInclusiveOrExpression(InclusiveOrExpression object)
+ {
+ return createInclusiveOrExpressionAdapter();
+ }
+ @Override
+ public Adapter caseExclusiveOrExpression(ExclusiveOrExpression object)
+ {
+ return createExclusiveOrExpressionAdapter();
+ }
+ @Override
+ public Adapter caseAndExpression(AndExpression object)
+ {
+ return createAndExpressionAdapter();
+ }
+ @Override
+ public Adapter caseEqualityExpression(EqualityExpression object)
+ {
+ return createEqualityExpressionAdapter();
+ }
+ @Override
+ public Adapter caseClassificationExpression(ClassificationExpression object)
+ {
+ return createClassificationExpressionAdapter();
+ }
+ @Override
+ public Adapter caseRelationalExpression(RelationalExpression object)
+ {
+ return createRelationalExpressionAdapter();
+ }
+ @Override
+ public Adapter caseShiftExpression(ShiftExpression object)
+ {
+ return createShiftExpressionAdapter();
+ }
+ @Override
+ public Adapter caseAdditiveExpression(AdditiveExpression object)
+ {
+ return createAdditiveExpressionAdapter();
+ }
+ @Override
+ public Adapter caseMultiplicativeExpression(MultiplicativeExpression object)
+ {
+ return createMultiplicativeExpressionAdapter();
+ }
+ @Override
+ public Adapter caseUnaryExpression(UnaryExpression object)
+ {
+ return createUnaryExpressionAdapter();
+ }
+ @Override
+ public Adapter casePrimaryExpression(PrimaryExpression object)
+ {
+ return createPrimaryExpressionAdapter();
+ }
+ @Override
+ public Adapter caseSuffixExpression(SuffixExpression object)
+ {
+ return createSuffixExpressionAdapter();
+ }
+ @Override
+ public Adapter caseOperationCallExpression(OperationCallExpression object)
+ {
+ return createOperationCallExpressionAdapter();
+ }
+ @Override
+ public Adapter casePropertyCallExpression(PropertyCallExpression object)
+ {
+ return createPropertyCallExpressionAdapter();
+ }
+ @Override
+ public Adapter caseLinkOperationExpression(LinkOperationExpression object)
+ {
+ return createLinkOperationExpressionAdapter();
+ }
+ @Override
+ public Adapter caseLinkOperationTuple(LinkOperationTuple object)
+ {
+ return createLinkOperationTupleAdapter();
+ }
+ @Override
+ public Adapter caseLinkOperationTupleElement(LinkOperationTupleElement object)
+ {
+ return createLinkOperationTupleElementAdapter();
+ }
+ @Override
+ public Adapter caseSequenceOperationExpression(SequenceOperationExpression object)
+ {
+ return createSequenceOperationExpressionAdapter();
+ }
+ @Override
+ public Adapter caseSequenceReductionExpression(SequenceReductionExpression object)
+ {
+ return createSequenceReductionExpressionAdapter();
+ }
+ @Override
+ public Adapter caseSequenceExpansionExpression(SequenceExpansionExpression object)
+ {
+ return createSequenceExpansionExpressionAdapter();
+ }
+ @Override
+ public Adapter caseSelectOrRejectOperation(SelectOrRejectOperation object)
+ {
+ return createSelectOrRejectOperationAdapter();
+ }
+ @Override
+ public Adapter caseCollectOrIterateOperation(CollectOrIterateOperation object)
+ {
+ return createCollectOrIterateOperationAdapter();
+ }
+ @Override
+ public Adapter caseForAllOrExistsOrOneOperation(ForAllOrExistsOrOneOperation object)
+ {
+ return createForAllOrExistsOrOneOperationAdapter();
+ }
+ @Override
+ public Adapter caseIsUniqueOperation(IsUniqueOperation object)
+ {
+ return createIsUniqueOperationAdapter();
+ }
+ @Override
+ public Adapter caseValueSpecification(ValueSpecification object)
+ {
+ return createValueSpecificationAdapter();
+ }
+ @Override
+ public Adapter caseNonLiteralValueSpecification(NonLiteralValueSpecification object)
+ {
+ return createNonLiteralValueSpecificationAdapter();
+ }
+ @Override
+ public Adapter caseParenthesizedExpression(ParenthesizedExpression object)
+ {
+ return createParenthesizedExpressionAdapter();
+ }
+ @Override
+ public Adapter caseNullExpression(NullExpression object)
+ {
+ return createNullExpressionAdapter();
+ }
+ @Override
+ public Adapter caseThisExpression(ThisExpression object)
+ {
+ return createThisExpressionAdapter();
+ }
+ @Override
+ public Adapter caseSuperInvocationExpression(SuperInvocationExpression object)
+ {
+ return createSuperInvocationExpressionAdapter();
+ }
+ @Override
+ public Adapter caseInstanceCreationExpression(InstanceCreationExpression object)
+ {
+ return createInstanceCreationExpressionAdapter();
+ }
+ @Override
+ public Adapter caseInstanceCreationTuple(InstanceCreationTuple object)
+ {
+ return createInstanceCreationTupleAdapter();
+ }
+ @Override
+ public Adapter caseInstanceCreationTupleElement(InstanceCreationTupleElement object)
+ {
+ return createInstanceCreationTupleElementAdapter();
+ }
+ @Override
+ public Adapter caseSequenceConstructionOrAccessCompletion(SequenceConstructionOrAccessCompletion object)
+ {
+ return createSequenceConstructionOrAccessCompletionAdapter();
+ }
+ @Override
+ public Adapter caseAccessCompletion(AccessCompletion object)
+ {
+ return createAccessCompletionAdapter();
+ }
+ @Override
+ public Adapter casePartialSequenceConstructionCompletion(PartialSequenceConstructionCompletion object)
+ {
+ return createPartialSequenceConstructionCompletionAdapter();
+ }
+ @Override
+ public Adapter caseSequenceConstructionExpression(SequenceConstructionExpression object)
+ {
+ return createSequenceConstructionExpressionAdapter();
+ }
+ @Override
+ public Adapter caseSequenceElement(SequenceElement object)
+ {
+ return createSequenceElementAdapter();
+ }
+ @Override
+ public Adapter caseClassExtentExpression(ClassExtentExpression object)
+ {
+ return createClassExtentExpressionAdapter();
+ }
+ @Override
+ public Adapter caseBlock(Block object)
+ {
+ return createBlockAdapter();
+ }
+ @Override
+ public Adapter caseStatementSequence(StatementSequence object)
+ {
+ return createStatementSequenceAdapter();
+ }
+ @Override
+ public Adapter caseDocumentedStatement(DocumentedStatement object)
+ {
+ return createDocumentedStatementAdapter();
+ }
+ @Override
+ public Adapter caseInlineStatement(InlineStatement object)
+ {
+ return createInlineStatementAdapter();
+ }
+ @Override
+ public Adapter caseAnnotatedStatement(AnnotatedStatement object)
+ {
+ return createAnnotatedStatementAdapter();
+ }
+ @Override
+ public Adapter caseStatement(Statement object)
+ {
+ return createStatementAdapter();
+ }
+ @Override
+ public Adapter caseAnnotation(Annotation object)
+ {
+ return createAnnotationAdapter();
+ }
+ @Override
+ public Adapter caseBlockStatement(BlockStatement object)
+ {
+ return createBlockStatementAdapter();
+ }
+ @Override
+ public Adapter caseEmptyStatement(EmptyStatement object)
+ {
+ return createEmptyStatementAdapter();
+ }
+ @Override
+ public Adapter caseLocalNameDeclarationStatement(LocalNameDeclarationStatement object)
+ {
+ return createLocalNameDeclarationStatementAdapter();
+ }
+ @Override
+ public Adapter caseIfStatement(IfStatement object)
+ {
+ return createIfStatementAdapter();
+ }
+ @Override
+ public Adapter caseSequentialClauses(SequentialClauses object)
+ {
+ return createSequentialClausesAdapter();
+ }
+ @Override
+ public Adapter caseConcurrentClauses(ConcurrentClauses object)
+ {
+ return createConcurrentClausesAdapter();
+ }
+ @Override
+ public Adapter caseNonFinalClause(NonFinalClause object)
+ {
+ return createNonFinalClauseAdapter();
+ }
+ @Override
+ public Adapter caseFinalClause(FinalClause object)
+ {
+ return createFinalClauseAdapter();
+ }
+ @Override
+ public Adapter caseSwitchStatement(SwitchStatement object)
+ {
+ return createSwitchStatementAdapter();
+ }
+ @Override
+ public Adapter caseSwitchClause(SwitchClause object)
+ {
+ return createSwitchClauseAdapter();
+ }
+ @Override
+ public Adapter caseSwitchCase(SwitchCase object)
+ {
+ return createSwitchCaseAdapter();
+ }
+ @Override
+ public Adapter caseSwitchDefaultClause(SwitchDefaultClause object)
+ {
+ return createSwitchDefaultClauseAdapter();
+ }
+ @Override
+ public Adapter caseNonEmptyStatementSequence(NonEmptyStatementSequence object)
+ {
+ return createNonEmptyStatementSequenceAdapter();
+ }
+ @Override
+ public Adapter caseWhileStatement(WhileStatement object)
+ {
+ return createWhileStatementAdapter();
+ }
+ @Override
+ public Adapter caseDoStatement(DoStatement object)
+ {
+ return createDoStatementAdapter();
+ }
+ @Override
+ public Adapter caseForStatement(ForStatement object)
+ {
+ return createForStatementAdapter();
+ }
+ @Override
+ public Adapter caseForControl(ForControl object)
+ {
+ return createForControlAdapter();
+ }
+ @Override
+ public Adapter caseLoopVariableDefinition(LoopVariableDefinition object)
+ {
+ return createLoopVariableDefinitionAdapter();
+ }
+ @Override
+ public Adapter caseBreakStatement(BreakStatement object)
+ {
+ return createBreakStatementAdapter();
+ }
+ @Override
+ public Adapter caseReturnStatement(ReturnStatement object)
+ {
+ return createReturnStatementAdapter();
+ }
+ @Override
+ public Adapter caseAcceptStatement(AcceptStatement object)
+ {
+ return createAcceptStatementAdapter();
+ }
+ @Override
+ public Adapter caseSimpleAcceptStatementCompletion(SimpleAcceptStatementCompletion object)
+ {
+ return createSimpleAcceptStatementCompletionAdapter();
+ }
+ @Override
+ public Adapter caseCompoundAcceptStatementCompletion(CompoundAcceptStatementCompletion object)
+ {
+ return createCompoundAcceptStatementCompletionAdapter();
+ }
+ @Override
+ public Adapter caseAcceptBlock(AcceptBlock object)
+ {
+ return createAcceptBlockAdapter();
+ }
+ @Override
+ public Adapter caseAcceptClause(AcceptClause object)
+ {
+ return createAcceptClauseAdapter();
+ }
+ @Override
+ public Adapter caseClassifyStatement(ClassifyStatement object)
+ {
+ return createClassifyStatementAdapter();
+ }
+ @Override
+ public Adapter caseClassificationClause(ClassificationClause object)
+ {
+ return createClassificationClauseAdapter();
+ }
+ @Override
+ public Adapter caseClassificationFromClause(ClassificationFromClause object)
+ {
+ return createClassificationFromClauseAdapter();
+ }
+ @Override
+ public Adapter caseClassificationToClause(ClassificationToClause object)
+ {
+ return createClassificationToClauseAdapter();
+ }
+ @Override
+ public Adapter caseReclassifyAllClause(ReclassifyAllClause object)
+ {
+ return createReclassifyAllClauseAdapter();
+ }
+ @Override
+ public Adapter caseQualifiedNameList(QualifiedNameList object)
+ {
+ return createQualifiedNameListAdapter();
+ }
+ @Override
+ public Adapter caseInvocationOrAssignementOrDeclarationStatement(InvocationOrAssignementOrDeclarationStatement object)
+ {
+ return createInvocationOrAssignementOrDeclarationStatementAdapter();
+ }
+ @Override
+ public Adapter caseSuperInvocationStatement(SuperInvocationStatement object)
+ {
+ return createSuperInvocationStatementAdapter();
+ }
+ @Override
+ public Adapter caseThisInvocationStatement(ThisInvocationStatement object)
+ {
+ return createThisInvocationStatementAdapter();
+ }
+ @Override
+ public Adapter caseInstanceCreationInvocationStatement(InstanceCreationInvocationStatement object)
+ {
+ return createInstanceCreationInvocationStatementAdapter();
+ }
+ @Override
+ public Adapter caseVariableDeclarationCompletion(VariableDeclarationCompletion object)
+ {
+ return createVariableDeclarationCompletionAdapter();
+ }
+ @Override
+ public Adapter caseAssignmentCompletion(AssignmentCompletion object)
+ {
+ return createAssignmentCompletionAdapter();
+ }
+ @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.alf.alf.Test <em>Test</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.alf.alf.Test
+ * @generated
+ */
+ public Adapter createTestAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.LITERAL <em>LITERAL</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.alf.alf.LITERAL
+ * @generated
+ */
+ public Adapter createLITERALAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.BOOLEAN_LITERAL <em>BOOLEAN LITERAL</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.alf.alf.BOOLEAN_LITERAL
+ * @generated
+ */
+ public Adapter createBOOLEAN_LITERALAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.NUMBER_LITERAL <em>NUMBER LITERAL</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.alf.alf.NUMBER_LITERAL
+ * @generated
+ */
+ public Adapter createNUMBER_LITERALAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.INTEGER_LITERAL <em>INTEGER LITERAL</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.alf.alf.INTEGER_LITERAL
+ * @generated
+ */
+ public Adapter createINTEGER_LITERALAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.UNLIMITED_LITERAL <em>UNLIMITED LITERAL</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.alf.alf.UNLIMITED_LITERAL
+ * @generated
+ */
+ public Adapter createUNLIMITED_LITERALAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.STRING_LITERAL <em>STRING LITERAL</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.alf.alf.STRING_LITERAL
+ * @generated
+ */
+ public Adapter createSTRING_LITERALAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.NameExpression
+ * @generated
+ */
+ public Adapter createNameExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.QualifiedNamePath <em>Qualified Name Path</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.alf.alf.QualifiedNamePath
+ * @generated
+ */
+ public Adapter createQualifiedNamePathAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.UnqualifiedName <em>Unqualified 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.alf.alf.UnqualifiedName
+ * @generated
+ */
+ public Adapter createUnqualifiedNameAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.TemplateBinding
+ * @generated
+ */
+ public Adapter createTemplateBindingAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.NamedTemplateBinding
+ * @generated
+ */
+ public Adapter createNamedTemplateBindingAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.QualifiedNameWithBinding <em>Qualified Name With 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.alf.alf.QualifiedNameWithBinding
+ * @generated
+ */
+ public Adapter createQualifiedNameWithBindingAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.Tuple
+ * @generated
+ */
+ public Adapter createTupleAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.TupleElement <em>Tuple 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.alf.alf.TupleElement
+ * @generated
+ */
+ public Adapter createTupleElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.Expression
+ * @generated
+ */
+ public Adapter createExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.ConditionalTestExpression
+ * @generated
+ */
+ public Adapter createConditionalTestExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.ConditionalOrExpression <em>Conditional 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.alf.alf.ConditionalOrExpression
+ * @generated
+ */
+ public Adapter createConditionalOrExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.ConditionalAndExpression <em>Conditional And 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.alf.alf.ConditionalAndExpression
+ * @generated
+ */
+ public Adapter createConditionalAndExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.InclusiveOrExpression <em>Inclusive 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.alf.alf.InclusiveOrExpression
+ * @generated
+ */
+ public Adapter createInclusiveOrExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.ExclusiveOrExpression <em>Exclusive 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.alf.alf.ExclusiveOrExpression
+ * @generated
+ */
+ public Adapter createExclusiveOrExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.AndExpression <em>And 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.alf.alf.AndExpression
+ * @generated
+ */
+ public Adapter createAndExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.EqualityExpression
+ * @generated
+ */
+ public Adapter createEqualityExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.ClassificationExpression
+ * @generated
+ */
+ public Adapter createClassificationExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.RelationalExpression
+ * @generated
+ */
+ public Adapter createRelationalExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.ShiftExpression
+ * @generated
+ */
+ public Adapter createShiftExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.AdditiveExpression <em>Additive 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.alf.alf.AdditiveExpression
+ * @generated
+ */
+ public Adapter createAdditiveExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.MultiplicativeExpression <em>Multiplicative 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.alf.alf.MultiplicativeExpression
+ * @generated
+ */
+ public Adapter createMultiplicativeExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.UnaryExpression
+ * @generated
+ */
+ public Adapter createUnaryExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.PrimaryExpression <em>Primary 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.alf.alf.PrimaryExpression
+ * @generated
+ */
+ public Adapter createPrimaryExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.SuffixExpression <em>Suffix 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.alf.alf.SuffixExpression
+ * @generated
+ */
+ public Adapter createSuffixExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.OperationCallExpression <em>Operation Call 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.alf.alf.OperationCallExpression
+ * @generated
+ */
+ public Adapter createOperationCallExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.PropertyCallExpression <em>Property Call 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.alf.alf.PropertyCallExpression
+ * @generated
+ */
+ public Adapter createPropertyCallExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.LinkOperationExpression
+ * @generated
+ */
+ public Adapter createLinkOperationExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.LinkOperationTuple <em>Link Operation 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.alf.alf.LinkOperationTuple
+ * @generated
+ */
+ public Adapter createLinkOperationTupleAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.LinkOperationTupleElement <em>Link Operation Tuple 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.alf.alf.LinkOperationTupleElement
+ * @generated
+ */
+ public Adapter createLinkOperationTupleElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.SequenceOperationExpression
+ * @generated
+ */
+ public Adapter createSequenceOperationExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.SequenceReductionExpression
+ * @generated
+ */
+ public Adapter createSequenceReductionExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.SequenceExpansionExpression
+ * @generated
+ */
+ public Adapter createSequenceExpansionExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.SelectOrRejectOperation <em>Select Or Reject Operation</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.alf.alf.SelectOrRejectOperation
+ * @generated
+ */
+ public Adapter createSelectOrRejectOperationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.CollectOrIterateOperation <em>Collect Or Iterate Operation</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.alf.alf.CollectOrIterateOperation
+ * @generated
+ */
+ public Adapter createCollectOrIterateOperationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.ForAllOrExistsOrOneOperation <em>For All Or Exists Or One Operation</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.alf.alf.ForAllOrExistsOrOneOperation
+ * @generated
+ */
+ public Adapter createForAllOrExistsOrOneOperationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.IsUniqueOperation <em>Is Unique Operation</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.alf.alf.IsUniqueOperation
+ * @generated
+ */
+ public Adapter createIsUniqueOperationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.ValueSpecification <em>Value Specification</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.alf.alf.ValueSpecification
+ * @generated
+ */
+ public Adapter createValueSpecificationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.NonLiteralValueSpecification <em>Non Literal Value Specification</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.alf.alf.NonLiteralValueSpecification
+ * @generated
+ */
+ public Adapter createNonLiteralValueSpecificationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.ParenthesizedExpression <em>Parenthesized 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.alf.alf.ParenthesizedExpression
+ * @generated
+ */
+ public Adapter createParenthesizedExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.NullExpression <em>Null 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.alf.alf.NullExpression
+ * @generated
+ */
+ public Adapter createNullExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.ThisExpression
+ * @generated
+ */
+ public Adapter createThisExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.SuperInvocationExpression
+ * @generated
+ */
+ public Adapter createSuperInvocationExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.InstanceCreationExpression
+ * @generated
+ */
+ public Adapter createInstanceCreationExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.InstanceCreationTuple <em>Instance Creation 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.alf.alf.InstanceCreationTuple
+ * @generated
+ */
+ public Adapter createInstanceCreationTupleAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.InstanceCreationTupleElement <em>Instance Creation Tuple 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.alf.alf.InstanceCreationTupleElement
+ * @generated
+ */
+ public Adapter createInstanceCreationTupleElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.SequenceConstructionOrAccessCompletion <em>Sequence Construction Or Access Completion</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.alf.alf.SequenceConstructionOrAccessCompletion
+ * @generated
+ */
+ public Adapter createSequenceConstructionOrAccessCompletionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.AccessCompletion <em>Access Completion</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.alf.alf.AccessCompletion
+ * @generated
+ */
+ public Adapter createAccessCompletionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.PartialSequenceConstructionCompletion <em>Partial Sequence Construction Completion</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.alf.alf.PartialSequenceConstructionCompletion
+ * @generated
+ */
+ public Adapter createPartialSequenceConstructionCompletionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.SequenceConstructionExpression
+ * @generated
+ */
+ public Adapter createSequenceConstructionExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.SequenceElement <em>Sequence 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.alf.alf.SequenceElement
+ * @generated
+ */
+ public Adapter createSequenceElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.ClassExtentExpression
+ * @generated
+ */
+ public Adapter createClassExtentExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.Block
+ * @generated
+ */
+ public Adapter createBlockAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.StatementSequence <em>Statement Sequence</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.alf.alf.StatementSequence
+ * @generated
+ */
+ public Adapter createStatementSequenceAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.DocumentedStatement <em>Documented 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.alf.alf.DocumentedStatement
+ * @generated
+ */
+ public Adapter createDocumentedStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.InlineStatement <em>Inline 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.alf.alf.InlineStatement
+ * @generated
+ */
+ public Adapter createInlineStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.AnnotatedStatement
+ * @generated
+ */
+ public Adapter createAnnotatedStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.Statement
+ * @generated
+ */
+ public Adapter createStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.Annotation
+ * @generated
+ */
+ public Adapter createAnnotationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.BlockStatement
+ * @generated
+ */
+ public Adapter createBlockStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.EmptyStatement
+ * @generated
+ */
+ public Adapter createEmptyStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.LocalNameDeclarationStatement
+ * @generated
+ */
+ public Adapter createLocalNameDeclarationStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.IfStatement
+ * @generated
+ */
+ public Adapter createIfStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.SequentialClauses <em>Sequential 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.alf.alf.SequentialClauses
+ * @generated
+ */
+ public Adapter createSequentialClausesAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.ConcurrentClauses
+ * @generated
+ */
+ public Adapter createConcurrentClausesAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.NonFinalClause
+ * @generated
+ */
+ public Adapter createNonFinalClauseAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.FinalClause <em>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.alf.alf.FinalClause
+ * @generated
+ */
+ public Adapter createFinalClauseAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.SwitchStatement
+ * @generated
+ */
+ public Adapter createSwitchStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.SwitchClause
+ * @generated
+ */
+ public Adapter createSwitchClauseAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.SwitchCase <em>Switch Case</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.alf.alf.SwitchCase
+ * @generated
+ */
+ public Adapter createSwitchCaseAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.SwitchDefaultClause <em>Switch Default 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.alf.alf.SwitchDefaultClause
+ * @generated
+ */
+ public Adapter createSwitchDefaultClauseAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.NonEmptyStatementSequence <em>Non Empty Statement Sequence</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.alf.alf.NonEmptyStatementSequence
+ * @generated
+ */
+ public Adapter createNonEmptyStatementSequenceAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.WhileStatement
+ * @generated
+ */
+ public Adapter createWhileStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.DoStatement
+ * @generated
+ */
+ public Adapter createDoStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.ForStatement
+ * @generated
+ */
+ public Adapter createForStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.ForControl <em>For Control</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.alf.alf.ForControl
+ * @generated
+ */
+ public Adapter createForControlAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.LoopVariableDefinition
+ * @generated
+ */
+ public Adapter createLoopVariableDefinitionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.BreakStatement
+ * @generated
+ */
+ public Adapter createBreakStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.ReturnStatement
+ * @generated
+ */
+ public Adapter createReturnStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.AcceptStatement
+ * @generated
+ */
+ public Adapter createAcceptStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.SimpleAcceptStatementCompletion <em>Simple Accept Statement Completion</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.alf.alf.SimpleAcceptStatementCompletion
+ * @generated
+ */
+ public Adapter createSimpleAcceptStatementCompletionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.CompoundAcceptStatementCompletion <em>Compound Accept Statement Completion</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.alf.alf.CompoundAcceptStatementCompletion
+ * @generated
+ */
+ public Adapter createCompoundAcceptStatementCompletionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.AcceptBlock
+ * @generated
+ */
+ public Adapter createAcceptBlockAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.AcceptClause <em>Accept 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.alf.alf.AcceptClause
+ * @generated
+ */
+ public Adapter createAcceptClauseAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.ClassifyStatement
+ * @generated
+ */
+ public Adapter createClassifyStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.ClassificationClause <em>Classification 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.alf.alf.ClassificationClause
+ * @generated
+ */
+ public Adapter createClassificationClauseAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.ClassificationFromClause <em>Classification From 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.alf.alf.ClassificationFromClause
+ * @generated
+ */
+ public Adapter createClassificationFromClauseAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.ClassificationToClause <em>Classification To 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.alf.alf.ClassificationToClause
+ * @generated
+ */
+ public Adapter createClassificationToClauseAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.ReclassifyAllClause <em>Reclassify All 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.alf.alf.ReclassifyAllClause
+ * @generated
+ */
+ public Adapter createReclassifyAllClauseAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.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.alf.alf.QualifiedNameList
+ * @generated
+ */
+ public Adapter createQualifiedNameListAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.InvocationOrAssignementOrDeclarationStatement <em>Invocation Or Assignement Or 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.alf.alf.InvocationOrAssignementOrDeclarationStatement
+ * @generated
+ */
+ public Adapter createInvocationOrAssignementOrDeclarationStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.SuperInvocationStatement <em>Super Invocation 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.alf.alf.SuperInvocationStatement
+ * @generated
+ */
+ public Adapter createSuperInvocationStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.ThisInvocationStatement <em>This Invocation 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.alf.alf.ThisInvocationStatement
+ * @generated
+ */
+ public Adapter createThisInvocationStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.InstanceCreationInvocationStatement <em>Instance Creation Invocation 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.alf.alf.InstanceCreationInvocationStatement
+ * @generated
+ */
+ public Adapter createInstanceCreationInvocationStatementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.VariableDeclarationCompletion <em>Variable Declaration Completion</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.alf.alf.VariableDeclarationCompletion
+ * @generated
+ */
+ public Adapter createVariableDeclarationCompletionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.alf.alf.AssignmentCompletion <em>Assignment Completion</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.alf.alf.AssignmentCompletion
+ * @generated
+ */
+ public Adapter createAssignmentCompletionAdapter()
+ {
+ 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/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/util/AlfSwitch.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/util/AlfSwitch.java
new file mode 100644
index 00000000000..1ac10761380
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/alf/util/AlfSwitch.java
@@ -0,0 +1,2507 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.papyrus.alf.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.alf.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.alf.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 -->
+ * @parameter 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.TEST:
+ {
+ Test test = (Test)theEObject;
+ T result = caseTest(test);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.LITERAL:
+ {
+ LITERAL literal = (LITERAL)theEObject;
+ T result = caseLITERAL(literal);
+ if (result == null) result = caseValueSpecification(literal);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.BOOLEAN_LITERAL:
+ {
+ BOOLEAN_LITERAL booleaN_LITERAL = (BOOLEAN_LITERAL)theEObject;
+ T result = caseBOOLEAN_LITERAL(booleaN_LITERAL);
+ if (result == null) result = caseLITERAL(booleaN_LITERAL);
+ if (result == null) result = caseValueSpecification(booleaN_LITERAL);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.NUMBER_LITERAL:
+ {
+ NUMBER_LITERAL numbeR_LITERAL = (NUMBER_LITERAL)theEObject;
+ T result = caseNUMBER_LITERAL(numbeR_LITERAL);
+ if (result == null) result = caseLITERAL(numbeR_LITERAL);
+ if (result == null) result = caseValueSpecification(numbeR_LITERAL);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.INTEGER_LITERAL:
+ {
+ INTEGER_LITERAL integeR_LITERAL = (INTEGER_LITERAL)theEObject;
+ T result = caseINTEGER_LITERAL(integeR_LITERAL);
+ if (result == null) result = caseNUMBER_LITERAL(integeR_LITERAL);
+ if (result == null) result = caseLITERAL(integeR_LITERAL);
+ if (result == null) result = caseValueSpecification(integeR_LITERAL);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.UNLIMITED_LITERAL:
+ {
+ UNLIMITED_LITERAL unlimiteD_LITERAL = (UNLIMITED_LITERAL)theEObject;
+ T result = caseUNLIMITED_LITERAL(unlimiteD_LITERAL);
+ if (result == null) result = caseNUMBER_LITERAL(unlimiteD_LITERAL);
+ if (result == null) result = caseLITERAL(unlimiteD_LITERAL);
+ if (result == null) result = caseValueSpecification(unlimiteD_LITERAL);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.STRING_LITERAL:
+ {
+ STRING_LITERAL strinG_LITERAL = (STRING_LITERAL)theEObject;
+ T result = caseSTRING_LITERAL(strinG_LITERAL);
+ if (result == null) result = caseLITERAL(strinG_LITERAL);
+ if (result == null) result = caseValueSpecification(strinG_LITERAL);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.NAME_EXPRESSION:
+ {
+ NameExpression nameExpression = (NameExpression)theEObject;
+ T result = caseNameExpression(nameExpression);
+ if (result == null) result = caseValueSpecification(nameExpression);
+ if (result == null) result = caseNonLiteralValueSpecification(nameExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.QUALIFIED_NAME_PATH:
+ {
+ QualifiedNamePath qualifiedNamePath = (QualifiedNamePath)theEObject;
+ T result = caseQualifiedNamePath(qualifiedNamePath);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.UNQUALIFIED_NAME:
+ {
+ UnqualifiedName unqualifiedName = (UnqualifiedName)theEObject;
+ T result = caseUnqualifiedName(unqualifiedName);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.TEMPLATE_BINDING:
+ {
+ TemplateBinding templateBinding = (TemplateBinding)theEObject;
+ T result = caseTemplateBinding(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 = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.QUALIFIED_NAME_WITH_BINDING:
+ {
+ QualifiedNameWithBinding qualifiedNameWithBinding = (QualifiedNameWithBinding)theEObject;
+ T result = caseQualifiedNameWithBinding(qualifiedNameWithBinding);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.TUPLE:
+ {
+ Tuple tuple = (Tuple)theEObject;
+ T result = caseTuple(tuple);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.TUPLE_ELEMENT:
+ {
+ TupleElement tupleElement = (TupleElement)theEObject;
+ T result = caseTupleElement(tupleElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.EXPRESSION:
+ {
+ Expression expression = (Expression)theEObject;
+ T result = caseExpression(expression);
+ if (result == null) result = caseSequenceElement(expression);
+ 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 = caseSequenceElement(conditionalTestExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.CONDITIONAL_OR_EXPRESSION:
+ {
+ ConditionalOrExpression conditionalOrExpression = (ConditionalOrExpression)theEObject;
+ T result = caseConditionalOrExpression(conditionalOrExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.CONDITIONAL_AND_EXPRESSION:
+ {
+ ConditionalAndExpression conditionalAndExpression = (ConditionalAndExpression)theEObject;
+ T result = caseConditionalAndExpression(conditionalAndExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.INCLUSIVE_OR_EXPRESSION:
+ {
+ InclusiveOrExpression inclusiveOrExpression = (InclusiveOrExpression)theEObject;
+ T result = caseInclusiveOrExpression(inclusiveOrExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.EXCLUSIVE_OR_EXPRESSION:
+ {
+ ExclusiveOrExpression exclusiveOrExpression = (ExclusiveOrExpression)theEObject;
+ T result = caseExclusiveOrExpression(exclusiveOrExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.AND_EXPRESSION:
+ {
+ AndExpression andExpression = (AndExpression)theEObject;
+ T result = caseAndExpression(andExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.EQUALITY_EXPRESSION:
+ {
+ EqualityExpression equalityExpression = (EqualityExpression)theEObject;
+ T result = caseEqualityExpression(equalityExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.CLASSIFICATION_EXPRESSION:
+ {
+ ClassificationExpression classificationExpression = (ClassificationExpression)theEObject;
+ T result = caseClassificationExpression(classificationExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.RELATIONAL_EXPRESSION:
+ {
+ RelationalExpression relationalExpression = (RelationalExpression)theEObject;
+ T result = caseRelationalExpression(relationalExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SHIFT_EXPRESSION:
+ {
+ ShiftExpression shiftExpression = (ShiftExpression)theEObject;
+ T result = caseShiftExpression(shiftExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ADDITIVE_EXPRESSION:
+ {
+ AdditiveExpression additiveExpression = (AdditiveExpression)theEObject;
+ T result = caseAdditiveExpression(additiveExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.MULTIPLICATIVE_EXPRESSION:
+ {
+ MultiplicativeExpression multiplicativeExpression = (MultiplicativeExpression)theEObject;
+ T result = caseMultiplicativeExpression(multiplicativeExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.UNARY_EXPRESSION:
+ {
+ UnaryExpression unaryExpression = (UnaryExpression)theEObject;
+ T result = caseUnaryExpression(unaryExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.PRIMARY_EXPRESSION:
+ {
+ PrimaryExpression primaryExpression = (PrimaryExpression)theEObject;
+ T result = casePrimaryExpression(primaryExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SUFFIX_EXPRESSION:
+ {
+ SuffixExpression suffixExpression = (SuffixExpression)theEObject;
+ T result = caseSuffixExpression(suffixExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.OPERATION_CALL_EXPRESSION:
+ {
+ OperationCallExpression operationCallExpression = (OperationCallExpression)theEObject;
+ T result = caseOperationCallExpression(operationCallExpression);
+ if (result == null) result = caseSuffixExpression(operationCallExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.PROPERTY_CALL_EXPRESSION:
+ {
+ PropertyCallExpression propertyCallExpression = (PropertyCallExpression)theEObject;
+ T result = casePropertyCallExpression(propertyCallExpression);
+ if (result == null) result = caseSuffixExpression(propertyCallExpression);
+ 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 = caseSuffixExpression(linkOperationExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.LINK_OPERATION_TUPLE:
+ {
+ LinkOperationTuple linkOperationTuple = (LinkOperationTuple)theEObject;
+ T result = caseLinkOperationTuple(linkOperationTuple);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.LINK_OPERATION_TUPLE_ELEMENT:
+ {
+ LinkOperationTupleElement linkOperationTupleElement = (LinkOperationTupleElement)theEObject;
+ T result = caseLinkOperationTupleElement(linkOperationTupleElement);
+ 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 = caseSuffixExpression(sequenceOperationExpression);
+ 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 = caseSuffixExpression(sequenceReductionExpression);
+ 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 = caseSuffixExpression(sequenceExpansionExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SELECT_OR_REJECT_OPERATION:
+ {
+ SelectOrRejectOperation selectOrRejectOperation = (SelectOrRejectOperation)theEObject;
+ T result = caseSelectOrRejectOperation(selectOrRejectOperation);
+ if (result == null) result = caseSequenceExpansionExpression(selectOrRejectOperation);
+ if (result == null) result = caseSuffixExpression(selectOrRejectOperation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.COLLECT_OR_ITERATE_OPERATION:
+ {
+ CollectOrIterateOperation collectOrIterateOperation = (CollectOrIterateOperation)theEObject;
+ T result = caseCollectOrIterateOperation(collectOrIterateOperation);
+ if (result == null) result = caseSequenceExpansionExpression(collectOrIterateOperation);
+ if (result == null) result = caseSuffixExpression(collectOrIterateOperation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.FOR_ALL_OR_EXISTS_OR_ONE_OPERATION:
+ {
+ ForAllOrExistsOrOneOperation forAllOrExistsOrOneOperation = (ForAllOrExistsOrOneOperation)theEObject;
+ T result = caseForAllOrExistsOrOneOperation(forAllOrExistsOrOneOperation);
+ if (result == null) result = caseSequenceExpansionExpression(forAllOrExistsOrOneOperation);
+ if (result == null) result = caseSuffixExpression(forAllOrExistsOrOneOperation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.IS_UNIQUE_OPERATION:
+ {
+ IsUniqueOperation isUniqueOperation = (IsUniqueOperation)theEObject;
+ T result = caseIsUniqueOperation(isUniqueOperation);
+ if (result == null) result = caseSequenceExpansionExpression(isUniqueOperation);
+ if (result == null) result = caseSuffixExpression(isUniqueOperation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.VALUE_SPECIFICATION:
+ {
+ ValueSpecification valueSpecification = (ValueSpecification)theEObject;
+ T result = caseValueSpecification(valueSpecification);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.NON_LITERAL_VALUE_SPECIFICATION:
+ {
+ NonLiteralValueSpecification nonLiteralValueSpecification = (NonLiteralValueSpecification)theEObject;
+ T result = caseNonLiteralValueSpecification(nonLiteralValueSpecification);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.PARENTHESIZED_EXPRESSION:
+ {
+ ParenthesizedExpression parenthesizedExpression = (ParenthesizedExpression)theEObject;
+ T result = caseParenthesizedExpression(parenthesizedExpression);
+ if (result == null) result = caseValueSpecification(parenthesizedExpression);
+ if (result == null) result = caseNonLiteralValueSpecification(parenthesizedExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.NULL_EXPRESSION:
+ {
+ NullExpression nullExpression = (NullExpression)theEObject;
+ T result = caseNullExpression(nullExpression);
+ if (result == null) result = caseValueSpecification(nullExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.THIS_EXPRESSION:
+ {
+ ThisExpression thisExpression = (ThisExpression)theEObject;
+ T result = caseThisExpression(thisExpression);
+ if (result == null) result = caseValueSpecification(thisExpression);
+ if (result == null) result = caseNonLiteralValueSpecification(thisExpression);
+ 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 = caseValueSpecification(superInvocationExpression);
+ if (result == null) result = caseNonLiteralValueSpecification(superInvocationExpression);
+ 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 = caseValueSpecification(instanceCreationExpression);
+ if (result == null) result = caseNonLiteralValueSpecification(instanceCreationExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.INSTANCE_CREATION_TUPLE:
+ {
+ InstanceCreationTuple instanceCreationTuple = (InstanceCreationTuple)theEObject;
+ T result = caseInstanceCreationTuple(instanceCreationTuple);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.INSTANCE_CREATION_TUPLE_ELEMENT:
+ {
+ InstanceCreationTupleElement instanceCreationTupleElement = (InstanceCreationTupleElement)theEObject;
+ T result = caseInstanceCreationTupleElement(instanceCreationTupleElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SEQUENCE_CONSTRUCTION_OR_ACCESS_COMPLETION:
+ {
+ SequenceConstructionOrAccessCompletion sequenceConstructionOrAccessCompletion = (SequenceConstructionOrAccessCompletion)theEObject;
+ T result = caseSequenceConstructionOrAccessCompletion(sequenceConstructionOrAccessCompletion);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ACCESS_COMPLETION:
+ {
+ AccessCompletion accessCompletion = (AccessCompletion)theEObject;
+ T result = caseAccessCompletion(accessCompletion);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.PARTIAL_SEQUENCE_CONSTRUCTION_COMPLETION:
+ {
+ PartialSequenceConstructionCompletion partialSequenceConstructionCompletion = (PartialSequenceConstructionCompletion)theEObject;
+ T result = casePartialSequenceConstructionCompletion(partialSequenceConstructionCompletion);
+ 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 = caseSequenceElement(sequenceConstructionExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SEQUENCE_ELEMENT:
+ {
+ SequenceElement sequenceElement = (SequenceElement)theEObject;
+ T result = caseSequenceElement(sequenceElement);
+ 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 = caseSuffixExpression(classExtentExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.BLOCK:
+ {
+ Block block = (Block)theEObject;
+ T result = caseBlock(block);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.STATEMENT_SEQUENCE:
+ {
+ StatementSequence statementSequence = (StatementSequence)theEObject;
+ T result = caseStatementSequence(statementSequence);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.DOCUMENTED_STATEMENT:
+ {
+ DocumentedStatement documentedStatement = (DocumentedStatement)theEObject;
+ T result = caseDocumentedStatement(documentedStatement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.INLINE_STATEMENT:
+ {
+ InlineStatement inlineStatement = (InlineStatement)theEObject;
+ T result = caseInlineStatement(inlineStatement);
+ if (result == null) result = caseStatement(inlineStatement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ANNOTATED_STATEMENT:
+ {
+ AnnotatedStatement annotatedStatement = (AnnotatedStatement)theEObject;
+ T result = caseAnnotatedStatement(annotatedStatement);
+ if (result == null) result = caseStatement(annotatedStatement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.STATEMENT:
+ {
+ Statement statement = (Statement)theEObject;
+ T result = caseStatement(statement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ANNOTATION:
+ {
+ Annotation annotation = (Annotation)theEObject;
+ T result = caseAnnotation(annotation);
+ 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 = 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 = 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 = 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 = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SEQUENTIAL_CLAUSES:
+ {
+ SequentialClauses sequentialClauses = (SequentialClauses)theEObject;
+ T result = caseSequentialClauses(sequentialClauses);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.CONCURRENT_CLAUSES:
+ {
+ ConcurrentClauses concurrentClauses = (ConcurrentClauses)theEObject;
+ T result = caseConcurrentClauses(concurrentClauses);
+ 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 = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.FINAL_CLAUSE:
+ {
+ FinalClause finalClause = (FinalClause)theEObject;
+ T result = caseFinalClause(finalClause);
+ 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 = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SWITCH_CLAUSE:
+ {
+ SwitchClause switchClause = (SwitchClause)theEObject;
+ T result = caseSwitchClause(switchClause);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SWITCH_CASE:
+ {
+ SwitchCase switchCase = (SwitchCase)theEObject;
+ T result = caseSwitchCase(switchCase);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SWITCH_DEFAULT_CLAUSE:
+ {
+ SwitchDefaultClause switchDefaultClause = (SwitchDefaultClause)theEObject;
+ T result = caseSwitchDefaultClause(switchDefaultClause);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.NON_EMPTY_STATEMENT_SEQUENCE:
+ {
+ NonEmptyStatementSequence nonEmptyStatementSequence = (NonEmptyStatementSequence)theEObject;
+ T result = caseNonEmptyStatementSequence(nonEmptyStatementSequence);
+ 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 = 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 = 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 = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.FOR_CONTROL:
+ {
+ ForControl forControl = (ForControl)theEObject;
+ T result = caseForControl(forControl);
+ 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 = 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 = 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 = 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 = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SIMPLE_ACCEPT_STATEMENT_COMPLETION:
+ {
+ SimpleAcceptStatementCompletion simpleAcceptStatementCompletion = (SimpleAcceptStatementCompletion)theEObject;
+ T result = caseSimpleAcceptStatementCompletion(simpleAcceptStatementCompletion);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.COMPOUND_ACCEPT_STATEMENT_COMPLETION:
+ {
+ CompoundAcceptStatementCompletion compoundAcceptStatementCompletion = (CompoundAcceptStatementCompletion)theEObject;
+ T result = caseCompoundAcceptStatementCompletion(compoundAcceptStatementCompletion);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ACCEPT_BLOCK:
+ {
+ AcceptBlock acceptBlock = (AcceptBlock)theEObject;
+ T result = caseAcceptBlock(acceptBlock);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ACCEPT_CLAUSE:
+ {
+ AcceptClause acceptClause = (AcceptClause)theEObject;
+ T result = caseAcceptClause(acceptClause);
+ 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 = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.CLASSIFICATION_CLAUSE:
+ {
+ ClassificationClause classificationClause = (ClassificationClause)theEObject;
+ T result = caseClassificationClause(classificationClause);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.CLASSIFICATION_FROM_CLAUSE:
+ {
+ ClassificationFromClause classificationFromClause = (ClassificationFromClause)theEObject;
+ T result = caseClassificationFromClause(classificationFromClause);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.CLASSIFICATION_TO_CLAUSE:
+ {
+ ClassificationToClause classificationToClause = (ClassificationToClause)theEObject;
+ T result = caseClassificationToClause(classificationToClause);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.RECLASSIFY_ALL_CLAUSE:
+ {
+ ReclassifyAllClause reclassifyAllClause = (ReclassifyAllClause)theEObject;
+ T result = caseReclassifyAllClause(reclassifyAllClause);
+ 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 = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.INVOCATION_OR_ASSIGNEMENT_OR_DECLARATION_STATEMENT:
+ {
+ InvocationOrAssignementOrDeclarationStatement invocationOrAssignementOrDeclarationStatement = (InvocationOrAssignementOrDeclarationStatement)theEObject;
+ T result = caseInvocationOrAssignementOrDeclarationStatement(invocationOrAssignementOrDeclarationStatement);
+ if (result == null) result = caseStatement(invocationOrAssignementOrDeclarationStatement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.SUPER_INVOCATION_STATEMENT:
+ {
+ SuperInvocationStatement superInvocationStatement = (SuperInvocationStatement)theEObject;
+ T result = caseSuperInvocationStatement(superInvocationStatement);
+ if (result == null) result = caseStatement(superInvocationStatement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.THIS_INVOCATION_STATEMENT:
+ {
+ ThisInvocationStatement thisInvocationStatement = (ThisInvocationStatement)theEObject;
+ T result = caseThisInvocationStatement(thisInvocationStatement);
+ if (result == null) result = caseStatement(thisInvocationStatement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.INSTANCE_CREATION_INVOCATION_STATEMENT:
+ {
+ InstanceCreationInvocationStatement instanceCreationInvocationStatement = (InstanceCreationInvocationStatement)theEObject;
+ T result = caseInstanceCreationInvocationStatement(instanceCreationInvocationStatement);
+ if (result == null) result = caseStatement(instanceCreationInvocationStatement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.VARIABLE_DECLARATION_COMPLETION:
+ {
+ VariableDeclarationCompletion variableDeclarationCompletion = (VariableDeclarationCompletion)theEObject;
+ T result = caseVariableDeclarationCompletion(variableDeclarationCompletion);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AlfPackage.ASSIGNMENT_COMPLETION:
+ {
+ AssignmentCompletion assignmentCompletion = (AssignmentCompletion)theEObject;
+ T result = caseAssignmentCompletion(assignmentCompletion);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Test</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>Test</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTest(Test object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>LITERAL</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</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLITERAL(LITERAL object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>BOOLEAN LITERAL</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</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBOOLEAN_LITERAL(BOOLEAN_LITERAL object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>NUMBER LITERAL</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>NUMBER LITERAL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNUMBER_LITERAL(NUMBER_LITERAL object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>INTEGER LITERAL</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>INTEGER LITERAL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseINTEGER_LITERAL(INTEGER_LITERAL object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>UNLIMITED LITERAL</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>UNLIMITED LITERAL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUNLIMITED_LITERAL(UNLIMITED_LITERAL object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>STRING LITERAL</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</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSTRING_LITERAL(STRING_LITERAL 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>Qualified Name Path</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 Path</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQualifiedNamePath(QualifiedNamePath object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Unqualified 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>Unqualified Name</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUnqualifiedName(UnqualifiedName 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>Qualified Name With 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>Qualified Name With Binding</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQualifiedNameWithBinding(QualifiedNameWithBinding 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>Tuple 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>Tuple Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTupleElement(TupleElement 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>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>Conditional 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>Conditional Or Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConditionalOrExpression(ConditionalOrExpression object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Conditional And 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 And Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConditionalAndExpression(ConditionalAndExpression object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Inclusive 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>Inclusive Or Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInclusiveOrExpression(InclusiveOrExpression object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Exclusive 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>Exclusive Or Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExclusiveOrExpression(ExclusiveOrExpression object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>And 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>And Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAndExpression(AndExpression 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>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>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>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>Additive 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>Additive Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAdditiveExpression(AdditiveExpression object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Multiplicative 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>Multiplicative Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMultiplicativeExpression(MultiplicativeExpression 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>Primary 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>Primary Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePrimaryExpression(PrimaryExpression object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Suffix 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>Suffix Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSuffixExpression(SuffixExpression object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Operation Call 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>Operation Call Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOperationCallExpression(OperationCallExpression object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Property Call 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 Call Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePropertyCallExpression(PropertyCallExpression 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>Link Operation 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>Link Operation Tuple</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLinkOperationTuple(LinkOperationTuple object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Link Operation Tuple 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>Link Operation Tuple Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLinkOperationTupleElement(LinkOperationTupleElement 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>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 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>Select Or Reject Operation</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 Operation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSelectOrRejectOperation(SelectOrRejectOperation object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Collect Or Iterate Operation</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 Operation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCollectOrIterateOperation(CollectOrIterateOperation object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>For All Or Exists Or One Operation</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 Operation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseForAllOrExistsOrOneOperation(ForAllOrExistsOrOneOperation object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Is Unique Operation</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 Operation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIsUniqueOperation(IsUniqueOperation object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Value Specification</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>Value Specification</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseValueSpecification(ValueSpecification object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Non Literal Value Specification</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 Literal Value Specification</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNonLiteralValueSpecification(NonLiteralValueSpecification object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Parenthesized 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>Parenthesized Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseParenthesizedExpression(ParenthesizedExpression object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Null 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>Null Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNullExpression(NullExpression 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>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>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>Instance Creation 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>Instance Creation Tuple</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInstanceCreationTuple(InstanceCreationTuple object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Instance Creation Tuple 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>Instance Creation Tuple Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInstanceCreationTupleElement(InstanceCreationTupleElement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sequence Construction Or Access Completion</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 Or Access Completion</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSequenceConstructionOrAccessCompletion(SequenceConstructionOrAccessCompletion object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Access Completion</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>Access Completion</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAccessCompletion(AccessCompletion object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Partial Sequence Construction Completion</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>Partial Sequence Construction Completion</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePartialSequenceConstructionCompletion(PartialSequenceConstructionCompletion 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 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>Sequence Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSequenceElement(SequenceElement 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>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>Statement Sequence</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 Sequence</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStatementSequence(StatementSequence object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Documented 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>Documented Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDocumentedStatement(DocumentedStatement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Inline 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>Inline 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>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>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>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>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>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>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>Sequential 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>Sequential Clauses</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSequentialClauses(SequentialClauses 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>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>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>Final Clause</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFinalClause(FinalClause 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>Switch Case</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 Case</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSwitchCase(SwitchCase object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Switch Default 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 Default Clause</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSwitchDefaultClause(SwitchDefaultClause object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Non Empty Statement Sequence</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 Empty Statement Sequence</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNonEmptyStatementSequence(NonEmptyStatementSequence 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>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>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>For Control</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 Control</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseForControl(ForControl 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>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>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>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>Simple Accept Statement Completion</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>Simple Accept Statement Completion</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSimpleAcceptStatementCompletion(SimpleAcceptStatementCompletion object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Compound Accept Statement Completion</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>Compound Accept Statement Completion</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCompoundAcceptStatementCompletion(CompoundAcceptStatementCompletion 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>Accept 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>Accept Clause</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAcceptClause(AcceptClause 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>Classification 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>Classification Clause</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseClassificationClause(ClassificationClause object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Classification From 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>Classification From Clause</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseClassificationFromClause(ClassificationFromClause object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Classification To 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>Classification To Clause</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseClassificationToClause(ClassificationToClause object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Reclassify All 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>Reclassify All Clause</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseReclassifyAllClause(ReclassifyAllClause 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>Invocation Or Assignement Or 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>Invocation Or Assignement Or Declaration Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInvocationOrAssignementOrDeclarationStatement(InvocationOrAssignementOrDeclarationStatement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Super Invocation 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>Super Invocation Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSuperInvocationStatement(SuperInvocationStatement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>This Invocation 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>This Invocation Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseThisInvocationStatement(ThisInvocationStatement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Instance Creation Invocation 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>Instance Creation Invocation Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInstanceCreationInvocationStatement(InstanceCreationInvocationStatement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Variable Declaration Completion</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>Variable Declaration Completion</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVariableDeclarationCompletion(VariableDeclarationCompletion object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Assignment Completion</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 Completion</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAssignmentCompletion(AssignmentCompletion 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/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parseTreeConstruction/AlfParsetreeConstructor.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parseTreeConstruction/AlfParsetreeConstructor.java
new file mode 100644
index 00000000000..0d9d5e9f86c
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parseTreeConstruction/AlfParsetreeConstructor.java
@@ -0,0 +1,19276 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.papyrus.alf.parseTreeConstruction;
+
+import org.eclipse.emf.ecore.*;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parsetree.reconstr.IEObjectConsumer;
+import org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor;
+
+import org.eclipse.papyrus.alf.services.AlfGrammarAccess;
+
+import com.google.inject.Inject;
+
+@SuppressWarnings("all")
+public class AlfParsetreeConstructor extends AbstractParseTreeConstructor {
+
+ @Inject
+ private AlfGrammarAccess grammarAccess;
+
+ @Override
+ protected AbstractToken getRootToken(IEObjectConsumer inst) {
+ return new ThisRootNode(inst);
+ }
+
+protected class ThisRootNode extends RootToken {
+ public ThisRootNode(IEObjectConsumer inst) {
+ super(inst);
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Test_Group(this, this, 0, inst);
+ case 1: return new LITERAL_Alternatives(this, this, 1, inst);
+ case 2: return new BOOLEAN_LITERAL_ValueAssignment(this, this, 2, inst);
+ case 3: return new NUMBER_LITERAL_Alternatives(this, this, 3, inst);
+ case 4: return new INTEGER_LITERAL_ValueAssignment(this, this, 4, inst);
+ case 5: return new UNLIMITED_LITERAL_ValueAssignment(this, this, 5, inst);
+ case 6: return new STRING_LITERAL_ValueAssignment(this, this, 6, inst);
+ case 7: return new NameExpression_Group(this, this, 7, inst);
+ case 8: return new QualifiedNamePath_Group(this, this, 8, inst);
+ case 9: return new UnqualifiedName_Group(this, this, 9, inst);
+ case 10: return new TemplateBinding_Group(this, this, 10, inst);
+ case 11: return new NamedTemplateBinding_Group(this, this, 11, inst);
+ case 12: return new QualifiedNameWithBinding_Group(this, this, 12, inst);
+ case 13: return new Tuple_Group(this, this, 13, inst);
+ case 14: return new TupleElement_ArgumentAssignment(this, this, 14, inst);
+ case 15: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 15, inst);
+ case 16: return new ConditionalTestExpression_Group(this, this, 16, inst);
+ case 17: return new ConditionalOrExpression_Group(this, this, 17, inst);
+ case 18: return new ConditionalAndExpression_Group(this, this, 18, inst);
+ case 19: return new InclusiveOrExpression_Group(this, this, 19, inst);
+ case 20: return new ExclusiveOrExpression_Group(this, this, 20, inst);
+ case 21: return new AndExpression_Group(this, this, 21, inst);
+ case 22: return new EqualityExpression_Group(this, this, 22, inst);
+ case 23: return new ClassificationExpression_Group(this, this, 23, inst);
+ case 24: return new RelationalExpression_Group(this, this, 24, inst);
+ case 25: return new ShiftExpression_Group(this, this, 25, inst);
+ case 26: return new AdditiveExpression_Group(this, this, 26, inst);
+ case 27: return new MultiplicativeExpression_Group(this, this, 27, inst);
+ case 28: return new UnaryExpression_Group(this, this, 28, inst);
+ case 29: return new PrimaryExpression_PrefixAssignment(this, this, 29, inst);
+ case 30: return new SuffixExpression_Alternatives(this, this, 30, inst);
+ case 31: return new OperationCallExpression_Group(this, this, 31, inst);
+ case 32: return new PropertyCallExpression_Group(this, this, 32, inst);
+ case 33: return new LinkOperationExpression_Group(this, this, 33, inst);
+ case 34: return new LinkOperationTuple_Group(this, this, 34, inst);
+ case 35: return new LinkOperationTupleElement_Group(this, this, 35, inst);
+ case 36: return new SequenceOperationExpression_Group(this, this, 36, inst);
+ case 37: return new SequenceReductionExpression_Group(this, this, 37, inst);
+ case 38: return new SequenceExpansionExpression_Alternatives(this, this, 38, inst);
+ case 39: return new SelectOrRejectOperation_Group(this, this, 39, inst);
+ case 40: return new CollectOrIterateOperation_Group(this, this, 40, inst);
+ case 41: return new ForAllOrExistsOrOneOperation_Group(this, this, 41, inst);
+ case 42: return new IsUniqueOperation_Group(this, this, 42, inst);
+ case 43: return new ValueSpecification_Alternatives(this, this, 43, inst);
+ case 44: return new NonLiteralValueSpecification_Alternatives(this, this, 44, inst);
+ case 45: return new ParenthesizedExpression_Group(this, this, 45, inst);
+ case 46: return new NullExpression_Group(this, this, 46, inst);
+ case 47: return new ThisExpression_Group(this, this, 47, inst);
+ case 48: return new SuperInvocationExpression_Group(this, this, 48, inst);
+ case 49: return new InstanceCreationExpression_Group(this, this, 49, inst);
+ case 50: return new InstanceCreationTuple_Group(this, this, 50, inst);
+ case 51: return new InstanceCreationTupleElement_Group(this, this, 51, inst);
+ case 52: return new SequenceConstructionOrAccessCompletion_Alternatives(this, this, 52, inst);
+ case 53: return new AccessCompletion_Group(this, this, 53, inst);
+ case 54: return new PartialSequenceConstructionCompletion_Group(this, this, 54, inst);
+ case 55: return new SequenceConstructionExpression_Group(this, this, 55, inst);
+ case 56: return new SequenceElement_Alternatives(this, this, 56, inst);
+ case 57: return new ClassExtentExpression_Group(this, this, 57, inst);
+ case 58: return new Block_Group(this, this, 58, inst);
+ case 59: return new StatementSequence_StatementsAssignment(this, this, 59, inst);
+ case 60: return new DocumentedStatement_Group(this, this, 60, inst);
+ case 61: return new InlineStatement_Group(this, this, 61, inst);
+ case 62: return new AnnotatedStatement_Group(this, this, 62, inst);
+ case 63: return new Statement_Alternatives(this, this, 63, inst);
+ case 64: return new Annotation_Group(this, this, 64, inst);
+ case 65: return new BlockStatement_BlockAssignment(this, this, 65, inst);
+ case 66: return new EmptyStatement_Group(this, this, 66, inst);
+ case 67: return new LocalNameDeclarationStatement_Group(this, this, 67, inst);
+ case 68: return new IfStatement_Group(this, this, 68, inst);
+ case 69: return new SequentialClauses_Group(this, this, 69, inst);
+ case 70: return new ConcurrentClauses_Group(this, this, 70, inst);
+ case 71: return new NonFinalClause_Group(this, this, 71, inst);
+ case 72: return new FinalClause_Group(this, this, 72, inst);
+ case 73: return new SwitchStatement_Group(this, this, 73, inst);
+ case 74: return new SwitchClause_Group(this, this, 74, inst);
+ case 75: return new SwitchCase_Group(this, this, 75, inst);
+ case 76: return new SwitchDefaultClause_Group(this, this, 76, inst);
+ case 77: return new NonEmptyStatementSequence_StatementAssignment(this, this, 77, inst);
+ case 78: return new WhileStatement_Group(this, this, 78, inst);
+ case 79: return new DoStatement_Group(this, this, 79, inst);
+ case 80: return new ForStatement_Group(this, this, 80, inst);
+ case 81: return new ForControl_Group(this, this, 81, inst);
+ case 82: return new LoopVariableDefinition_Alternatives(this, this, 82, inst);
+ case 83: return new BreakStatement_Group(this, this, 83, inst);
+ case 84: return new ReturnStatement_Group(this, this, 84, inst);
+ case 85: return new AcceptStatement_Group(this, this, 85, inst);
+ case 86: return new SimpleAcceptStatementCompletion_Group(this, this, 86, inst);
+ case 87: return new CompoundAcceptStatementCompletion_Group(this, this, 87, inst);
+ case 88: return new AcceptBlock_Group(this, this, 88, inst);
+ case 89: return new AcceptClause_Group(this, this, 89, inst);
+ case 90: return new ClassifyStatement_Group(this, this, 90, inst);
+ case 91: return new ClassificationClause_Alternatives(this, this, 91, inst);
+ case 92: return new ClassificationFromClause_Group(this, this, 92, inst);
+ case 93: return new ClassificationToClause_Group(this, this, 93, inst);
+ case 94: return new ReclassifyAllClause_Group(this, this, 94, inst);
+ case 95: return new QualifiedNameList_Group(this, this, 95, inst);
+ case 96: return new InvocationOrAssignementOrDeclarationStatement_Group(this, this, 96, inst);
+ case 97: return new SuperInvocationStatement_Group(this, this, 97, inst);
+ case 98: return new ThisInvocationStatement_Group(this, this, 98, inst);
+ case 99: return new InstanceCreationInvocationStatement_Group(this, this, 99, inst);
+ case 100: return new VariableDeclarationCompletion_Group(this, this, 100, inst);
+ case 101: return new AssignmentCompletion_Group(this, this, 101, inst);
+ default: return null;
+ }
+ }
+}
+
+
+/************ begin Rule Test ****************
+ *
+ * / *
+ * Test rule
+ * * / Test:
+ * ("testExpression" expression+=Expression)* ("testAssignmentExpression" assignExpression+=AssignmentCompletion)*
+ * ("testStatement" statements+=Statement)* ("testBlock" block=Block);
+ *
+ **/
+
+// ("testExpression" expression+=Expression)* ("testAssignmentExpression" assignExpression+=AssignmentCompletion)*
+// ("testStatement" statements+=Statement)* ("testBlock" block=Block)
+protected class Test_Group extends GroupToken {
+
+ public Test_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTestAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Test_Group_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTestRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// ("testExpression" expression+=Expression)*
+protected class Test_Group_0 extends GroupToken {
+
+ public Test_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTestAccess().getGroup_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Test_ExpressionAssignment_0_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "testExpression"
+protected class Test_TestExpressionKeyword_0_0 extends KeywordToken {
+
+ public Test_TestExpressionKeyword_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTestAccess().getTestExpressionKeyword_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Test_Group_0(lastRuleCallOrigin, this, 0, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
+ }
+ }
+
+}
+
+// expression+=Expression
+protected class Test_ExpressionAssignment_0_1 extends AssignmentToken {
+
+ public Test_ExpressionAssignment_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTestAccess().getExpressionAssignment_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expression",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTestAccess().getExpressionExpressionParserRuleCall_0_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new Test_TestExpressionKeyword_0_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// ("testAssignmentExpression" assignExpression+=AssignmentCompletion)*
+protected class Test_Group_1 extends GroupToken {
+
+ public Test_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTestAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Test_AssignExpressionAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "testAssignmentExpression"
+protected class Test_TestAssignmentExpressionKeyword_1_0 extends KeywordToken {
+
+ public Test_TestAssignmentExpressionKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTestAccess().getTestAssignmentExpressionKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Test_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Test_Group_0(lastRuleCallOrigin, this, 1, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 2, inst);
+ }
+ }
+
+}
+
+// assignExpression+=AssignmentCompletion
+protected class Test_AssignExpressionAssignment_1_1 extends AssignmentToken {
+
+ public Test_AssignExpressionAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTestAccess().getAssignExpressionAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AssignmentCompletion_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("assignExpression",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assignExpression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAssignmentCompletionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTestAccess().getAssignExpressionAssignmentCompletionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new Test_TestAssignmentExpressionKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// ("testStatement" statements+=Statement)*
+protected class Test_Group_2 extends GroupToken {
+
+ public Test_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTestAccess().getGroup_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Test_StatementsAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "testStatement"
+protected class Test_TestStatementKeyword_2_0 extends KeywordToken {
+
+ public Test_TestStatementKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTestAccess().getTestStatementKeyword_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Test_Group_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Test_Group_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new Test_Group_0(lastRuleCallOrigin, this, 2, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 3, inst);
+ }
+ }
+
+}
+
+// statements+=Statement
+protected class Test_StatementsAssignment_2_1 extends AssignmentToken {
+
+ public Test_StatementsAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTestAccess().getStatementsAssignment_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Statement_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("statements",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("statements");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getStatementRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTestAccess().getStatementsStatementParserRuleCall_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new Test_TestStatementKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// "testBlock" block=Block
+protected class Test_Group_3 extends GroupToken {
+
+ public Test_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTestAccess().getGroup_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Test_BlockAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "testBlock"
+protected class Test_TestBlockKeyword_3_0 extends KeywordToken {
+
+ public Test_TestBlockKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTestAccess().getTestBlockKeyword_3_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Test_Group_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Test_Group_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new Test_Group_0(lastRuleCallOrigin, this, 2, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 3, inst);
+ }
+ }
+
+}
+
+// block=Block
+protected class Test_BlockAssignment_3_1 extends AssignmentToken {
+
+ public Test_BlockAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTestAccess().getBlockAssignment_3_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Block_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("block",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("block");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getBlockRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTestAccess().getBlockBlockParserRuleCall_3_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new Test_TestBlockKeyword_3_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule Test ****************/
+
+
+/************ begin Rule LITERAL ****************
+ *
+ * //('testStatementSequence' statement += StatementSequence)* ;
+ * / *********************************
+ * * PrimitiveLiterals
+ * ********************************** / LITERAL:
+ * BOOLEAN_LITERAL | NUMBER_LITERAL | STRING_LITERAL;
+ *
+ **/
+
+// BOOLEAN_LITERAL | NUMBER_LITERAL | STRING_LITERAL
+protected class LITERAL_Alternatives extends AlternativesToken {
+
+ public LITERAL_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getLITERALAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LITERAL_BOOLEAN_LITERALParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new LITERAL_NUMBER_LITERALParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new LITERAL_STRING_LITERALParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBOOLEAN_LITERALRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getINTEGER_LITERALRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSTRING_LITERALRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUNLIMITED_LITERALRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// BOOLEAN_LITERAL
+protected class LITERAL_BOOLEAN_LITERALParserRuleCall_0 extends RuleCallToken {
+
+ public LITERAL_BOOLEAN_LITERALParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getLITERALAccess().getBOOLEAN_LITERALParserRuleCall_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new BOOLEAN_LITERAL_ValueAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBOOLEAN_LITERALRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(BOOLEAN_LITERAL_ValueAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// NUMBER_LITERAL
+protected class LITERAL_NUMBER_LITERALParserRuleCall_1 extends RuleCallToken {
+
+ public LITERAL_NUMBER_LITERALParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getLITERALAccess().getNUMBER_LITERALParserRuleCall_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NUMBER_LITERAL_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getINTEGER_LITERALRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUNLIMITED_LITERALRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(NUMBER_LITERAL_Alternatives.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// STRING_LITERAL
+protected class LITERAL_STRING_LITERALParserRuleCall_2 extends RuleCallToken {
+
+ public LITERAL_STRING_LITERALParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getLITERALAccess().getSTRING_LITERALParserRuleCall_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new STRING_LITERAL_ValueAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSTRING_LITERALRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(STRING_LITERAL_ValueAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+/************ end Rule LITERAL ****************/
+
+
+/************ begin Rule BOOLEAN_LITERAL ****************
+ *
+ * // (suffix = SuffixExpression) ? ;
+ * BOOLEAN_LITERAL:
+ * value=BooleanValue;
+ *
+ **/
+
+// value=BooleanValue
+protected class BOOLEAN_LITERAL_ValueAssignment extends AssignmentToken {
+
+ public BOOLEAN_LITERAL_ValueAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getBOOLEAN_LITERALAccess().getValueAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBOOLEAN_LITERALRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
+ if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getBOOLEAN_LITERALAccess().getValueBooleanValueEnumRuleCall_0(), value, null)) {
+ type = AssignmentType.ENUM_RULE_CALL;
+ element = grammarAccess.getBOOLEAN_LITERALAccess().getValueBooleanValueEnumRuleCall_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule BOOLEAN_LITERAL ****************/
+
+
+/************ begin Rule NUMBER_LITERAL ****************
+ *
+ * NUMBER_LITERAL:
+ * INTEGER_LITERAL | UNLIMITED_LITERAL;
+ *
+ **/
+
+// INTEGER_LITERAL | UNLIMITED_LITERAL
+protected class NUMBER_LITERAL_Alternatives extends AlternativesToken {
+
+ public NUMBER_LITERAL_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getNUMBER_LITERALAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NUMBER_LITERAL_INTEGER_LITERALParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new NUMBER_LITERAL_UNLIMITED_LITERALParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getINTEGER_LITERALRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUNLIMITED_LITERALRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// INTEGER_LITERAL
+protected class NUMBER_LITERAL_INTEGER_LITERALParserRuleCall_0 extends RuleCallToken {
+
+ public NUMBER_LITERAL_INTEGER_LITERALParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getNUMBER_LITERALAccess().getINTEGER_LITERALParserRuleCall_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new INTEGER_LITERAL_ValueAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getINTEGER_LITERALRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(INTEGER_LITERAL_ValueAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// UNLIMITED_LITERAL
+protected class NUMBER_LITERAL_UNLIMITED_LITERALParserRuleCall_1 extends RuleCallToken {
+
+ public NUMBER_LITERAL_UNLIMITED_LITERALParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getNUMBER_LITERALAccess().getUNLIMITED_LITERALParserRuleCall_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UNLIMITED_LITERAL_ValueAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getUNLIMITED_LITERALRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(UNLIMITED_LITERAL_ValueAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+/************ end Rule NUMBER_LITERAL ****************/
+
+
+/************ begin Rule INTEGER_LITERAL ****************
+ *
+ * // (suffix = SuffixExpression) ? ;
+ * INTEGER_LITERAL:
+ * value=IntegerValue;
+ *
+ **/
+
+// value=IntegerValue
+protected class INTEGER_LITERAL_ValueAssignment extends AssignmentToken {
+
+ public INTEGER_LITERAL_ValueAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getINTEGER_LITERALAccess().getValueAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getINTEGER_LITERALRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getINTEGER_LITERALAccess().getValueIntegerValueTerminalRuleCall_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getINTEGER_LITERALAccess().getValueIntegerValueTerminalRuleCall_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule INTEGER_LITERAL ****************/
+
+
+/************ begin Rule UNLIMITED_LITERAL ****************
+ *
+ * // (suffix = SuffixExpression) ? ;
+ * UNLIMITED_LITERAL:
+ * value="*";
+ *
+ **/
+
+// value="*"
+protected class UNLIMITED_LITERAL_ValueAssignment extends AssignmentToken {
+
+ public UNLIMITED_LITERAL_ValueAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getUNLIMITED_LITERALAccess().getValueAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getUNLIMITED_LITERALRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getUNLIMITED_LITERALAccess().getValueAsteriskKeyword_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getUNLIMITED_LITERALAccess().getValueAsteriskKeyword_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule UNLIMITED_LITERAL ****************/
+
+
+/************ begin Rule STRING_LITERAL ****************
+ *
+ * // (suffix = SuffixExpression) ?;
+ * STRING_LITERAL:
+ * value=STRING;
+ *
+ **/
+
+// value=STRING
+protected class STRING_LITERAL_ValueAssignment extends AssignmentToken {
+
+ public STRING_LITERAL_ValueAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSTRING_LITERALAccess().getValueAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSTRING_LITERALRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getSTRING_LITERALAccess().getValueSTRINGTerminalRuleCall_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getSTRING_LITERALAccess().getValueSTRINGTerminalRuleCall_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+/************ end Rule STRING_LITERAL ****************/
+
+
+/************ begin Rule NameExpression ****************
+ *
+ * NameExpression:
+ * (prefixOp=("++" | "--") path=QualifiedNamePath? id=ID | path=QualifiedNamePath? id=ID (invocationCompletion=Tuple |
+ * sequenceConstructionCompletion=SequenceConstructionOrAccessCompletion | postfixOp=("++" | "--"))?)
+ * suffix=SuffixExpression?;
+ *
+ **/
+
+// (prefixOp=("++" | "--") path=QualifiedNamePath? id=ID | path=QualifiedNamePath? id=ID (invocationCompletion=Tuple |
+// sequenceConstructionCompletion=SequenceConstructionOrAccessCompletion | postfixOp=("++" | "--"))?)
+// suffix=SuffixExpression?
+protected class NameExpression_Group extends GroupToken {
+
+ public NameExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNameExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameExpression_SuffixAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new NameExpression_Alternatives_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNameExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// prefixOp=("++" | "--") path=QualifiedNamePath? id=ID | path=QualifiedNamePath? id=ID (invocationCompletion=Tuple |
+// sequenceConstructionCompletion=SequenceConstructionOrAccessCompletion | postfixOp=("++" | "--"))?
+protected class NameExpression_Alternatives_0 extends AlternativesToken {
+
+ public NameExpression_Alternatives_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getNameExpressionAccess().getAlternatives_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameExpression_Group_0_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new NameExpression_Group_0_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// prefixOp=("++" | "--") path=QualifiedNamePath? id=ID
+protected class NameExpression_Group_0_0 extends GroupToken {
+
+ public NameExpression_Group_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNameExpressionAccess().getGroup_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameExpression_IdAssignment_0_0_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// prefixOp=("++" | "--")
+protected class NameExpression_PrefixOpAssignment_0_0_0 extends AssignmentToken {
+
+ public NameExpression_PrefixOpAssignment_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNameExpressionAccess().getPrefixOpAssignment_0_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("prefixOp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("prefixOp");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getNameExpressionAccess().getPrefixOpPlusSignPlusSignKeyword_0_0_0_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getNameExpressionAccess().getPrefixOpPlusSignPlusSignKeyword_0_0_0_0_0();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getNameExpressionAccess().getPrefixOpHyphenMinusHyphenMinusKeyword_0_0_0_0_1(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getNameExpressionAccess().getPrefixOpHyphenMinusHyphenMinusKeyword_0_0_0_0_1();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// path=QualifiedNamePath?
+protected class NameExpression_PathAssignment_0_0_1 extends AssignmentToken {
+
+ public NameExpression_PathAssignment_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNameExpressionAccess().getPathAssignment_0_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNamePath_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("path",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("path");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNamePathRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNameExpressionAccess().getPathQualifiedNamePathParserRuleCall_0_0_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NameExpression_PrefixOpAssignment_0_0_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// id=ID
+protected class NameExpression_IdAssignment_0_0_2 extends AssignmentToken {
+
+ public NameExpression_IdAssignment_0_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNameExpressionAccess().getIdAssignment_0_0_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameExpression_PathAssignment_0_0_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new NameExpression_PrefixOpAssignment_0_0_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getNameExpressionAccess().getIdIDTerminalRuleCall_0_0_2_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getNameExpressionAccess().getIdIDTerminalRuleCall_0_0_2_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+
+// path=QualifiedNamePath? id=ID (invocationCompletion=Tuple |
+// sequenceConstructionCompletion=SequenceConstructionOrAccessCompletion | postfixOp=("++" | "--"))?
+protected class NameExpression_Group_0_1 extends GroupToken {
+
+ public NameExpression_Group_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNameExpressionAccess().getGroup_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameExpression_Alternatives_0_1_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new NameExpression_IdAssignment_0_1_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// path=QualifiedNamePath?
+protected class NameExpression_PathAssignment_0_1_0 extends AssignmentToken {
+
+ public NameExpression_PathAssignment_0_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNameExpressionAccess().getPathAssignment_0_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNamePath_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("path",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("path");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNamePathRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNameExpressionAccess().getPathQualifiedNamePathParserRuleCall_0_1_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// id=ID
+protected class NameExpression_IdAssignment_0_1_1 extends AssignmentToken {
+
+ public NameExpression_IdAssignment_0_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNameExpressionAccess().getIdAssignment_0_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameExpression_PathAssignment_0_1_0(lastRuleCallOrigin, this, 0, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getNameExpressionAccess().getIdIDTerminalRuleCall_0_1_1_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getNameExpressionAccess().getIdIDTerminalRuleCall_0_1_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// (invocationCompletion=Tuple | sequenceConstructionCompletion=SequenceConstructionOrAccessCompletion | postfixOp=("++" |
+// "--"))?
+protected class NameExpression_Alternatives_0_1_2 extends AlternativesToken {
+
+ public NameExpression_Alternatives_0_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getNameExpressionAccess().getAlternatives_0_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameExpression_InvocationCompletionAssignment_0_1_2_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new NameExpression_SequenceConstructionCompletionAssignment_0_1_2_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new NameExpression_PostfixOpAssignment_0_1_2_2(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// invocationCompletion=Tuple
+protected class NameExpression_InvocationCompletionAssignment_0_1_2_0 extends AssignmentToken {
+
+ public NameExpression_InvocationCompletionAssignment_0_1_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNameExpressionAccess().getInvocationCompletionAssignment_0_1_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Tuple_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("invocationCompletion",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("invocationCompletion");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTupleRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNameExpressionAccess().getInvocationCompletionTupleParserRuleCall_0_1_2_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NameExpression_IdAssignment_0_1_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// sequenceConstructionCompletion=SequenceConstructionOrAccessCompletion
+protected class NameExpression_SequenceConstructionCompletionAssignment_0_1_2_1 extends AssignmentToken {
+
+ public NameExpression_SequenceConstructionCompletionAssignment_0_1_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNameExpressionAccess().getSequenceConstructionCompletionAssignment_0_1_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceConstructionOrAccessCompletion_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("sequenceConstructionCompletion",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sequenceConstructionCompletion");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSequenceConstructionOrAccessCompletionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNameExpressionAccess().getSequenceConstructionCompletionSequenceConstructionOrAccessCompletionParserRuleCall_0_1_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NameExpression_IdAssignment_0_1_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// postfixOp=("++" | "--")
+protected class NameExpression_PostfixOpAssignment_0_1_2_2 extends AssignmentToken {
+
+ public NameExpression_PostfixOpAssignment_0_1_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNameExpressionAccess().getPostfixOpAssignment_0_1_2_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameExpression_IdAssignment_0_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("postfixOp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("postfixOp");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getNameExpressionAccess().getPostfixOpPlusSignPlusSignKeyword_0_1_2_2_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getNameExpressionAccess().getPostfixOpPlusSignPlusSignKeyword_0_1_2_2_0_0();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getNameExpressionAccess().getPostfixOpHyphenMinusHyphenMinusKeyword_0_1_2_2_0_1(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getNameExpressionAccess().getPostfixOpHyphenMinusHyphenMinusKeyword_0_1_2_2_0_1();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+
+
+
+// suffix=SuffixExpression?
+protected class NameExpression_SuffixAssignment_1 extends AssignmentToken {
+
+ public NameExpression_SuffixAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNameExpressionAccess().getSuffixAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuffixExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("suffix",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("suffix");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSuffixExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNameExpressionAccess().getSuffixSuffixExpressionParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NameExpression_Alternatives_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule NameExpression ****************/
+
+
+/************ begin Rule QualifiedNamePath ****************
+ *
+ * QualifiedNamePath:
+ * (namespace+=UnqualifiedName "::")+;
+ *
+ **/
+
+// (namespace+=UnqualifiedName "::")+
+protected class QualifiedNamePath_Group extends GroupToken {
+
+ public QualifiedNamePath_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getQualifiedNamePathAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNamePath_ColonColonKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// namespace+=UnqualifiedName
+protected class QualifiedNamePath_NamespaceAssignment_0 extends AssignmentToken {
+
+ public QualifiedNamePath_NamespaceAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getQualifiedNamePathAccess().getNamespaceAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnqualifiedName_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("namespace",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("namespace");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getUnqualifiedNameRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getQualifiedNamePathAccess().getNamespaceUnqualifiedNameParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new QualifiedNamePath_Group(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index - 1, consumed);
+ }
+ }
+}
+
+// "::"
+protected class QualifiedNamePath_ColonColonKeyword_1 extends KeywordToken {
+
+ public QualifiedNamePath_ColonColonKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getQualifiedNamePathAccess().getColonColonKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNamePath_NamespaceAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule QualifiedNamePath ****************/
+
+
+/************ begin Rule UnqualifiedName ****************
+ *
+ * UnqualifiedName:
+ * name=ID templateBinding=TemplateBinding?;
+ *
+ **/
+
+// name=ID templateBinding=TemplateBinding?
+protected class UnqualifiedName_Group extends GroupToken {
+
+ public UnqualifiedName_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getUnqualifiedNameAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnqualifiedName_TemplateBindingAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new UnqualifiedName_NameAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getUnqualifiedNameRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// name=ID
+protected class UnqualifiedName_NameAssignment_0 extends AssignmentToken {
+
+ public UnqualifiedName_NameAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getUnqualifiedNameAccess().getNameAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getUnqualifiedNameAccess().getNameIDTerminalRuleCall_0_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getUnqualifiedNameAccess().getNameIDTerminalRuleCall_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// templateBinding=TemplateBinding?
+protected class UnqualifiedName_TemplateBindingAssignment_1 extends AssignmentToken {
+
+ public UnqualifiedName_TemplateBindingAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getUnqualifiedNameAccess().getTemplateBindingAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TemplateBinding_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("templateBinding",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("templateBinding");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTemplateBindingRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getUnqualifiedNameAccess().getTemplateBindingTemplateBindingParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new UnqualifiedName_NameAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule UnqualifiedName ****************/
+
+
+/************ begin Rule TemplateBinding ****************
+ *
+ * TemplateBinding:
+ * "<" bindings+=NamedTemplateBinding ("," bindings+=NamedTemplateBinding)* ">";
+ *
+ **/
+
+// "<" bindings+=NamedTemplateBinding ("," bindings+=NamedTemplateBinding)* ">"
+protected class TemplateBinding_Group extends GroupToken {
+
+ public TemplateBinding_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTemplateBindingAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TemplateBinding_GreaterThanSignKeyword_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTemplateBindingRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "<"
+protected class TemplateBinding_LessThanSignKeyword_0 extends KeywordToken {
+
+ public TemplateBinding_LessThanSignKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTemplateBindingAccess().getLessThanSignKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// bindings+=NamedTemplateBinding
+protected class TemplateBinding_BindingsAssignment_1 extends AssignmentToken {
+
+ public TemplateBinding_BindingsAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTemplateBindingAccess().getBindingsAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NamedTemplateBinding_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("bindings",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("bindings");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNamedTemplateBindingRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTemplateBindingAccess().getBindingsNamedTemplateBindingParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new TemplateBinding_LessThanSignKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("," bindings+=NamedTemplateBinding)*
+protected class TemplateBinding_Group_2 extends GroupToken {
+
+ public TemplateBinding_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTemplateBindingAccess().getGroup_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TemplateBinding_BindingsAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class TemplateBinding_CommaKeyword_2_0 extends KeywordToken {
+
+ public TemplateBinding_CommaKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTemplateBindingAccess().getCommaKeyword_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TemplateBinding_Group_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TemplateBinding_BindingsAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// bindings+=NamedTemplateBinding
+protected class TemplateBinding_BindingsAssignment_2_1 extends AssignmentToken {
+
+ public TemplateBinding_BindingsAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTemplateBindingAccess().getBindingsAssignment_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NamedTemplateBinding_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("bindings",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("bindings");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNamedTemplateBindingRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTemplateBindingAccess().getBindingsNamedTemplateBindingParserRuleCall_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new TemplateBinding_CommaKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// ">"
+protected class TemplateBinding_GreaterThanSignKeyword_3 extends KeywordToken {
+
+ public TemplateBinding_GreaterThanSignKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTemplateBindingAccess().getGreaterThanSignKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TemplateBinding_Group_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new TemplateBinding_BindingsAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule TemplateBinding ****************/
+
+
+/************ begin Rule NamedTemplateBinding ****************
+ *
+ * NamedTemplateBinding:
+ * formal=ID "=>" actual=QualifiedNameWithBinding;
+ *
+ **/
+
+// formal=ID "=>" actual=QualifiedNameWithBinding
+protected class NamedTemplateBinding_Group extends GroupToken {
+
+ public NamedTemplateBinding_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNamedTemplateBindingAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NamedTemplateBinding_ActualAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNamedTemplateBindingRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// formal=ID
+protected class NamedTemplateBinding_FormalAssignment_0 extends AssignmentToken {
+
+ public NamedTemplateBinding_FormalAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNamedTemplateBindingAccess().getFormalAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("formal",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("formal");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getNamedTemplateBindingAccess().getFormalIDTerminalRuleCall_0_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getNamedTemplateBindingAccess().getFormalIDTerminalRuleCall_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// "=>"
+protected class NamedTemplateBinding_EqualsSignGreaterThanSignKeyword_1 extends KeywordToken {
+
+ public NamedTemplateBinding_EqualsSignGreaterThanSignKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getNamedTemplateBindingAccess().getEqualsSignGreaterThanSignKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NamedTemplateBinding_FormalAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// actual=QualifiedNameWithBinding
+protected class NamedTemplateBinding_ActualAssignment_2 extends AssignmentToken {
+
+ public NamedTemplateBinding_ActualAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNamedTemplateBindingAccess().getActualAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNameWithBinding_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("actual",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("actual");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNameWithBindingRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNamedTemplateBindingAccess().getActualQualifiedNameWithBindingParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NamedTemplateBinding_EqualsSignGreaterThanSignKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule NamedTemplateBinding ****************/
+
+
+/************ begin Rule QualifiedNameWithBinding ****************
+ *
+ * QualifiedNameWithBinding:
+ * id=ID binding=TemplateBinding? ("::" remaining=QualifiedNameWithBinding)?;
+ *
+ **/
+
+// id=ID binding=TemplateBinding? ("::" remaining=QualifiedNameWithBinding)?
+protected class QualifiedNameWithBinding_Group extends GroupToken {
+
+ public QualifiedNameWithBinding_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getQualifiedNameWithBindingAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNameWithBinding_Group_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new QualifiedNameWithBinding_BindingAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new QualifiedNameWithBinding_IdAssignment_0(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getQualifiedNameWithBindingRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// id=ID
+protected class QualifiedNameWithBinding_IdAssignment_0 extends AssignmentToken {
+
+ public QualifiedNameWithBinding_IdAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getQualifiedNameWithBindingAccess().getIdAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getQualifiedNameWithBindingAccess().getIdIDTerminalRuleCall_0_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getQualifiedNameWithBindingAccess().getIdIDTerminalRuleCall_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// binding=TemplateBinding?
+protected class QualifiedNameWithBinding_BindingAssignment_1 extends AssignmentToken {
+
+ public QualifiedNameWithBinding_BindingAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getQualifiedNameWithBindingAccess().getBindingAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TemplateBinding_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("binding",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("binding");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTemplateBindingRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getQualifiedNameWithBindingAccess().getBindingTemplateBindingParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new QualifiedNameWithBinding_IdAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("::" remaining=QualifiedNameWithBinding)?
+protected class QualifiedNameWithBinding_Group_2 extends GroupToken {
+
+ public QualifiedNameWithBinding_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getQualifiedNameWithBindingAccess().getGroup_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNameWithBinding_RemainingAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "::"
+protected class QualifiedNameWithBinding_ColonColonKeyword_2_0 extends KeywordToken {
+
+ public QualifiedNameWithBinding_ColonColonKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getQualifiedNameWithBindingAccess().getColonColonKeyword_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNameWithBinding_BindingAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new QualifiedNameWithBinding_IdAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// remaining=QualifiedNameWithBinding
+protected class QualifiedNameWithBinding_RemainingAssignment_2_1 extends AssignmentToken {
+
+ public QualifiedNameWithBinding_RemainingAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getQualifiedNameWithBindingAccess().getRemainingAssignment_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNameWithBinding_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("remaining",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("remaining");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNameWithBindingRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getQualifiedNameWithBindingAccess().getRemainingQualifiedNameWithBindingParserRuleCall_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new QualifiedNameWithBinding_ColonColonKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule QualifiedNameWithBinding ****************/
+
+
+/************ begin Rule Tuple ****************
+ *
+ * Tuple:
+ * {Tuple} "(" (tupleElements+=TupleElement ("," tupleElements+=TupleElement)*)? ")";
+ *
+ **/
+
+// {Tuple} "(" (tupleElements+=TupleElement ("," tupleElements+=TupleElement)*)? ")"
+protected class Tuple_Group extends GroupToken {
+
+ public Tuple_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTupleAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Tuple_RightParenthesisKeyword_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTupleAccess().getTupleAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {Tuple}
+protected class Tuple_TupleAction_0 extends ActionToken {
+
+ public Tuple_TupleAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getTupleAccess().getTupleAction_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// "("
+protected class Tuple_LeftParenthesisKeyword_1 extends KeywordToken {
+
+ public Tuple_LeftParenthesisKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTupleAccess().getLeftParenthesisKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Tuple_TupleAction_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// (tupleElements+=TupleElement ("," tupleElements+=TupleElement)*)?
+protected class Tuple_Group_2 extends GroupToken {
+
+ public Tuple_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTupleAccess().getGroup_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Tuple_Group_2_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Tuple_TupleElementsAssignment_2_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// tupleElements+=TupleElement
+protected class Tuple_TupleElementsAssignment_2_0 extends AssignmentToken {
+
+ public Tuple_TupleElementsAssignment_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTupleAccess().getTupleElementsAssignment_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleElement_ArgumentAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("tupleElements",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tupleElements");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTupleElementRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTupleAccess().getTupleElementsTupleElementParserRuleCall_2_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new Tuple_LeftParenthesisKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("," tupleElements+=TupleElement)*
+protected class Tuple_Group_2_1 extends GroupToken {
+
+ public Tuple_Group_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTupleAccess().getGroup_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Tuple_TupleElementsAssignment_2_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class Tuple_CommaKeyword_2_1_0 extends KeywordToken {
+
+ public Tuple_CommaKeyword_2_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTupleAccess().getCommaKeyword_2_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Tuple_Group_2_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Tuple_TupleElementsAssignment_2_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// tupleElements+=TupleElement
+protected class Tuple_TupleElementsAssignment_2_1_1 extends AssignmentToken {
+
+ public Tuple_TupleElementsAssignment_2_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTupleAccess().getTupleElementsAssignment_2_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new TupleElement_ArgumentAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("tupleElements",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tupleElements");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTupleElementRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTupleAccess().getTupleElementsTupleElementParserRuleCall_2_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new Tuple_CommaKeyword_2_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+// ")"
+protected class Tuple_RightParenthesisKeyword_3 extends KeywordToken {
+
+ public Tuple_RightParenthesisKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getTupleAccess().getRightParenthesisKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Tuple_Group_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Tuple_LeftParenthesisKeyword_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule Tuple ****************/
+
+
+/************ begin Rule TupleElement ****************
+ *
+ * TupleElement:
+ * argument=Expression;
+ *
+ **/
+
+// argument=Expression
+protected class TupleElement_ArgumentAssignment extends AssignmentToken {
+
+ public TupleElement_ArgumentAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTupleElementAccess().getArgumentAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTupleElementRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("argument",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("argument");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTupleElementAccess().getArgumentExpressionParserRuleCall_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+/************ end Rule TupleElement ****************/
+
+
+/************ begin Rule Expression ****************
+ *
+ * / **************
+ * * Expressions
+ * ************** / Expression:
+ * ConditionalTestExpression;
+ *
+ **/
+
+// ConditionalTestExpression
+protected class Expression_ConditionalTestExpressionParserRuleCall extends RuleCallToken {
+
+ public Expression_ConditionalTestExpressionParserRuleCall(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getExpressionAccess().getConditionalTestExpressionParserRuleCall();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalTestExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getConditionalTestExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(ConditionalTestExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+/************ end Rule Expression ****************/
+
+
+/************ begin Rule ConditionalTestExpression ****************
+ *
+ * ConditionalTestExpression:
+ * exp=ConditionalOrExpression ("?" whenTrue=ConditionalTestExpression ":" whenFalse=ConditionalTestExpression)?;
+ *
+ **/
+
+// exp=ConditionalOrExpression ("?" whenTrue=ConditionalTestExpression ":" whenFalse=ConditionalTestExpression)?
+protected class ConditionalTestExpression_Group extends GroupToken {
+
+ public ConditionalTestExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getConditionalTestExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalTestExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ConditionalTestExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getConditionalTestExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// exp=ConditionalOrExpression
+protected class ConditionalTestExpression_ExpAssignment_0 extends AssignmentToken {
+
+ public ConditionalTestExpression_ExpAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getConditionalTestExpressionAccess().getExpAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalOrExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getConditionalOrExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getConditionalTestExpressionAccess().getExpConditionalOrExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// ("?" whenTrue=ConditionalTestExpression ":" whenFalse=ConditionalTestExpression)?
+protected class ConditionalTestExpression_Group_1 extends GroupToken {
+
+ public ConditionalTestExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getConditionalTestExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalTestExpression_WhenFalseAssignment_1_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "?"
+protected class ConditionalTestExpression_QuestionMarkKeyword_1_0 extends KeywordToken {
+
+ public ConditionalTestExpression_QuestionMarkKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getConditionalTestExpressionAccess().getQuestionMarkKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalTestExpression_ExpAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// whenTrue=ConditionalTestExpression
+protected class ConditionalTestExpression_WhenTrueAssignment_1_1 extends AssignmentToken {
+
+ public ConditionalTestExpression_WhenTrueAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getConditionalTestExpressionAccess().getWhenTrueAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalTestExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("whenTrue",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("whenTrue");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getConditionalTestExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getConditionalTestExpressionAccess().getWhenTrueConditionalTestExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ConditionalTestExpression_QuestionMarkKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ":"
+protected class ConditionalTestExpression_ColonKeyword_1_2 extends KeywordToken {
+
+ public ConditionalTestExpression_ColonKeyword_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getConditionalTestExpressionAccess().getColonKeyword_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalTestExpression_WhenTrueAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// whenFalse=ConditionalTestExpression
+protected class ConditionalTestExpression_WhenFalseAssignment_1_3 extends AssignmentToken {
+
+ public ConditionalTestExpression_WhenFalseAssignment_1_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getConditionalTestExpressionAccess().getWhenFalseAssignment_1_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalTestExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("whenFalse",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("whenFalse");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getConditionalTestExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getConditionalTestExpressionAccess().getWhenFalseConditionalTestExpressionParserRuleCall_1_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ConditionalTestExpression_ColonKeyword_1_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule ConditionalTestExpression ****************/
+
+
+/************ begin Rule ConditionalOrExpression ****************
+ *
+ * ConditionalOrExpression:
+ * exp+=ConditionalAndExpression ("||" exp+=ConditionalAndExpression)*;
+ *
+ **/
+
+// exp+=ConditionalAndExpression ("||" exp+=ConditionalAndExpression)*
+protected class ConditionalOrExpression_Group extends GroupToken {
+
+ public ConditionalOrExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getConditionalOrExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalOrExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ConditionalOrExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getConditionalOrExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// exp+=ConditionalAndExpression
+protected class ConditionalOrExpression_ExpAssignment_0 extends AssignmentToken {
+
+ public ConditionalOrExpression_ExpAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getConditionalOrExpressionAccess().getExpAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalAndExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getConditionalAndExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getConditionalOrExpressionAccess().getExpConditionalAndExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// ("||" exp+=ConditionalAndExpression)*
+protected class ConditionalOrExpression_Group_1 extends GroupToken {
+
+ public ConditionalOrExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getConditionalOrExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalOrExpression_ExpAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "||"
+protected class ConditionalOrExpression_VerticalLineVerticalLineKeyword_1_0 extends KeywordToken {
+
+ public ConditionalOrExpression_VerticalLineVerticalLineKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getConditionalOrExpressionAccess().getVerticalLineVerticalLineKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalOrExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ConditionalOrExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// exp+=ConditionalAndExpression
+protected class ConditionalOrExpression_ExpAssignment_1_1 extends AssignmentToken {
+
+ public ConditionalOrExpression_ExpAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getConditionalOrExpressionAccess().getExpAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalAndExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getConditionalAndExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getConditionalOrExpressionAccess().getExpConditionalAndExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ConditionalOrExpression_VerticalLineVerticalLineKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule ConditionalOrExpression ****************/
+
+
+/************ begin Rule ConditionalAndExpression ****************
+ *
+ * ConditionalAndExpression:
+ * exp+=InclusiveOrExpression ("&&" exp+=InclusiveOrExpression)*;
+ *
+ **/
+
+// exp+=InclusiveOrExpression ("&&" exp+=InclusiveOrExpression)*
+protected class ConditionalAndExpression_Group extends GroupToken {
+
+ public ConditionalAndExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getConditionalAndExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalAndExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ConditionalAndExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getConditionalAndExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// exp+=InclusiveOrExpression
+protected class ConditionalAndExpression_ExpAssignment_0 extends AssignmentToken {
+
+ public ConditionalAndExpression_ExpAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getConditionalAndExpressionAccess().getExpAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InclusiveOrExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getInclusiveOrExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getConditionalAndExpressionAccess().getExpInclusiveOrExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// ("&&" exp+=InclusiveOrExpression)*
+protected class ConditionalAndExpression_Group_1 extends GroupToken {
+
+ public ConditionalAndExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getConditionalAndExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalAndExpression_ExpAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "&&"
+protected class ConditionalAndExpression_AmpersandAmpersandKeyword_1_0 extends KeywordToken {
+
+ public ConditionalAndExpression_AmpersandAmpersandKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getConditionalAndExpressionAccess().getAmpersandAmpersandKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConditionalAndExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ConditionalAndExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// exp+=InclusiveOrExpression
+protected class ConditionalAndExpression_ExpAssignment_1_1 extends AssignmentToken {
+
+ public ConditionalAndExpression_ExpAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getConditionalAndExpressionAccess().getExpAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InclusiveOrExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getInclusiveOrExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getConditionalAndExpressionAccess().getExpInclusiveOrExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ConditionalAndExpression_AmpersandAmpersandKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule ConditionalAndExpression ****************/
+
+
+/************ begin Rule InclusiveOrExpression ****************
+ *
+ * InclusiveOrExpression:
+ * exp+=ExclusiveOrExpression ("|" exp+=ExclusiveOrExpression)*;
+ *
+ **/
+
+// exp+=ExclusiveOrExpression ("|" exp+=ExclusiveOrExpression)*
+protected class InclusiveOrExpression_Group extends GroupToken {
+
+ public InclusiveOrExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getInclusiveOrExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InclusiveOrExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new InclusiveOrExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInclusiveOrExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// exp+=ExclusiveOrExpression
+protected class InclusiveOrExpression_ExpAssignment_0 extends AssignmentToken {
+
+ public InclusiveOrExpression_ExpAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInclusiveOrExpressionAccess().getExpAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExclusiveOrExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExclusiveOrExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getInclusiveOrExpressionAccess().getExpExclusiveOrExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// ("|" exp+=ExclusiveOrExpression)*
+protected class InclusiveOrExpression_Group_1 extends GroupToken {
+
+ public InclusiveOrExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getInclusiveOrExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InclusiveOrExpression_ExpAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "|"
+protected class InclusiveOrExpression_VerticalLineKeyword_1_0 extends KeywordToken {
+
+ public InclusiveOrExpression_VerticalLineKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInclusiveOrExpressionAccess().getVerticalLineKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InclusiveOrExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new InclusiveOrExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// exp+=ExclusiveOrExpression
+protected class InclusiveOrExpression_ExpAssignment_1_1 extends AssignmentToken {
+
+ public InclusiveOrExpression_ExpAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInclusiveOrExpressionAccess().getExpAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExclusiveOrExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExclusiveOrExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getInclusiveOrExpressionAccess().getExpExclusiveOrExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new InclusiveOrExpression_VerticalLineKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule InclusiveOrExpression ****************/
+
+
+/************ begin Rule ExclusiveOrExpression ****************
+ *
+ * ExclusiveOrExpression:
+ * exp+=AndExpression ("^" exp+=AndExpression)*;
+ *
+ **/
+
+// exp+=AndExpression ("^" exp+=AndExpression)*
+protected class ExclusiveOrExpression_Group extends GroupToken {
+
+ public ExclusiveOrExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getExclusiveOrExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExclusiveOrExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ExclusiveOrExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getExclusiveOrExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// exp+=AndExpression
+protected class ExclusiveOrExpression_ExpAssignment_0 extends AssignmentToken {
+
+ public ExclusiveOrExpression_ExpAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getExclusiveOrExpressionAccess().getExpAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AndExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAndExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getExclusiveOrExpressionAccess().getExpAndExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// ("^" exp+=AndExpression)*
+protected class ExclusiveOrExpression_Group_1 extends GroupToken {
+
+ public ExclusiveOrExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getExclusiveOrExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExclusiveOrExpression_ExpAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "^"
+protected class ExclusiveOrExpression_CircumflexAccentKeyword_1_0 extends KeywordToken {
+
+ public ExclusiveOrExpression_CircumflexAccentKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getExclusiveOrExpressionAccess().getCircumflexAccentKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ExclusiveOrExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ExclusiveOrExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// exp+=AndExpression
+protected class ExclusiveOrExpression_ExpAssignment_1_1 extends AssignmentToken {
+
+ public ExclusiveOrExpression_ExpAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getExclusiveOrExpressionAccess().getExpAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AndExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAndExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getExclusiveOrExpressionAccess().getExpAndExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ExclusiveOrExpression_CircumflexAccentKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule ExclusiveOrExpression ****************/
+
+
+/************ begin Rule AndExpression ****************
+ *
+ * AndExpression:
+ * exp+=EqualityExpression ("&" exp+=EqualityExpression)*;
+ *
+ **/
+
+// exp+=EqualityExpression ("&" exp+=EqualityExpression)*
+protected class AndExpression_Group extends GroupToken {
+
+ public AndExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getAndExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AndExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new AndExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getAndExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// exp+=EqualityExpression
+protected class AndExpression_ExpAssignment_0 extends AssignmentToken {
+
+ public AndExpression_ExpAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAndExpressionAccess().getExpAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new EqualityExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getEqualityExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getAndExpressionAccess().getExpEqualityExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// ("&" exp+=EqualityExpression)*
+protected class AndExpression_Group_1 extends GroupToken {
+
+ public AndExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getAndExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AndExpression_ExpAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "&"
+protected class AndExpression_AmpersandKeyword_1_0 extends KeywordToken {
+
+ public AndExpression_AmpersandKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getAndExpressionAccess().getAmpersandKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AndExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new AndExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// exp+=EqualityExpression
+protected class AndExpression_ExpAssignment_1_1 extends AssignmentToken {
+
+ public AndExpression_ExpAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAndExpressionAccess().getExpAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new EqualityExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getEqualityExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getAndExpressionAccess().getExpEqualityExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new AndExpression_AmpersandKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule AndExpression ****************/
+
+
+/************ begin Rule EqualityExpression ****************
+ *
+ * EqualityExpression:
+ * exp+=ClassificationExpression (op+=("==" | "!=") exp+=ClassificationExpression)*;
+ *
+ **/
+
+// exp+=ClassificationExpression (op+=("==" | "!=") exp+=ClassificationExpression)*
+protected class EqualityExpression_Group extends GroupToken {
+
+ public EqualityExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getEqualityExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new EqualityExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new EqualityExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getEqualityExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// exp+=ClassificationExpression
+protected class EqualityExpression_ExpAssignment_0 extends AssignmentToken {
+
+ public EqualityExpression_ExpAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getEqualityExpressionAccess().getExpAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassificationExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getClassificationExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getEqualityExpressionAccess().getExpClassificationExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// (op+=("==" | "!=") exp+=ClassificationExpression)*
+protected class EqualityExpression_Group_1 extends GroupToken {
+
+ public EqualityExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getEqualityExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new EqualityExpression_ExpAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// op+=("==" | "!=")
+protected class EqualityExpression_OpAssignment_1_0 extends AssignmentToken {
+
+ public EqualityExpression_OpAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getEqualityExpressionAccess().getOpAssignment_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new EqualityExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new EqualityExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("op",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getEqualityExpressionAccess().getOpEqualsSignEqualsSignKeyword_1_0_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getEqualityExpressionAccess().getOpEqualsSignEqualsSignKeyword_1_0_0_0();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getEqualityExpressionAccess().getOpExclamationMarkEqualsSignKeyword_1_0_0_1(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getEqualityExpressionAccess().getOpExclamationMarkEqualsSignKeyword_1_0_0_1();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// exp+=ClassificationExpression
+protected class EqualityExpression_ExpAssignment_1_1 extends AssignmentToken {
+
+ public EqualityExpression_ExpAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getEqualityExpressionAccess().getExpAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassificationExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getClassificationExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getEqualityExpressionAccess().getExpClassificationExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new EqualityExpression_OpAssignment_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule EqualityExpression ****************/
+
+
+/************ begin Rule ClassificationExpression ****************
+ *
+ * //enum EqualityOperator :
+ * // EQUALS = '==' |
+ * // NOT_EQUALS = '!='
+ * //;
+ * ClassificationExpression:
+ * exp=RelationalExpression (op=("instanceof" | "hastype") typeName=NameExpression)?;
+ *
+ **/
+
+// exp=RelationalExpression (op=("instanceof" | "hastype") typeName=NameExpression)?
+protected class ClassificationExpression_Group extends GroupToken {
+
+ public ClassificationExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getClassificationExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassificationExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ClassificationExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getClassificationExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// exp=RelationalExpression
+protected class ClassificationExpression_ExpAssignment_0 extends AssignmentToken {
+
+ public ClassificationExpression_ExpAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getClassificationExpressionAccess().getExpAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RelationalExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getRelationalExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getClassificationExpressionAccess().getExpRelationalExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// (op=("instanceof" | "hastype") typeName=NameExpression)?
+protected class ClassificationExpression_Group_1 extends GroupToken {
+
+ public ClassificationExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getClassificationExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassificationExpression_TypeNameAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// op=("instanceof" | "hastype")
+protected class ClassificationExpression_OpAssignment_1_0 extends AssignmentToken {
+
+ public ClassificationExpression_OpAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getClassificationExpressionAccess().getOpAssignment_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassificationExpression_ExpAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("op",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getClassificationExpressionAccess().getOpInstanceofKeyword_1_0_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getClassificationExpressionAccess().getOpInstanceofKeyword_1_0_0_0();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getClassificationExpressionAccess().getOpHastypeKeyword_1_0_0_1(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getClassificationExpressionAccess().getOpHastypeKeyword_1_0_0_1();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// typeName=NameExpression
+protected class ClassificationExpression_TypeNameAssignment_1_1 extends AssignmentToken {
+
+ public ClassificationExpression_TypeNameAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getClassificationExpressionAccess().getTypeNameAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("typeName",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("typeName");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNameExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getClassificationExpressionAccess().getTypeNameNameExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ClassificationExpression_OpAssignment_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule ClassificationExpression ****************/
+
+
+/************ begin Rule RelationalExpression ****************
+ *
+ * //enum ClassificationOperator :
+ * // INSTANCEOF = 'instanceof' |
+ * // HASTYPE = 'hastype'
+ * //;
+ * RelationalExpression:
+ * left=ShiftExpression (op=("<" | ">" | "<=" | ">=") right=ShiftExpression)?;
+ *
+ **/
+
+// left=ShiftExpression (op=("<" | ">" | "<=" | ">=") right=ShiftExpression)?
+protected class RelationalExpression_Group extends GroupToken {
+
+ public RelationalExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getRelationalExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RelationalExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new RelationalExpression_LeftAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getRelationalExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// left=ShiftExpression
+protected class RelationalExpression_LeftAssignment_0 extends AssignmentToken {
+
+ public RelationalExpression_LeftAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getRelationalExpressionAccess().getLeftAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ShiftExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("left",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("left");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getShiftExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getRelationalExpressionAccess().getLeftShiftExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// (op=("<" | ">" | "<=" | ">=") right=ShiftExpression)?
+protected class RelationalExpression_Group_1 extends GroupToken {
+
+ public RelationalExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getRelationalExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RelationalExpression_RightAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// op=("<" | ">" | "<=" | ">=")
+protected class RelationalExpression_OpAssignment_1_0 extends AssignmentToken {
+
+ public RelationalExpression_OpAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getRelationalExpressionAccess().getOpAssignment_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new RelationalExpression_LeftAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("op",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getRelationalExpressionAccess().getOpLessThanSignKeyword_1_0_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getRelationalExpressionAccess().getOpLessThanSignKeyword_1_0_0_0();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getRelationalExpressionAccess().getOpGreaterThanSignKeyword_1_0_0_1(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getRelationalExpressionAccess().getOpGreaterThanSignKeyword_1_0_0_1();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getRelationalExpressionAccess().getOpLessThanSignEqualsSignKeyword_1_0_0_2(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getRelationalExpressionAccess().getOpLessThanSignEqualsSignKeyword_1_0_0_2();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getRelationalExpressionAccess().getOpGreaterThanSignEqualsSignKeyword_1_0_0_3(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getRelationalExpressionAccess().getOpGreaterThanSignEqualsSignKeyword_1_0_0_3();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// right=ShiftExpression
+protected class RelationalExpression_RightAssignment_1_1 extends AssignmentToken {
+
+ public RelationalExpression_RightAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getRelationalExpressionAccess().getRightAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ShiftExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("right",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getShiftExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getRelationalExpressionAccess().getRightShiftExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new RelationalExpression_OpAssignment_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule RelationalExpression ****************/
+
+
+/************ begin Rule ShiftExpression ****************
+ *
+ * //RelationalOperator :
+ * // LOWER = '<' |
+ * // UPPER = '>' |
+ * // LOWER_EQUALS = '<=' |
+ * // UPPER_EQUALS = '>='
+ * //;
+ * ShiftExpression:
+ * exp+=AdditiveExpression (op=("<<" | ">>" | ">>>") exp+=AdditiveExpression)?;
+ *
+ **/
+
+// exp+=AdditiveExpression (op=("<<" | ">>" | ">>>") exp+=AdditiveExpression)?
+protected class ShiftExpression_Group extends GroupToken {
+
+ public ShiftExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getShiftExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ShiftExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ShiftExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getShiftExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// exp+=AdditiveExpression
+protected class ShiftExpression_ExpAssignment_0 extends AssignmentToken {
+
+ public ShiftExpression_ExpAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getShiftExpressionAccess().getExpAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AdditiveExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAdditiveExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getShiftExpressionAccess().getExpAdditiveExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// (op=("<<" | ">>" | ">>>") exp+=AdditiveExpression)?
+protected class ShiftExpression_Group_1 extends GroupToken {
+
+ public ShiftExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getShiftExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ShiftExpression_ExpAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// op=("<<" | ">>" | ">>>")
+protected class ShiftExpression_OpAssignment_1_0 extends AssignmentToken {
+
+ public ShiftExpression_OpAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getShiftExpressionAccess().getOpAssignment_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ShiftExpression_ExpAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("op",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getShiftExpressionAccess().getOpLessThanSignLessThanSignKeyword_1_0_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getShiftExpressionAccess().getOpLessThanSignLessThanSignKeyword_1_0_0_0();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getShiftExpressionAccess().getOpGreaterThanSignGreaterThanSignKeyword_1_0_0_1(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getShiftExpressionAccess().getOpGreaterThanSignGreaterThanSignKeyword_1_0_0_1();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getShiftExpressionAccess().getOpGreaterThanSignGreaterThanSignGreaterThanSignKeyword_1_0_0_2(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getShiftExpressionAccess().getOpGreaterThanSignGreaterThanSignGreaterThanSignKeyword_1_0_0_2();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// exp+=AdditiveExpression
+protected class ShiftExpression_ExpAssignment_1_1 extends AssignmentToken {
+
+ public ShiftExpression_ExpAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getShiftExpressionAccess().getExpAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AdditiveExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAdditiveExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getShiftExpressionAccess().getExpAdditiveExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ShiftExpression_OpAssignment_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule ShiftExpression ****************/
+
+
+/************ begin Rule AdditiveExpression ****************
+ *
+ * //enum ShiftOperator :
+ * // LSHIFT = '<<' |
+ * // RSHIFT = '>>' |
+ * // URSHIFT = '>>>'
+ * //;
+ * AdditiveExpression:
+ * exp+=MultiplicativeExpression (op+=("+" | "-") exp+=MultiplicativeExpression)*;
+ *
+ **/
+
+// exp+=MultiplicativeExpression (op+=("+" | "-") exp+=MultiplicativeExpression)*
+protected class AdditiveExpression_Group extends GroupToken {
+
+ public AdditiveExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getAdditiveExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AdditiveExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new AdditiveExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getAdditiveExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// exp+=MultiplicativeExpression
+protected class AdditiveExpression_ExpAssignment_0 extends AssignmentToken {
+
+ public AdditiveExpression_ExpAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAdditiveExpressionAccess().getExpAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicativeExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getMultiplicativeExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getAdditiveExpressionAccess().getExpMultiplicativeExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// (op+=("+" | "-") exp+=MultiplicativeExpression)*
+protected class AdditiveExpression_Group_1 extends GroupToken {
+
+ public AdditiveExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getAdditiveExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AdditiveExpression_ExpAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// op+=("+" | "-")
+protected class AdditiveExpression_OpAssignment_1_0 extends AssignmentToken {
+
+ public AdditiveExpression_OpAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAdditiveExpressionAccess().getOpAssignment_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AdditiveExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new AdditiveExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("op",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getAdditiveExpressionAccess().getOpPlusSignKeyword_1_0_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getAdditiveExpressionAccess().getOpPlusSignKeyword_1_0_0_0();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getAdditiveExpressionAccess().getOpHyphenMinusKeyword_1_0_0_1(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getAdditiveExpressionAccess().getOpHyphenMinusKeyword_1_0_0_1();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// exp+=MultiplicativeExpression
+protected class AdditiveExpression_ExpAssignment_1_1 extends AssignmentToken {
+
+ public AdditiveExpression_ExpAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAdditiveExpressionAccess().getExpAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicativeExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getMultiplicativeExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getAdditiveExpressionAccess().getExpMultiplicativeExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new AdditiveExpression_OpAssignment_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule AdditiveExpression ****************/
+
+
+/************ begin Rule MultiplicativeExpression ****************
+ *
+ * //enum AdditiveOp :
+ * // PLUS = '+' |
+ * // MINUS = '-'
+ * //;
+ * MultiplicativeExpression:
+ * exp+=UnaryExpression (op+=("*" | "/" | "%") exp+=UnaryExpression)*;
+ *
+ **/
+
+// exp+=UnaryExpression (op+=("*" | "/" | "%") exp+=UnaryExpression)*
+protected class MultiplicativeExpression_Group extends GroupToken {
+
+ public MultiplicativeExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getMultiplicativeExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicativeExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new MultiplicativeExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getMultiplicativeExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// exp+=UnaryExpression
+protected class MultiplicativeExpression_ExpAssignment_0 extends AssignmentToken {
+
+ public MultiplicativeExpression_ExpAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getMultiplicativeExpressionAccess().getExpAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnaryExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getUnaryExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getMultiplicativeExpressionAccess().getExpUnaryExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// (op+=("*" | "/" | "%") exp+=UnaryExpression)*
+protected class MultiplicativeExpression_Group_1 extends GroupToken {
+
+ public MultiplicativeExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getMultiplicativeExpressionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicativeExpression_ExpAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// op+=("*" | "/" | "%")
+protected class MultiplicativeExpression_OpAssignment_1_0 extends AssignmentToken {
+
+ public MultiplicativeExpression_OpAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getMultiplicativeExpressionAccess().getOpAssignment_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new MultiplicativeExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new MultiplicativeExpression_ExpAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("op",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getMultiplicativeExpressionAccess().getOpAsteriskKeyword_1_0_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getMultiplicativeExpressionAccess().getOpAsteriskKeyword_1_0_0_0();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getMultiplicativeExpressionAccess().getOpSolidusKeyword_1_0_0_1(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getMultiplicativeExpressionAccess().getOpSolidusKeyword_1_0_0_1();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getMultiplicativeExpressionAccess().getOpPercentSignKeyword_1_0_0_2(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getMultiplicativeExpressionAccess().getOpPercentSignKeyword_1_0_0_2();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// exp+=UnaryExpression
+protected class MultiplicativeExpression_ExpAssignment_1_1 extends AssignmentToken {
+
+ public MultiplicativeExpression_ExpAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getMultiplicativeExpressionAccess().getExpAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnaryExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getUnaryExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getMultiplicativeExpressionAccess().getExpUnaryExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new MultiplicativeExpression_OpAssignment_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule MultiplicativeExpression ****************/
+
+
+/************ begin Rule UnaryExpression ****************
+ *
+ * //enum MultiplicativeOp :
+ * // MULT = '*' |
+ * // DIV = '/' |
+ * // MOD = '%'
+ * //;
+ * UnaryExpression:
+ * op=("!" | "-" | "+" | "$" | "~")? exp=PrimaryExpression;
+ *
+ **/
+
+// op=("!" | "-" | "+" | "$" | "~")? exp=PrimaryExpression
+protected class UnaryExpression_Group extends GroupToken {
+
+ public UnaryExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getUnaryExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new UnaryExpression_ExpAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getUnaryExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// op=("!" | "-" | "+" | "$" | "~")?
+protected class UnaryExpression_OpAssignment_0 extends AssignmentToken {
+
+ public UnaryExpression_OpAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getUnaryExpressionAccess().getOpAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("op",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getUnaryExpressionAccess().getOpExclamationMarkKeyword_0_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getUnaryExpressionAccess().getOpExclamationMarkKeyword_0_0_0();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getUnaryExpressionAccess().getOpHyphenMinusKeyword_0_0_1(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getUnaryExpressionAccess().getOpHyphenMinusKeyword_0_0_1();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getUnaryExpressionAccess().getOpPlusSignKeyword_0_0_2(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getUnaryExpressionAccess().getOpPlusSignKeyword_0_0_2();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getUnaryExpressionAccess().getOpDollarSignKeyword_0_0_3(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getUnaryExpressionAccess().getOpDollarSignKeyword_0_0_3();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getUnaryExpressionAccess().getOpTildeKeyword_0_0_4(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getUnaryExpressionAccess().getOpTildeKeyword_0_0_4();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// exp=PrimaryExpression
+protected class UnaryExpression_ExpAssignment_1 extends AssignmentToken {
+
+ public UnaryExpression_ExpAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getUnaryExpressionAccess().getExpAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PrimaryExpression_PrefixAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("exp",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exp");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPrimaryExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getUnaryExpressionAccess().getExpPrimaryExpressionParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new UnaryExpression_OpAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index - 1, consumed);
+ }
+ }
+}
+
+
+/************ end Rule UnaryExpression ****************/
+
+
+/************ begin Rule PrimaryExpression ****************
+ *
+ * //PrimaryExpression :
+ * // prefix = ValueSpecification (suffix = SuffixExpression)?
+ * //;
+ * PrimaryExpression:
+ * prefix=ValueSpecification;
+ *
+ **/
+
+// prefix=ValueSpecification
+protected class PrimaryExpression_PrefixAssignment extends AssignmentToken {
+
+ public PrimaryExpression_PrefixAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPrimaryExpressionAccess().getPrefixAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ValueSpecification_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getPrimaryExpressionRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("prefix",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("prefix");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getValueSpecificationRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPrimaryExpressionAccess().getPrefixValueSpecificationParserRuleCall_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+/************ end Rule PrimaryExpression ****************/
+
+
+/************ begin Rule SuffixExpression ****************
+ *
+ * SuffixExpression:
+ * OperationCallExpression | PropertyCallExpression | LinkOperationExpression | SequenceOperationExpression |
+ * SequenceReductionExpression | SequenceExpansionExpression | ClassExtentExpression;
+ *
+ **/
+
+// OperationCallExpression | PropertyCallExpression | LinkOperationExpression | SequenceOperationExpression |
+// SequenceReductionExpression | SequenceExpansionExpression | ClassExtentExpression
+protected class SuffixExpression_Alternatives extends AlternativesToken {
+
+ public SuffixExpression_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getSuffixExpressionAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuffixExpression_OperationCallExpressionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new SuffixExpression_PropertyCallExpressionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new SuffixExpression_LinkOperationExpressionParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
+ case 3: return new SuffixExpression_SequenceOperationExpressionParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
+ case 4: return new SuffixExpression_SequenceReductionExpressionParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
+ case 5: return new SuffixExpression_SequenceExpansionExpressionParserRuleCall_5(lastRuleCallOrigin, this, 5, inst);
+ case 6: return new SuffixExpression_ClassExtentExpressionParserRuleCall_6(lastRuleCallOrigin, this, 6, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getClassExtentExpressionAccess().getClassExtentExpressionAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getCollectOrIterateOperationRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getForAllOrExistsOrOneOperationRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getIsUniqueOperationRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getLinkOperationExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getOperationCallExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getPropertyCallExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSelectOrRejectOperationRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSequenceOperationExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSequenceReductionExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// OperationCallExpression
+protected class SuffixExpression_OperationCallExpressionParserRuleCall_0 extends RuleCallToken {
+
+ public SuffixExpression_OperationCallExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getSuffixExpressionAccess().getOperationCallExpressionParserRuleCall_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new OperationCallExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getOperationCallExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(OperationCallExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// PropertyCallExpression
+protected class SuffixExpression_PropertyCallExpressionParserRuleCall_1 extends RuleCallToken {
+
+ public SuffixExpression_PropertyCallExpressionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getSuffixExpressionAccess().getPropertyCallExpressionParserRuleCall_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PropertyCallExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getPropertyCallExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(PropertyCallExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// LinkOperationExpression
+protected class SuffixExpression_LinkOperationExpressionParserRuleCall_2 extends RuleCallToken {
+
+ public SuffixExpression_LinkOperationExpressionParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getSuffixExpressionAccess().getLinkOperationExpressionParserRuleCall_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LinkOperationExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getLinkOperationExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(LinkOperationExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// SequenceOperationExpression
+protected class SuffixExpression_SequenceOperationExpressionParserRuleCall_3 extends RuleCallToken {
+
+ public SuffixExpression_SequenceOperationExpressionParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getSuffixExpressionAccess().getSequenceOperationExpressionParserRuleCall_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceOperationExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSequenceOperationExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(SequenceOperationExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// SequenceReductionExpression
+protected class SuffixExpression_SequenceReductionExpressionParserRuleCall_4 extends RuleCallToken {
+
+ public SuffixExpression_SequenceReductionExpressionParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getSuffixExpressionAccess().getSequenceReductionExpressionParserRuleCall_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceReductionExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSequenceReductionExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(SequenceReductionExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// SequenceExpansionExpression
+protected class SuffixExpression_SequenceExpansionExpressionParserRuleCall_5 extends RuleCallToken {
+
+ public SuffixExpression_SequenceExpansionExpressionParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getSuffixExpressionAccess().getSequenceExpansionExpressionParserRuleCall_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceExpansionExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCollectOrIterateOperationRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getForAllOrExistsOrOneOperationRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getIsUniqueOperationRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSelectOrRejectOperationRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(SequenceExpansionExpression_Alternatives.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// ClassExtentExpression
+protected class SuffixExpression_ClassExtentExpressionParserRuleCall_6 extends RuleCallToken {
+
+ public SuffixExpression_ClassExtentExpressionParserRuleCall_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getSuffixExpressionAccess().getClassExtentExpressionParserRuleCall_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassExtentExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getClassExtentExpressionAccess().getClassExtentExpressionAction_0().getType().getClassifier())
+ return null;
+ if(checkForRecursion(ClassExtentExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+/************ end Rule SuffixExpression ****************/
+
+
+/************ begin Rule OperationCallExpression ****************
+ *
+ * OperationCallExpression:
+ * "." operationName=ID tuple=Tuple suffix=SuffixExpression?;
+ *
+ **/
+
+// "." operationName=ID tuple=Tuple suffix=SuffixExpression?
+protected class OperationCallExpression_Group extends GroupToken {
+
+ public OperationCallExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getOperationCallExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new OperationCallExpression_SuffixAssignment_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new OperationCallExpression_TupleAssignment_2(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getOperationCallExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "."
+protected class OperationCallExpression_FullStopKeyword_0 extends KeywordToken {
+
+ public OperationCallExpression_FullStopKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getOperationCallExpressionAccess().getFullStopKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// operationName=ID
+protected class OperationCallExpression_OperationNameAssignment_1 extends AssignmentToken {
+
+ public OperationCallExpression_OperationNameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getOperationCallExpressionAccess().getOperationNameAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new OperationCallExpression_FullStopKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("operationName",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operationName");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getOperationCallExpressionAccess().getOperationNameIDTerminalRuleCall_1_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getOperationCallExpressionAccess().getOperationNameIDTerminalRuleCall_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// tuple=Tuple
+protected class OperationCallExpression_TupleAssignment_2 extends AssignmentToken {
+
+ public OperationCallExpression_TupleAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getOperationCallExpressionAccess().getTupleAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Tuple_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("tuple",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tuple");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTupleRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getOperationCallExpressionAccess().getTupleTupleParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new OperationCallExpression_OperationNameAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// suffix=SuffixExpression?
+protected class OperationCallExpression_SuffixAssignment_3 extends AssignmentToken {
+
+ public OperationCallExpression_SuffixAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getOperationCallExpressionAccess().getSuffixAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuffixExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("suffix",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("suffix");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSuffixExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getOperationCallExpressionAccess().getSuffixSuffixExpressionParserRuleCall_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new OperationCallExpression_TupleAssignment_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule OperationCallExpression ****************/
+
+
+/************ begin Rule PropertyCallExpression ****************
+ *
+ * // OperationCallExpressionWithoutDot :
+ * // operationName = ID tuple = Tuple (suffix = SuffixExpression)?
+ * // ;
+ * PropertyCallExpression:
+ * "." propertyName=ID ("[" index=Expression "]")? suffix=SuffixExpression?;
+ *
+ **/
+
+// "." propertyName=ID ("[" index=Expression "]")? suffix=SuffixExpression?
+protected class PropertyCallExpression_Group extends GroupToken {
+
+ public PropertyCallExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPropertyCallExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PropertyCallExpression_SuffixAssignment_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new PropertyCallExpression_Group_2(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new PropertyCallExpression_PropertyNameAssignment_1(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getPropertyCallExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "."
+protected class PropertyCallExpression_FullStopKeyword_0 extends KeywordToken {
+
+ public PropertyCallExpression_FullStopKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPropertyCallExpressionAccess().getFullStopKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// propertyName=ID
+protected class PropertyCallExpression_PropertyNameAssignment_1 extends AssignmentToken {
+
+ public PropertyCallExpression_PropertyNameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPropertyCallExpressionAccess().getPropertyNameAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PropertyCallExpression_FullStopKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("propertyName",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("propertyName");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPropertyCallExpressionAccess().getPropertyNameIDTerminalRuleCall_1_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getPropertyCallExpressionAccess().getPropertyNameIDTerminalRuleCall_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// ("[" index=Expression "]")?
+protected class PropertyCallExpression_Group_2 extends GroupToken {
+
+ public PropertyCallExpression_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPropertyCallExpressionAccess().getGroup_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PropertyCallExpression_RightSquareBracketKeyword_2_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "["
+protected class PropertyCallExpression_LeftSquareBracketKeyword_2_0 extends KeywordToken {
+
+ public PropertyCallExpression_LeftSquareBracketKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPropertyCallExpressionAccess().getLeftSquareBracketKeyword_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PropertyCallExpression_PropertyNameAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// index=Expression
+protected class PropertyCallExpression_IndexAssignment_2_1 extends AssignmentToken {
+
+ public PropertyCallExpression_IndexAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPropertyCallExpressionAccess().getIndexAssignment_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("index",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("index");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPropertyCallExpressionAccess().getIndexExpressionParserRuleCall_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PropertyCallExpression_LeftSquareBracketKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "]"
+protected class PropertyCallExpression_RightSquareBracketKeyword_2_2 extends KeywordToken {
+
+ public PropertyCallExpression_RightSquareBracketKeyword_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPropertyCallExpressionAccess().getRightSquareBracketKeyword_2_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PropertyCallExpression_IndexAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+// suffix=SuffixExpression?
+protected class PropertyCallExpression_SuffixAssignment_3 extends AssignmentToken {
+
+ public PropertyCallExpression_SuffixAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPropertyCallExpressionAccess().getSuffixAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuffixExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("suffix",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("suffix");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSuffixExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPropertyCallExpressionAccess().getSuffixSuffixExpressionParserRuleCall_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PropertyCallExpression_Group_2(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new PropertyCallExpression_PropertyNameAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule PropertyCallExpression ****************/
+
+
+/************ begin Rule LinkOperationExpression ****************
+ *
+ * LinkOperationExpression:
+ * "." kind=LinkOperationKind tuple=LinkOperationTuple;
+ *
+ **/
+
+// "." kind=LinkOperationKind tuple=LinkOperationTuple
+protected class LinkOperationExpression_Group extends GroupToken {
+
+ public LinkOperationExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getLinkOperationExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LinkOperationExpression_TupleAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getLinkOperationExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "."
+protected class LinkOperationExpression_FullStopKeyword_0 extends KeywordToken {
+
+ public LinkOperationExpression_FullStopKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLinkOperationExpressionAccess().getFullStopKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// kind=LinkOperationKind
+protected class LinkOperationExpression_KindAssignment_1 extends AssignmentToken {
+
+ public LinkOperationExpression_KindAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLinkOperationExpressionAccess().getKindAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LinkOperationExpression_FullStopKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
+ if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getLinkOperationExpressionAccess().getKindLinkOperationKindEnumRuleCall_1_0(), value, null)) {
+ type = AssignmentType.ENUM_RULE_CALL;
+ element = grammarAccess.getLinkOperationExpressionAccess().getKindLinkOperationKindEnumRuleCall_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// tuple=LinkOperationTuple
+protected class LinkOperationExpression_TupleAssignment_2 extends AssignmentToken {
+
+ public LinkOperationExpression_TupleAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLinkOperationExpressionAccess().getTupleAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LinkOperationTuple_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("tuple",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tuple");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getLinkOperationTupleRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getLinkOperationExpressionAccess().getTupleLinkOperationTupleParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new LinkOperationExpression_KindAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule LinkOperationExpression ****************/
+
+
+/************ begin Rule LinkOperationTuple ****************
+ *
+ * LinkOperationTuple:
+ * "(" linkOperationTupleElement+=LinkOperationTupleElement ("," linkOperationTupleElement+=LinkOperationTupleElement)*
+ * ")";
+ *
+ **/
+
+// "(" linkOperationTupleElement+=LinkOperationTupleElement ("," linkOperationTupleElement+=LinkOperationTupleElement)* ")"
+protected class LinkOperationTuple_Group extends GroupToken {
+
+ public LinkOperationTuple_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getLinkOperationTupleAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LinkOperationTuple_RightParenthesisKeyword_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getLinkOperationTupleRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "("
+protected class LinkOperationTuple_LeftParenthesisKeyword_0 extends KeywordToken {
+
+ public LinkOperationTuple_LeftParenthesisKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLinkOperationTupleAccess().getLeftParenthesisKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// linkOperationTupleElement+=LinkOperationTupleElement
+protected class LinkOperationTuple_LinkOperationTupleElementAssignment_1 extends AssignmentToken {
+
+ public LinkOperationTuple_LinkOperationTupleElementAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLinkOperationTupleAccess().getLinkOperationTupleElementAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LinkOperationTupleElement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("linkOperationTupleElement",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("linkOperationTupleElement");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getLinkOperationTupleElementRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getLinkOperationTupleAccess().getLinkOperationTupleElementLinkOperationTupleElementParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new LinkOperationTuple_LeftParenthesisKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("," linkOperationTupleElement+=LinkOperationTupleElement)*
+protected class LinkOperationTuple_Group_2 extends GroupToken {
+
+ public LinkOperationTuple_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getLinkOperationTupleAccess().getGroup_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LinkOperationTuple_LinkOperationTupleElementAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class LinkOperationTuple_CommaKeyword_2_0 extends KeywordToken {
+
+ public LinkOperationTuple_CommaKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLinkOperationTupleAccess().getCommaKeyword_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LinkOperationTuple_Group_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new LinkOperationTuple_LinkOperationTupleElementAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// linkOperationTupleElement+=LinkOperationTupleElement
+protected class LinkOperationTuple_LinkOperationTupleElementAssignment_2_1 extends AssignmentToken {
+
+ public LinkOperationTuple_LinkOperationTupleElementAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLinkOperationTupleAccess().getLinkOperationTupleElementAssignment_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LinkOperationTupleElement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("linkOperationTupleElement",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("linkOperationTupleElement");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getLinkOperationTupleElementRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getLinkOperationTupleAccess().getLinkOperationTupleElementLinkOperationTupleElementParserRuleCall_2_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new LinkOperationTuple_CommaKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// ")"
+protected class LinkOperationTuple_RightParenthesisKeyword_3 extends KeywordToken {
+
+ public LinkOperationTuple_RightParenthesisKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLinkOperationTupleAccess().getRightParenthesisKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LinkOperationTuple_Group_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new LinkOperationTuple_LinkOperationTupleElementAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule LinkOperationTuple ****************/
+
+
+/************ begin Rule LinkOperationTupleElement ****************
+ *
+ * //LinkOperationTupleElement :
+ * // objectOrRole = ID (('['roleIndex = Expression ']')? '=>' object = ID)?
+ * //;
+ * LinkOperationTupleElement:
+ * role=ID ("[" roleIndex=Expression "]")? "=>" object=Expression;
+ *
+ **/
+
+// role=ID ("[" roleIndex=Expression "]")? "=>" object=Expression
+protected class LinkOperationTupleElement_Group extends GroupToken {
+
+ public LinkOperationTupleElement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getLinkOperationTupleElementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LinkOperationTupleElement_ObjectAssignment_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getLinkOperationTupleElementRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// role=ID
+protected class LinkOperationTupleElement_RoleAssignment_0 extends AssignmentToken {
+
+ public LinkOperationTupleElement_RoleAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLinkOperationTupleElementAccess().getRoleAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("role",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("role");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getLinkOperationTupleElementAccess().getRoleIDTerminalRuleCall_0_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getLinkOperationTupleElementAccess().getRoleIDTerminalRuleCall_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// ("[" roleIndex=Expression "]")?
+protected class LinkOperationTupleElement_Group_1 extends GroupToken {
+
+ public LinkOperationTupleElement_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getLinkOperationTupleElementAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LinkOperationTupleElement_RightSquareBracketKeyword_1_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "["
+protected class LinkOperationTupleElement_LeftSquareBracketKeyword_1_0 extends KeywordToken {
+
+ public LinkOperationTupleElement_LeftSquareBracketKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLinkOperationTupleElementAccess().getLeftSquareBracketKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LinkOperationTupleElement_RoleAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// roleIndex=Expression
+protected class LinkOperationTupleElement_RoleIndexAssignment_1_1 extends AssignmentToken {
+
+ public LinkOperationTupleElement_RoleIndexAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLinkOperationTupleElementAccess().getRoleIndexAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("roleIndex",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("roleIndex");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getLinkOperationTupleElementAccess().getRoleIndexExpressionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new LinkOperationTupleElement_LeftSquareBracketKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "]"
+protected class LinkOperationTupleElement_RightSquareBracketKeyword_1_2 extends KeywordToken {
+
+ public LinkOperationTupleElement_RightSquareBracketKeyword_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLinkOperationTupleElementAccess().getRightSquareBracketKeyword_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LinkOperationTupleElement_RoleIndexAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+// "=>"
+protected class LinkOperationTupleElement_EqualsSignGreaterThanSignKeyword_2 extends KeywordToken {
+
+ public LinkOperationTupleElement_EqualsSignGreaterThanSignKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLinkOperationTupleElementAccess().getEqualsSignGreaterThanSignKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LinkOperationTupleElement_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new LinkOperationTupleElement_RoleAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// object=Expression
+protected class LinkOperationTupleElement_ObjectAssignment_3 extends AssignmentToken {
+
+ public LinkOperationTupleElement_ObjectAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLinkOperationTupleElementAccess().getObjectAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("object",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("object");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getLinkOperationTupleElementAccess().getObjectExpressionParserRuleCall_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new LinkOperationTupleElement_EqualsSignGreaterThanSignKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule LinkOperationTupleElement ****************/
+
+
+/************ begin Rule SequenceOperationExpression ****************
+ *
+ * SequenceOperationExpression: //'->' operationName = ID tuple = Tuple (suffix = SuffixExpression) ?
+ * "->" operationName=QualifiedNameWithBinding tuple=Tuple suffix=SuffixExpression?;
+ *
+ **/
+
+// //'->' operationName = ID tuple = Tuple (suffix = SuffixExpression) ?
+// "->" operationName=QualifiedNameWithBinding tuple=Tuple suffix=SuffixExpression?
+protected class SequenceOperationExpression_Group extends GroupToken {
+
+ public SequenceOperationExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSequenceOperationExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceOperationExpression_SuffixAssignment_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new SequenceOperationExpression_TupleAssignment_2(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSequenceOperationExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// //'->' operationName = ID tuple = Tuple (suffix = SuffixExpression) ?
+// "->"
+protected class SequenceOperationExpression_HyphenMinusGreaterThanSignKeyword_0 extends KeywordToken {
+
+ public SequenceOperationExpression_HyphenMinusGreaterThanSignKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSequenceOperationExpressionAccess().getHyphenMinusGreaterThanSignKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// operationName=QualifiedNameWithBinding
+protected class SequenceOperationExpression_OperationNameAssignment_1 extends AssignmentToken {
+
+ public SequenceOperationExpression_OperationNameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSequenceOperationExpressionAccess().getOperationNameAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNameWithBinding_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("operationName",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operationName");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNameWithBindingRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSequenceOperationExpressionAccess().getOperationNameQualifiedNameWithBindingParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SequenceOperationExpression_HyphenMinusGreaterThanSignKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// tuple=Tuple
+protected class SequenceOperationExpression_TupleAssignment_2 extends AssignmentToken {
+
+ public SequenceOperationExpression_TupleAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSequenceOperationExpressionAccess().getTupleAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Tuple_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("tuple",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tuple");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTupleRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSequenceOperationExpressionAccess().getTupleTupleParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SequenceOperationExpression_OperationNameAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// suffix=SuffixExpression?
+protected class SequenceOperationExpression_SuffixAssignment_3 extends AssignmentToken {
+
+ public SequenceOperationExpression_SuffixAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSequenceOperationExpressionAccess().getSuffixAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuffixExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("suffix",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("suffix");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSuffixExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSequenceOperationExpressionAccess().getSuffixSuffixExpressionParserRuleCall_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SequenceOperationExpression_TupleAssignment_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule SequenceOperationExpression ****************/
+
+
+/************ begin Rule SequenceReductionExpression ****************
+ *
+ * SequenceReductionExpression:
+ * "->" "reduce" isOrdered?="ordered"? behavior=QualifiedNameWithBinding suffix=SuffixExpression?;
+ *
+ **/
+
+// "->" "reduce" isOrdered?="ordered"? behavior=QualifiedNameWithBinding suffix=SuffixExpression?
+protected class SequenceReductionExpression_Group extends GroupToken {
+
+ public SequenceReductionExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSequenceReductionExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceReductionExpression_SuffixAssignment_4(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new SequenceReductionExpression_BehaviorAssignment_3(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSequenceReductionExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "->"
+protected class SequenceReductionExpression_HyphenMinusGreaterThanSignKeyword_0 extends KeywordToken {
+
+ public SequenceReductionExpression_HyphenMinusGreaterThanSignKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSequenceReductionExpressionAccess().getHyphenMinusGreaterThanSignKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// "reduce"
+protected class SequenceReductionExpression_ReduceKeyword_1 extends KeywordToken {
+
+ public SequenceReductionExpression_ReduceKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSequenceReductionExpressionAccess().getReduceKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceReductionExpression_HyphenMinusGreaterThanSignKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// isOrdered?="ordered"?
+protected class SequenceReductionExpression_IsOrderedAssignment_2 extends AssignmentToken {
+
+ public SequenceReductionExpression_IsOrderedAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSequenceReductionExpressionAccess().getIsOrderedAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceReductionExpression_ReduceKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("isOrdered",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("isOrdered");
+ if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getSequenceReductionExpressionAccess().getIsOrderedOrderedKeyword_2_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// behavior=QualifiedNameWithBinding
+protected class SequenceReductionExpression_BehaviorAssignment_3 extends AssignmentToken {
+
+ public SequenceReductionExpression_BehaviorAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSequenceReductionExpressionAccess().getBehaviorAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNameWithBinding_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("behavior",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("behavior");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNameWithBindingRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSequenceReductionExpressionAccess().getBehaviorQualifiedNameWithBindingParserRuleCall_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SequenceReductionExpression_IsOrderedAssignment_2(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new SequenceReductionExpression_ReduceKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// suffix=SuffixExpression?
+protected class SequenceReductionExpression_SuffixAssignment_4 extends AssignmentToken {
+
+ public SequenceReductionExpression_SuffixAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSequenceReductionExpressionAccess().getSuffixAssignment_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuffixExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("suffix",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("suffix");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSuffixExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSequenceReductionExpressionAccess().getSuffixSuffixExpressionParserRuleCall_4_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SequenceReductionExpression_BehaviorAssignment_3(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule SequenceReductionExpression ****************/
+
+
+/************ begin Rule SequenceExpansionExpression ****************
+ *
+ * SequenceExpansionExpression:
+ * SelectOrRejectOperation | CollectOrIterateOperation | ForAllOrExistsOrOneOperation | IsUniqueOperation;
+ *
+ **/
+
+// SelectOrRejectOperation | CollectOrIterateOperation | ForAllOrExistsOrOneOperation | IsUniqueOperation
+protected class SequenceExpansionExpression_Alternatives extends AlternativesToken {
+
+ public SequenceExpansionExpression_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getSequenceExpansionExpressionAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceExpansionExpression_SelectOrRejectOperationParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new SequenceExpansionExpression_CollectOrIterateOperationParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new SequenceExpansionExpression_ForAllOrExistsOrOneOperationParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
+ case 3: return new SequenceExpansionExpression_IsUniqueOperationParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCollectOrIterateOperationRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getForAllOrExistsOrOneOperationRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getIsUniqueOperationRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSelectOrRejectOperationRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// SelectOrRejectOperation
+protected class SequenceExpansionExpression_SelectOrRejectOperationParserRuleCall_0 extends RuleCallToken {
+
+ public SequenceExpansionExpression_SelectOrRejectOperationParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getSequenceExpansionExpressionAccess().getSelectOrRejectOperationParserRuleCall_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SelectOrRejectOperation_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSelectOrRejectOperationRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(SelectOrRejectOperation_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// CollectOrIterateOperation
+protected class SequenceExpansionExpression_CollectOrIterateOperationParserRuleCall_1 extends RuleCallToken {
+
+ public SequenceExpansionExpression_CollectOrIterateOperationParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getSequenceExpansionExpressionAccess().getCollectOrIterateOperationParserRuleCall_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectOrIterateOperation_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCollectOrIterateOperationRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(CollectOrIterateOperation_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// ForAllOrExistsOrOneOperation
+protected class SequenceExpansionExpression_ForAllOrExistsOrOneOperationParserRuleCall_2 extends RuleCallToken {
+
+ public SequenceExpansionExpression_ForAllOrExistsOrOneOperationParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getSequenceExpansionExpressionAccess().getForAllOrExistsOrOneOperationParserRuleCall_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ForAllOrExistsOrOneOperation_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getForAllOrExistsOrOneOperationRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(ForAllOrExistsOrOneOperation_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// IsUniqueOperation
+protected class SequenceExpansionExpression_IsUniqueOperationParserRuleCall_3 extends RuleCallToken {
+
+ public SequenceExpansionExpression_IsUniqueOperationParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getSequenceExpansionExpressionAccess().getIsUniqueOperationParserRuleCall_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new IsUniqueOperation_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getIsUniqueOperationRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(IsUniqueOperation_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+/************ end Rule SequenceExpansionExpression ****************/
+
+
+/************ begin Rule SelectOrRejectOperation ****************
+ *
+ * SelectOrRejectOperation:
+ * "->" op=SelectOrRejectOperator name=ID "(" expr=Expression ")" suffix=SuffixExpression?;
+ *
+ **/
+
+// "->" op=SelectOrRejectOperator name=ID "(" expr=Expression ")" suffix=SuffixExpression?
+protected class SelectOrRejectOperation_Group extends GroupToken {
+
+ public SelectOrRejectOperation_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSelectOrRejectOperationAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SelectOrRejectOperation_SuffixAssignment_6(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new SelectOrRejectOperation_RightParenthesisKeyword_5(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSelectOrRejectOperationRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "->"
+protected class SelectOrRejectOperation_HyphenMinusGreaterThanSignKeyword_0 extends KeywordToken {
+
+ public SelectOrRejectOperation_HyphenMinusGreaterThanSignKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSelectOrRejectOperationAccess().getHyphenMinusGreaterThanSignKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// op=SelectOrRejectOperator
+protected class SelectOrRejectOperation_OpAssignment_1 extends AssignmentToken {
+
+ public SelectOrRejectOperation_OpAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSelectOrRejectOperationAccess().getOpAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SelectOrRejectOperation_HyphenMinusGreaterThanSignKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("op",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
+ if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getSelectOrRejectOperationAccess().getOpSelectOrRejectOperatorEnumRuleCall_1_0(), value, null)) {
+ type = AssignmentType.ENUM_RULE_CALL;
+ element = grammarAccess.getSelectOrRejectOperationAccess().getOpSelectOrRejectOperatorEnumRuleCall_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// name=ID
+protected class SelectOrRejectOperation_NameAssignment_2 extends AssignmentToken {
+
+ public SelectOrRejectOperation_NameAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSelectOrRejectOperationAccess().getNameAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SelectOrRejectOperation_OpAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getSelectOrRejectOperationAccess().getNameIDTerminalRuleCall_2_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getSelectOrRejectOperationAccess().getNameIDTerminalRuleCall_2_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// "("
+protected class SelectOrRejectOperation_LeftParenthesisKeyword_3 extends KeywordToken {
+
+ public SelectOrRejectOperation_LeftParenthesisKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSelectOrRejectOperationAccess().getLeftParenthesisKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SelectOrRejectOperation_NameAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// expr=Expression
+protected class SelectOrRejectOperation_ExprAssignment_4 extends AssignmentToken {
+
+ public SelectOrRejectOperation_ExprAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSelectOrRejectOperationAccess().getExprAssignment_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expr",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expr");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSelectOrRejectOperationAccess().getExprExpressionParserRuleCall_4_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SelectOrRejectOperation_LeftParenthesisKeyword_3(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class SelectOrRejectOperation_RightParenthesisKeyword_5 extends KeywordToken {
+
+ public SelectOrRejectOperation_RightParenthesisKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSelectOrRejectOperationAccess().getRightParenthesisKeyword_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SelectOrRejectOperation_ExprAssignment_4(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// suffix=SuffixExpression?
+protected class SelectOrRejectOperation_SuffixAssignment_6 extends AssignmentToken {
+
+ public SelectOrRejectOperation_SuffixAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSelectOrRejectOperationAccess().getSuffixAssignment_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuffixExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("suffix",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("suffix");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSuffixExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSelectOrRejectOperationAccess().getSuffixSuffixExpressionParserRuleCall_6_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SelectOrRejectOperation_RightParenthesisKeyword_5(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule SelectOrRejectOperation ****************/
+
+
+/************ begin Rule CollectOrIterateOperation ****************
+ *
+ * CollectOrIterateOperation:
+ * "->" op=CollectOrIterateOperator name=ID "(" expr=Expression ")" suffix=SuffixExpression?;
+ *
+ **/
+
+// "->" op=CollectOrIterateOperator name=ID "(" expr=Expression ")" suffix=SuffixExpression?
+protected class CollectOrIterateOperation_Group extends GroupToken {
+
+ public CollectOrIterateOperation_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getCollectOrIterateOperationAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectOrIterateOperation_SuffixAssignment_6(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new CollectOrIterateOperation_RightParenthesisKeyword_5(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCollectOrIterateOperationRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "->"
+protected class CollectOrIterateOperation_HyphenMinusGreaterThanSignKeyword_0 extends KeywordToken {
+
+ public CollectOrIterateOperation_HyphenMinusGreaterThanSignKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getCollectOrIterateOperationAccess().getHyphenMinusGreaterThanSignKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// op=CollectOrIterateOperator
+protected class CollectOrIterateOperation_OpAssignment_1 extends AssignmentToken {
+
+ public CollectOrIterateOperation_OpAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCollectOrIterateOperationAccess().getOpAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectOrIterateOperation_HyphenMinusGreaterThanSignKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("op",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
+ if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getCollectOrIterateOperationAccess().getOpCollectOrIterateOperatorEnumRuleCall_1_0(), value, null)) {
+ type = AssignmentType.ENUM_RULE_CALL;
+ element = grammarAccess.getCollectOrIterateOperationAccess().getOpCollectOrIterateOperatorEnumRuleCall_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// name=ID
+protected class CollectOrIterateOperation_NameAssignment_2 extends AssignmentToken {
+
+ public CollectOrIterateOperation_NameAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCollectOrIterateOperationAccess().getNameAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectOrIterateOperation_OpAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCollectOrIterateOperationAccess().getNameIDTerminalRuleCall_2_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getCollectOrIterateOperationAccess().getNameIDTerminalRuleCall_2_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// "("
+protected class CollectOrIterateOperation_LeftParenthesisKeyword_3 extends KeywordToken {
+
+ public CollectOrIterateOperation_LeftParenthesisKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getCollectOrIterateOperationAccess().getLeftParenthesisKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectOrIterateOperation_NameAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// expr=Expression
+protected class CollectOrIterateOperation_ExprAssignment_4 extends AssignmentToken {
+
+ public CollectOrIterateOperation_ExprAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCollectOrIterateOperationAccess().getExprAssignment_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expr",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expr");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCollectOrIterateOperationAccess().getExprExpressionParserRuleCall_4_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new CollectOrIterateOperation_LeftParenthesisKeyword_3(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class CollectOrIterateOperation_RightParenthesisKeyword_5 extends KeywordToken {
+
+ public CollectOrIterateOperation_RightParenthesisKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getCollectOrIterateOperationAccess().getRightParenthesisKeyword_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CollectOrIterateOperation_ExprAssignment_4(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// suffix=SuffixExpression?
+protected class CollectOrIterateOperation_SuffixAssignment_6 extends AssignmentToken {
+
+ public CollectOrIterateOperation_SuffixAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCollectOrIterateOperationAccess().getSuffixAssignment_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuffixExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("suffix",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("suffix");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSuffixExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCollectOrIterateOperationAccess().getSuffixSuffixExpressionParserRuleCall_6_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new CollectOrIterateOperation_RightParenthesisKeyword_5(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule CollectOrIterateOperation ****************/
+
+
+/************ begin Rule ForAllOrExistsOrOneOperation ****************
+ *
+ * ForAllOrExistsOrOneOperation:
+ * "->" op=ForAllOrExistsOrOneOperator name=ID "(" expr=Expression ")" suffix=SuffixExpression?;
+ *
+ **/
+
+// "->" op=ForAllOrExistsOrOneOperator name=ID "(" expr=Expression ")" suffix=SuffixExpression?
+protected class ForAllOrExistsOrOneOperation_Group extends GroupToken {
+
+ public ForAllOrExistsOrOneOperation_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getForAllOrExistsOrOneOperationAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ForAllOrExistsOrOneOperation_SuffixAssignment_6(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ForAllOrExistsOrOneOperation_RightParenthesisKeyword_5(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getForAllOrExistsOrOneOperationRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "->"
+protected class ForAllOrExistsOrOneOperation_HyphenMinusGreaterThanSignKeyword_0 extends KeywordToken {
+
+ public ForAllOrExistsOrOneOperation_HyphenMinusGreaterThanSignKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getForAllOrExistsOrOneOperationAccess().getHyphenMinusGreaterThanSignKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// op=ForAllOrExistsOrOneOperator
+protected class ForAllOrExistsOrOneOperation_OpAssignment_1 extends AssignmentToken {
+
+ public ForAllOrExistsOrOneOperation_OpAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getForAllOrExistsOrOneOperationAccess().getOpAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ForAllOrExistsOrOneOperation_HyphenMinusGreaterThanSignKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("op",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
+ if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getForAllOrExistsOrOneOperationAccess().getOpForAllOrExistsOrOneOperatorEnumRuleCall_1_0(), value, null)) {
+ type = AssignmentType.ENUM_RULE_CALL;
+ element = grammarAccess.getForAllOrExistsOrOneOperationAccess().getOpForAllOrExistsOrOneOperatorEnumRuleCall_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// name=ID
+protected class ForAllOrExistsOrOneOperation_NameAssignment_2 extends AssignmentToken {
+
+ public ForAllOrExistsOrOneOperation_NameAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getForAllOrExistsOrOneOperationAccess().getNameAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ForAllOrExistsOrOneOperation_OpAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getForAllOrExistsOrOneOperationAccess().getNameIDTerminalRuleCall_2_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getForAllOrExistsOrOneOperationAccess().getNameIDTerminalRuleCall_2_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// "("
+protected class ForAllOrExistsOrOneOperation_LeftParenthesisKeyword_3 extends KeywordToken {
+
+ public ForAllOrExistsOrOneOperation_LeftParenthesisKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getForAllOrExistsOrOneOperationAccess().getLeftParenthesisKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ForAllOrExistsOrOneOperation_NameAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// expr=Expression
+protected class ForAllOrExistsOrOneOperation_ExprAssignment_4 extends AssignmentToken {
+
+ public ForAllOrExistsOrOneOperation_ExprAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getForAllOrExistsOrOneOperationAccess().getExprAssignment_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expr",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expr");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getForAllOrExistsOrOneOperationAccess().getExprExpressionParserRuleCall_4_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ForAllOrExistsOrOneOperation_LeftParenthesisKeyword_3(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class ForAllOrExistsOrOneOperation_RightParenthesisKeyword_5 extends KeywordToken {
+
+ public ForAllOrExistsOrOneOperation_RightParenthesisKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getForAllOrExistsOrOneOperationAccess().getRightParenthesisKeyword_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ForAllOrExistsOrOneOperation_ExprAssignment_4(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// suffix=SuffixExpression?
+protected class ForAllOrExistsOrOneOperation_SuffixAssignment_6 extends AssignmentToken {
+
+ public ForAllOrExistsOrOneOperation_SuffixAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getForAllOrExistsOrOneOperationAccess().getSuffixAssignment_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuffixExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("suffix",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("suffix");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSuffixExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getForAllOrExistsOrOneOperationAccess().getSuffixSuffixExpressionParserRuleCall_6_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ForAllOrExistsOrOneOperation_RightParenthesisKeyword_5(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule ForAllOrExistsOrOneOperation ****************/
+
+
+/************ begin Rule IsUniqueOperation ****************
+ *
+ * IsUniqueOperation:
+ * "->" "isUnique" name=ID "(" expr=Expression ")" suffix=SuffixExpression?;
+ *
+ **/
+
+// "->" "isUnique" name=ID "(" expr=Expression ")" suffix=SuffixExpression?
+protected class IsUniqueOperation_Group extends GroupToken {
+
+ public IsUniqueOperation_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getIsUniqueOperationAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new IsUniqueOperation_SuffixAssignment_6(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new IsUniqueOperation_RightParenthesisKeyword_5(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getIsUniqueOperationRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "->"
+protected class IsUniqueOperation_HyphenMinusGreaterThanSignKeyword_0 extends KeywordToken {
+
+ public IsUniqueOperation_HyphenMinusGreaterThanSignKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getIsUniqueOperationAccess().getHyphenMinusGreaterThanSignKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// "isUnique"
+protected class IsUniqueOperation_IsUniqueKeyword_1 extends KeywordToken {
+
+ public IsUniqueOperation_IsUniqueKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getIsUniqueOperationAccess().getIsUniqueKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new IsUniqueOperation_HyphenMinusGreaterThanSignKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// name=ID
+protected class IsUniqueOperation_NameAssignment_2 extends AssignmentToken {
+
+ public IsUniqueOperation_NameAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getIsUniqueOperationAccess().getNameAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new IsUniqueOperation_IsUniqueKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getIsUniqueOperationAccess().getNameIDTerminalRuleCall_2_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getIsUniqueOperationAccess().getNameIDTerminalRuleCall_2_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// "("
+protected class IsUniqueOperation_LeftParenthesisKeyword_3 extends KeywordToken {
+
+ public IsUniqueOperation_LeftParenthesisKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getIsUniqueOperationAccess().getLeftParenthesisKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new IsUniqueOperation_NameAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// expr=Expression
+protected class IsUniqueOperation_ExprAssignment_4 extends AssignmentToken {
+
+ public IsUniqueOperation_ExprAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getIsUniqueOperationAccess().getExprAssignment_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expr",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expr");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getIsUniqueOperationAccess().getExprExpressionParserRuleCall_4_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new IsUniqueOperation_LeftParenthesisKeyword_3(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class IsUniqueOperation_RightParenthesisKeyword_5 extends KeywordToken {
+
+ public IsUniqueOperation_RightParenthesisKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getIsUniqueOperationAccess().getRightParenthesisKeyword_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new IsUniqueOperation_ExprAssignment_4(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// suffix=SuffixExpression?
+protected class IsUniqueOperation_SuffixAssignment_6 extends AssignmentToken {
+
+ public IsUniqueOperation_SuffixAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getIsUniqueOperationAccess().getSuffixAssignment_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuffixExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("suffix",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("suffix");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSuffixExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getIsUniqueOperationAccess().getSuffixSuffixExpressionParserRuleCall_6_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new IsUniqueOperation_RightParenthesisKeyword_5(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule IsUniqueOperation ****************/
+
+
+/************ begin Rule ValueSpecification ****************
+ *
+ * ValueSpecification:
+ * NameExpression | LITERAL | ThisExpression | SuperInvocationExpression | InstanceCreationExpression |
+ * ParenthesizedExpression | NullExpression;
+ *
+ **/
+
+// NameExpression | LITERAL | ThisExpression | SuperInvocationExpression | InstanceCreationExpression |
+// ParenthesizedExpression | NullExpression
+protected class ValueSpecification_Alternatives extends AlternativesToken {
+
+ public ValueSpecification_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ValueSpecification_NameExpressionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ValueSpecification_LITERALParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new ValueSpecification_ThisExpressionParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
+ case 3: return new ValueSpecification_SuperInvocationExpressionParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
+ case 4: return new ValueSpecification_InstanceCreationExpressionParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
+ case 5: return new ValueSpecification_ParenthesizedExpressionParserRuleCall_5(lastRuleCallOrigin, this, 5, inst);
+ case 6: return new ValueSpecification_NullExpressionParserRuleCall_6(lastRuleCallOrigin, this, 6, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBOOLEAN_LITERALRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getINTEGER_LITERALRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getInstanceCreationExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNameExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNullExpressionAccess().getNullExpressionAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getParenthesizedExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSTRING_LITERALRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSuperInvocationExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getThisExpressionAccess().getThisExpressionAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUNLIMITED_LITERALRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// NameExpression
+protected class ValueSpecification_NameExpressionParserRuleCall_0 extends RuleCallToken {
+
+ public ValueSpecification_NameExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getNameExpressionParserRuleCall_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNameExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(NameExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// LITERAL
+protected class ValueSpecification_LITERALParserRuleCall_1 extends RuleCallToken {
+
+ public ValueSpecification_LITERALParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getLITERALParserRuleCall_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LITERAL_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBOOLEAN_LITERALRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getINTEGER_LITERALRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSTRING_LITERALRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getUNLIMITED_LITERALRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(LITERAL_Alternatives.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// ThisExpression
+protected class ValueSpecification_ThisExpressionParserRuleCall_2 extends RuleCallToken {
+
+ public ValueSpecification_ThisExpressionParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getThisExpressionParserRuleCall_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ThisExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getThisExpressionAccess().getThisExpressionAction_0().getType().getClassifier())
+ return null;
+ if(checkForRecursion(ThisExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// SuperInvocationExpression
+protected class ValueSpecification_SuperInvocationExpressionParserRuleCall_3 extends RuleCallToken {
+
+ public ValueSpecification_SuperInvocationExpressionParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getSuperInvocationExpressionParserRuleCall_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuperInvocationExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSuperInvocationExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(SuperInvocationExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// InstanceCreationExpression
+protected class ValueSpecification_InstanceCreationExpressionParserRuleCall_4 extends RuleCallToken {
+
+ public ValueSpecification_InstanceCreationExpressionParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getInstanceCreationExpressionParserRuleCall_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstanceCreationExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInstanceCreationExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(InstanceCreationExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// ParenthesizedExpression
+protected class ValueSpecification_ParenthesizedExpressionParserRuleCall_5 extends RuleCallToken {
+
+ public ValueSpecification_ParenthesizedExpressionParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getParenthesizedExpressionParserRuleCall_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ParenthesizedExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getParenthesizedExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(ParenthesizedExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// NullExpression
+protected class ValueSpecification_NullExpressionParserRuleCall_6 extends RuleCallToken {
+
+ public ValueSpecification_NullExpressionParserRuleCall_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getValueSpecificationAccess().getNullExpressionParserRuleCall_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NullExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNullExpressionAccess().getNullExpressionAction_0().getType().getClassifier())
+ return null;
+ if(checkForRecursion(NullExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+/************ end Rule ValueSpecification ****************/
+
+
+/************ begin Rule NonLiteralValueSpecification ****************
+ *
+ * NonLiteralValueSpecification:
+ * NameExpression | ParenthesizedExpression | InstanceCreationExpression | ThisExpression | SuperInvocationExpression;
+ *
+ **/
+
+// NameExpression | ParenthesizedExpression | InstanceCreationExpression | ThisExpression | SuperInvocationExpression
+protected class NonLiteralValueSpecification_Alternatives extends AlternativesToken {
+
+ public NonLiteralValueSpecification_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getNonLiteralValueSpecificationAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NonLiteralValueSpecification_NameExpressionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new NonLiteralValueSpecification_ParenthesizedExpressionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new NonLiteralValueSpecification_InstanceCreationExpressionParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
+ case 3: return new NonLiteralValueSpecification_ThisExpressionParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
+ case 4: return new NonLiteralValueSpecification_SuperInvocationExpressionParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInstanceCreationExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getNameExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getParenthesizedExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSuperInvocationExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getThisExpressionAccess().getThisExpressionAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// NameExpression
+protected class NonLiteralValueSpecification_NameExpressionParserRuleCall_0 extends RuleCallToken {
+
+ public NonLiteralValueSpecification_NameExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getNonLiteralValueSpecificationAccess().getNameExpressionParserRuleCall_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNameExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(NameExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// ParenthesizedExpression
+protected class NonLiteralValueSpecification_ParenthesizedExpressionParserRuleCall_1 extends RuleCallToken {
+
+ public NonLiteralValueSpecification_ParenthesizedExpressionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getNonLiteralValueSpecificationAccess().getParenthesizedExpressionParserRuleCall_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ParenthesizedExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getParenthesizedExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(ParenthesizedExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// InstanceCreationExpression
+protected class NonLiteralValueSpecification_InstanceCreationExpressionParserRuleCall_2 extends RuleCallToken {
+
+ public NonLiteralValueSpecification_InstanceCreationExpressionParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getNonLiteralValueSpecificationAccess().getInstanceCreationExpressionParserRuleCall_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstanceCreationExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInstanceCreationExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(InstanceCreationExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// ThisExpression
+protected class NonLiteralValueSpecification_ThisExpressionParserRuleCall_3 extends RuleCallToken {
+
+ public NonLiteralValueSpecification_ThisExpressionParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getNonLiteralValueSpecificationAccess().getThisExpressionParserRuleCall_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ThisExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getThisExpressionAccess().getThisExpressionAction_0().getType().getClassifier())
+ return null;
+ if(checkForRecursion(ThisExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// SuperInvocationExpression
+protected class NonLiteralValueSpecification_SuperInvocationExpressionParserRuleCall_4 extends RuleCallToken {
+
+ public NonLiteralValueSpecification_SuperInvocationExpressionParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getNonLiteralValueSpecificationAccess().getSuperInvocationExpressionParserRuleCall_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuperInvocationExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSuperInvocationExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(SuperInvocationExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+/************ end Rule NonLiteralValueSpecification ****************/
+
+
+/************ begin Rule ParenthesizedExpression ****************
+ *
+ * ParenthesizedExpression:
+ * "(" expOrTypeCast=Expression ")" (casted=NonLiteralValueSpecification | suffix=SuffixExpression)?;
+ *
+ **/
+
+// "(" expOrTypeCast=Expression ")" (casted=NonLiteralValueSpecification | suffix=SuffixExpression)?
+protected class ParenthesizedExpression_Group extends GroupToken {
+
+ public ParenthesizedExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getParenthesizedExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ParenthesizedExpression_Alternatives_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ParenthesizedExpression_RightParenthesisKeyword_2(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getParenthesizedExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "("
+protected class ParenthesizedExpression_LeftParenthesisKeyword_0 extends KeywordToken {
+
+ public ParenthesizedExpression_LeftParenthesisKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getParenthesizedExpressionAccess().getLeftParenthesisKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// expOrTypeCast=Expression
+protected class ParenthesizedExpression_ExpOrTypeCastAssignment_1 extends AssignmentToken {
+
+ public ParenthesizedExpression_ExpOrTypeCastAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getParenthesizedExpressionAccess().getExpOrTypeCastAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expOrTypeCast",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expOrTypeCast");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getParenthesizedExpressionAccess().getExpOrTypeCastExpressionParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ParenthesizedExpression_LeftParenthesisKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class ParenthesizedExpression_RightParenthesisKeyword_2 extends KeywordToken {
+
+ public ParenthesizedExpression_RightParenthesisKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getParenthesizedExpressionAccess().getRightParenthesisKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ParenthesizedExpression_ExpOrTypeCastAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// (casted=NonLiteralValueSpecification | suffix=SuffixExpression)?
+protected class ParenthesizedExpression_Alternatives_3 extends AlternativesToken {
+
+ public ParenthesizedExpression_Alternatives_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getParenthesizedExpressionAccess().getAlternatives_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ParenthesizedExpression_CastedAssignment_3_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ParenthesizedExpression_SuffixAssignment_3_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// casted=NonLiteralValueSpecification
+protected class ParenthesizedExpression_CastedAssignment_3_0 extends AssignmentToken {
+
+ public ParenthesizedExpression_CastedAssignment_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getParenthesizedExpressionAccess().getCastedAssignment_3_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NonLiteralValueSpecification_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("casted",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("casted");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNonLiteralValueSpecificationRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getParenthesizedExpressionAccess().getCastedNonLiteralValueSpecificationParserRuleCall_3_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ParenthesizedExpression_RightParenthesisKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// suffix=SuffixExpression
+protected class ParenthesizedExpression_SuffixAssignment_3_1 extends AssignmentToken {
+
+ public ParenthesizedExpression_SuffixAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getParenthesizedExpressionAccess().getSuffixAssignment_3_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuffixExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("suffix",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("suffix");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSuffixExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getParenthesizedExpressionAccess().getSuffixSuffixExpressionParserRuleCall_3_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ParenthesizedExpression_RightParenthesisKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule ParenthesizedExpression ****************/
+
+
+/************ begin Rule NullExpression ****************
+ *
+ * NullExpression:
+ * {NullExpression} "null";
+ *
+ **/
+
+// {NullExpression} "null"
+protected class NullExpression_Group extends GroupToken {
+
+ public NullExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNullExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NullExpression_NullKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNullExpressionAccess().getNullExpressionAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {NullExpression}
+protected class NullExpression_NullExpressionAction_0 extends ActionToken {
+
+ public NullExpression_NullExpressionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getNullExpressionAccess().getNullExpressionAction_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// "null"
+protected class NullExpression_NullKeyword_1 extends KeywordToken {
+
+ public NullExpression_NullKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getNullExpressionAccess().getNullKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NullExpression_NullExpressionAction_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule NullExpression ****************/
+
+
+/************ begin Rule ThisExpression ****************
+ *
+ * ThisExpression:
+ * {ThisExpression} "this" suffix=SuffixExpression?;
+ *
+ **/
+
+// {ThisExpression} "this" suffix=SuffixExpression?
+protected class ThisExpression_Group extends GroupToken {
+
+ public ThisExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getThisExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ThisExpression_SuffixAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ThisExpression_ThisKeyword_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getThisExpressionAccess().getThisExpressionAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {ThisExpression}
+protected class ThisExpression_ThisExpressionAction_0 extends ActionToken {
+
+ public ThisExpression_ThisExpressionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getThisExpressionAccess().getThisExpressionAction_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// "this"
+protected class ThisExpression_ThisKeyword_1 extends KeywordToken {
+
+ public ThisExpression_ThisKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getThisExpressionAccess().getThisKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ThisExpression_ThisExpressionAction_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// suffix=SuffixExpression?
+protected class ThisExpression_SuffixAssignment_2 extends AssignmentToken {
+
+ public ThisExpression_SuffixAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getThisExpressionAccess().getSuffixAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuffixExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("suffix",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("suffix");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSuffixExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getThisExpressionAccess().getSuffixSuffixExpressionParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ThisExpression_ThisKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule ThisExpression ****************/
+
+
+/************ begin Rule SuperInvocationExpression ****************
+ *
+ * // SuperInvocationExpression :
+ * // //{SuperInvocationExpression} 'super' ('.' qualifiedNameRoot = ID '::' qualifiedNameRemaining = NameExpression)? //(suffix = SuffixExpression) ?
+ * // 'super' ('.' className = ID '::' operationCallWithoutDot = OperationCallExpressionWithoutDot | operationCall = OperationCallExpression)
+ * //;
+ * SuperInvocationExpression: //{SuperInvocationExpression} 'super' ('.' qualifiedNameRoot = ID '::' qualifiedNameRemaining = NameExpression)? //(suffix = SuffixExpression) ?
+ * //'super' ('.' className = ID '::' operationCallWithoutDot = OperationCallExpressionWithoutDot | operationCall = OperationCallExpression)
+ * //'super' ((tuple = Tuple) |
+ * // ('.' (path = QualifiedNamePath) operation = ID tuple = Tuple))
+ * "super" (tuple=Tuple | "." operationName=QualifiedNameWithBinding tuple=Tuple);
+ *
+ **/
+
+// //{SuperInvocationExpression} 'super' ('.' qualifiedNameRoot = ID '::' qualifiedNameRemaining = NameExpression)? //(suffix = SuffixExpression) ?
+// //'super' ('.' className = ID '::' operationCallWithoutDot = OperationCallExpressionWithoutDot | operationCall = OperationCallExpression)
+// //'super' ((tuple = Tuple) |
+// // ('.' (path = QualifiedNamePath) operation = ID tuple = Tuple))
+// "super" (tuple=Tuple | "." operationName=QualifiedNameWithBinding tuple=Tuple)
+protected class SuperInvocationExpression_Group extends GroupToken {
+
+ public SuperInvocationExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSuperInvocationExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuperInvocationExpression_Alternatives_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSuperInvocationExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// //{SuperInvocationExpression} 'super' ('.' qualifiedNameRoot = ID '::' qualifiedNameRemaining = NameExpression)? //(suffix = SuffixExpression) ?
+// //'super' ('.' className = ID '::' operationCallWithoutDot = OperationCallExpressionWithoutDot | operationCall = OperationCallExpression)
+// //'super' ((tuple = Tuple) |
+// // ('.' (path = QualifiedNamePath) operation = ID tuple = Tuple))
+// "super"
+protected class SuperInvocationExpression_SuperKeyword_0 extends KeywordToken {
+
+ public SuperInvocationExpression_SuperKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSuperInvocationExpressionAccess().getSuperKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// tuple=Tuple | "." operationName=QualifiedNameWithBinding tuple=Tuple
+protected class SuperInvocationExpression_Alternatives_1 extends AlternativesToken {
+
+ public SuperInvocationExpression_Alternatives_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getSuperInvocationExpressionAccess().getAlternatives_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuperInvocationExpression_TupleAssignment_1_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new SuperInvocationExpression_Group_1_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// tuple=Tuple
+protected class SuperInvocationExpression_TupleAssignment_1_0 extends AssignmentToken {
+
+ public SuperInvocationExpression_TupleAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSuperInvocationExpressionAccess().getTupleAssignment_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Tuple_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("tuple",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tuple");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTupleRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSuperInvocationExpressionAccess().getTupleTupleParserRuleCall_1_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SuperInvocationExpression_SuperKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "." operationName=QualifiedNameWithBinding tuple=Tuple
+protected class SuperInvocationExpression_Group_1_1 extends GroupToken {
+
+ public SuperInvocationExpression_Group_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSuperInvocationExpressionAccess().getGroup_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuperInvocationExpression_TupleAssignment_1_1_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "."
+protected class SuperInvocationExpression_FullStopKeyword_1_1_0 extends KeywordToken {
+
+ public SuperInvocationExpression_FullStopKeyword_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSuperInvocationExpressionAccess().getFullStopKeyword_1_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuperInvocationExpression_SuperKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// operationName=QualifiedNameWithBinding
+protected class SuperInvocationExpression_OperationNameAssignment_1_1_1 extends AssignmentToken {
+
+ public SuperInvocationExpression_OperationNameAssignment_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSuperInvocationExpressionAccess().getOperationNameAssignment_1_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNameWithBinding_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("operationName",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operationName");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNameWithBindingRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSuperInvocationExpressionAccess().getOperationNameQualifiedNameWithBindingParserRuleCall_1_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SuperInvocationExpression_FullStopKeyword_1_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// tuple=Tuple
+protected class SuperInvocationExpression_TupleAssignment_1_1_2 extends AssignmentToken {
+
+ public SuperInvocationExpression_TupleAssignment_1_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSuperInvocationExpressionAccess().getTupleAssignment_1_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Tuple_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("tuple",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tuple");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getTupleRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSuperInvocationExpressionAccess().getTupleTupleParserRuleCall_1_1_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SuperInvocationExpression_OperationNameAssignment_1_1_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+
+/************ end Rule SuperInvocationExpression ****************/
+
+
+/************ begin Rule InstanceCreationExpression ****************
+ *
+ * //InstanceCreationExpression :
+ * //'new' constructor=QualifiedNameWithBinding
+ * // (tuple = Tuple | sequenceConstuctionCompletion = SequenceConstructionCompletion) (suffix = SuffixExpression) ?
+ * //'new' constructor=QualifiedNameWithBinding
+ * // tuple = Tuple (suffix = SuffixExpression) ?
+ * //;
+ * InstanceCreationExpression: //'new' constructor=QualifiedNameWithBinding
+ * // (tuple = Tuple | sequenceConstuctionCompletion = SequenceConstructionCompletion) (suffix = SuffixExpression) ?
+ * "new" constructor=QualifiedNameWithBinding tuple=InstanceCreationTuple suffix=SuffixExpression?;
+ *
+ **/
+
+// //'new' constructor=QualifiedNameWithBinding
+// // (tuple = Tuple | sequenceConstuctionCompletion = SequenceConstructionCompletion) (suffix = SuffixExpression) ?
+// "new" constructor=QualifiedNameWithBinding tuple=InstanceCreationTuple suffix=SuffixExpression?
+protected class InstanceCreationExpression_Group extends GroupToken {
+
+ public InstanceCreationExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getInstanceCreationExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstanceCreationExpression_SuffixAssignment_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new InstanceCreationExpression_TupleAssignment_2(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInstanceCreationExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// //'new' constructor=QualifiedNameWithBinding
+// // (tuple = Tuple | sequenceConstuctionCompletion = SequenceConstructionCompletion) (suffix = SuffixExpression) ?
+// "new"
+protected class InstanceCreationExpression_NewKeyword_0 extends KeywordToken {
+
+ public InstanceCreationExpression_NewKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInstanceCreationExpressionAccess().getNewKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// constructor=QualifiedNameWithBinding
+protected class InstanceCreationExpression_ConstructorAssignment_1 extends AssignmentToken {
+
+ public InstanceCreationExpression_ConstructorAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInstanceCreationExpressionAccess().getConstructorAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNameWithBinding_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("constructor",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("constructor");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNameWithBindingRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getInstanceCreationExpressionAccess().getConstructorQualifiedNameWithBindingParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new InstanceCreationExpression_NewKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// tuple=InstanceCreationTuple
+protected class InstanceCreationExpression_TupleAssignment_2 extends AssignmentToken {
+
+ public InstanceCreationExpression_TupleAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInstanceCreationExpressionAccess().getTupleAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstanceCreationTuple_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("tuple",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tuple");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getInstanceCreationTupleRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getInstanceCreationExpressionAccess().getTupleInstanceCreationTupleParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new InstanceCreationExpression_ConstructorAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// suffix=SuffixExpression?
+protected class InstanceCreationExpression_SuffixAssignment_3 extends AssignmentToken {
+
+ public InstanceCreationExpression_SuffixAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInstanceCreationExpressionAccess().getSuffixAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuffixExpression_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("suffix",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("suffix");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSuffixExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getInstanceCreationExpressionAccess().getSuffixSuffixExpressionParserRuleCall_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new InstanceCreationExpression_TupleAssignment_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule InstanceCreationExpression ****************/
+
+
+/************ begin Rule InstanceCreationTuple ****************
+ *
+ * InstanceCreationTuple:
+ * {InstanceCreationTuple} "(" (instanceCreationTupleElement+=InstanceCreationTupleElement (","
+ * instanceCreationTupleElement+=InstanceCreationTupleElement)*)? ")";
+ *
+ **/
+
+// {InstanceCreationTuple} "(" (instanceCreationTupleElement+=InstanceCreationTupleElement (","
+// instanceCreationTupleElement+=InstanceCreationTupleElement)*)? ")"
+protected class InstanceCreationTuple_Group extends GroupToken {
+
+ public InstanceCreationTuple_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getInstanceCreationTupleAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstanceCreationTuple_RightParenthesisKeyword_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInstanceCreationTupleAccess().getInstanceCreationTupleAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {InstanceCreationTuple}
+protected class InstanceCreationTuple_InstanceCreationTupleAction_0 extends ActionToken {
+
+ public InstanceCreationTuple_InstanceCreationTupleAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getInstanceCreationTupleAccess().getInstanceCreationTupleAction_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// "("
+protected class InstanceCreationTuple_LeftParenthesisKeyword_1 extends KeywordToken {
+
+ public InstanceCreationTuple_LeftParenthesisKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInstanceCreationTupleAccess().getLeftParenthesisKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstanceCreationTuple_InstanceCreationTupleAction_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// (instanceCreationTupleElement+=InstanceCreationTupleElement (","
+// instanceCreationTupleElement+=InstanceCreationTupleElement)*)?
+protected class InstanceCreationTuple_Group_2 extends GroupToken {
+
+ public InstanceCreationTuple_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getInstanceCreationTupleAccess().getGroup_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstanceCreationTuple_Group_2_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new InstanceCreationTuple_InstanceCreationTupleElementAssignment_2_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// instanceCreationTupleElement+=InstanceCreationTupleElement
+protected class InstanceCreationTuple_InstanceCreationTupleElementAssignment_2_0 extends AssignmentToken {
+
+ public InstanceCreationTuple_InstanceCreationTupleElementAssignment_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInstanceCreationTupleAccess().getInstanceCreationTupleElementAssignment_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstanceCreationTupleElement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("instanceCreationTupleElement",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("instanceCreationTupleElement");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getInstanceCreationTupleElementRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getInstanceCreationTupleAccess().getInstanceCreationTupleElementInstanceCreationTupleElementParserRuleCall_2_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new InstanceCreationTuple_LeftParenthesisKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("," instanceCreationTupleElement+=InstanceCreationTupleElement)*
+protected class InstanceCreationTuple_Group_2_1 extends GroupToken {
+
+ public InstanceCreationTuple_Group_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getInstanceCreationTupleAccess().getGroup_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstanceCreationTuple_InstanceCreationTupleElementAssignment_2_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class InstanceCreationTuple_CommaKeyword_2_1_0 extends KeywordToken {
+
+ public InstanceCreationTuple_CommaKeyword_2_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInstanceCreationTupleAccess().getCommaKeyword_2_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstanceCreationTuple_Group_2_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new InstanceCreationTuple_InstanceCreationTupleElementAssignment_2_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// instanceCreationTupleElement+=InstanceCreationTupleElement
+protected class InstanceCreationTuple_InstanceCreationTupleElementAssignment_2_1_1 extends AssignmentToken {
+
+ public InstanceCreationTuple_InstanceCreationTupleElementAssignment_2_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInstanceCreationTupleAccess().getInstanceCreationTupleElementAssignment_2_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstanceCreationTupleElement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("instanceCreationTupleElement",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("instanceCreationTupleElement");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getInstanceCreationTupleElementRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getInstanceCreationTupleAccess().getInstanceCreationTupleElementInstanceCreationTupleElementParserRuleCall_2_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new InstanceCreationTuple_CommaKeyword_2_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+// ")"
+protected class InstanceCreationTuple_RightParenthesisKeyword_3 extends KeywordToken {
+
+ public InstanceCreationTuple_RightParenthesisKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInstanceCreationTupleAccess().getRightParenthesisKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstanceCreationTuple_Group_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new InstanceCreationTuple_LeftParenthesisKeyword_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule InstanceCreationTuple ****************/
+
+
+/************ begin Rule InstanceCreationTupleElement ****************
+ *
+ * //LinkOperationTupleElement :
+ * // objectOrRole = ID (('['roleIndex = Expression ']')? '=>' object = ID)?
+ * //;
+ * InstanceCreationTupleElement:
+ * role=ID "=>" object=Expression;
+ *
+ **/
+
+// role=ID "=>" object=Expression
+protected class InstanceCreationTupleElement_Group extends GroupToken {
+
+ public InstanceCreationTupleElement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getInstanceCreationTupleElementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstanceCreationTupleElement_ObjectAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInstanceCreationTupleElementRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// role=ID
+protected class InstanceCreationTupleElement_RoleAssignment_0 extends AssignmentToken {
+
+ public InstanceCreationTupleElement_RoleAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInstanceCreationTupleElementAccess().getRoleAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("role",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("role");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInstanceCreationTupleElementAccess().getRoleIDTerminalRuleCall_0_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getInstanceCreationTupleElementAccess().getRoleIDTerminalRuleCall_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// "=>"
+protected class InstanceCreationTupleElement_EqualsSignGreaterThanSignKeyword_1 extends KeywordToken {
+
+ public InstanceCreationTupleElement_EqualsSignGreaterThanSignKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInstanceCreationTupleElementAccess().getEqualsSignGreaterThanSignKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstanceCreationTupleElement_RoleAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// object=Expression
+protected class InstanceCreationTupleElement_ObjectAssignment_2 extends AssignmentToken {
+
+ public InstanceCreationTupleElement_ObjectAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInstanceCreationTupleElementAccess().getObjectAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("object",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("object");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getInstanceCreationTupleElementAccess().getObjectExpressionParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new InstanceCreationTupleElement_EqualsSignGreaterThanSignKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule InstanceCreationTupleElement ****************/
+
+
+/************ begin Rule SequenceConstructionOrAccessCompletion ****************
+ *
+ * SequenceConstructionOrAccessCompletion:
+ * multiplicityIndicator?="[" (accessCompletion=AccessCompletion |
+ * sequenceCompletion=PartialSequenceConstructionCompletion) | expression=SequenceConstructionExpression;
+ *
+ **/
+
+// multiplicityIndicator?="[" (accessCompletion=AccessCompletion |
+// sequenceCompletion=PartialSequenceConstructionCompletion) | expression=SequenceConstructionExpression
+protected class SequenceConstructionOrAccessCompletion_Alternatives extends AlternativesToken {
+
+ public SequenceConstructionOrAccessCompletion_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getSequenceConstructionOrAccessCompletionAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceConstructionOrAccessCompletion_Group_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new SequenceConstructionOrAccessCompletion_ExpressionAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSequenceConstructionOrAccessCompletionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// multiplicityIndicator?="[" (accessCompletion=AccessCompletion |
+// sequenceCompletion=PartialSequenceConstructionCompletion)
+protected class SequenceConstructionOrAccessCompletion_Group_0 extends GroupToken {
+
+ public SequenceConstructionOrAccessCompletion_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSequenceConstructionOrAccessCompletionAccess().getGroup_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceConstructionOrAccessCompletion_Alternatives_0_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// multiplicityIndicator?="["
+protected class SequenceConstructionOrAccessCompletion_MultiplicityIndicatorAssignment_0_0 extends AssignmentToken {
+
+ public SequenceConstructionOrAccessCompletion_MultiplicityIndicatorAssignment_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSequenceConstructionOrAccessCompletionAccess().getMultiplicityIndicatorAssignment_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("multiplicityIndicator",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("multiplicityIndicator");
+ if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getSequenceConstructionOrAccessCompletionAccess().getMultiplicityIndicatorLeftSquareBracketKeyword_0_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// accessCompletion=AccessCompletion | sequenceCompletion=PartialSequenceConstructionCompletion
+protected class SequenceConstructionOrAccessCompletion_Alternatives_0_1 extends AlternativesToken {
+
+ public SequenceConstructionOrAccessCompletion_Alternatives_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getSequenceConstructionOrAccessCompletionAccess().getAlternatives_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceConstructionOrAccessCompletion_AccessCompletionAssignment_0_1_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new SequenceConstructionOrAccessCompletion_SequenceCompletionAssignment_0_1_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// accessCompletion=AccessCompletion
+protected class SequenceConstructionOrAccessCompletion_AccessCompletionAssignment_0_1_0 extends AssignmentToken {
+
+ public SequenceConstructionOrAccessCompletion_AccessCompletionAssignment_0_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSequenceConstructionOrAccessCompletionAccess().getAccessCompletionAssignment_0_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AccessCompletion_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("accessCompletion",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("accessCompletion");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAccessCompletionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSequenceConstructionOrAccessCompletionAccess().getAccessCompletionAccessCompletionParserRuleCall_0_1_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SequenceConstructionOrAccessCompletion_MultiplicityIndicatorAssignment_0_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// sequenceCompletion=PartialSequenceConstructionCompletion
+protected class SequenceConstructionOrAccessCompletion_SequenceCompletionAssignment_0_1_1 extends AssignmentToken {
+
+ public SequenceConstructionOrAccessCompletion_SequenceCompletionAssignment_0_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSequenceConstructionOrAccessCompletionAccess().getSequenceCompletionAssignment_0_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PartialSequenceConstructionCompletion_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("sequenceCompletion",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sequenceCompletion");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPartialSequenceConstructionCompletionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSequenceConstructionOrAccessCompletionAccess().getSequenceCompletionPartialSequenceConstructionCompletionParserRuleCall_0_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SequenceConstructionOrAccessCompletion_MultiplicityIndicatorAssignment_0_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+// expression=SequenceConstructionExpression
+protected class SequenceConstructionOrAccessCompletion_ExpressionAssignment_1 extends AssignmentToken {
+
+ public SequenceConstructionOrAccessCompletion_ExpressionAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSequenceConstructionOrAccessCompletionAccess().getExpressionAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceConstructionExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSequenceConstructionExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSequenceConstructionOrAccessCompletionAccess().getExpressionSequenceConstructionExpressionParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+
+/************ end Rule SequenceConstructionOrAccessCompletion ****************/
+
+
+/************ begin Rule AccessCompletion ****************
+ *
+ * AccessCompletion:
+ * accessIndex=Expression "]";
+ *
+ **/
+
+// accessIndex=Expression "]"
+protected class AccessCompletion_Group extends GroupToken {
+
+ public AccessCompletion_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getAccessCompletionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AccessCompletion_RightSquareBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getAccessCompletionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// accessIndex=Expression
+protected class AccessCompletion_AccessIndexAssignment_0 extends AssignmentToken {
+
+ public AccessCompletion_AccessIndexAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAccessCompletionAccess().getAccessIndexAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("accessIndex",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("accessIndex");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getAccessCompletionAccess().getAccessIndexExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// "]"
+protected class AccessCompletion_RightSquareBracketKeyword_1 extends KeywordToken {
+
+ public AccessCompletion_RightSquareBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getAccessCompletionAccess().getRightSquareBracketKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AccessCompletion_AccessIndexAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule AccessCompletion ****************/
+
+
+/************ begin Rule PartialSequenceConstructionCompletion ****************
+ *
+ * PartialSequenceConstructionCompletion:
+ * "]" expression=SequenceConstructionExpression;
+ *
+ **/
+
+// "]" expression=SequenceConstructionExpression
+protected class PartialSequenceConstructionCompletion_Group extends GroupToken {
+
+ public PartialSequenceConstructionCompletion_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPartialSequenceConstructionCompletionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new PartialSequenceConstructionCompletion_ExpressionAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getPartialSequenceConstructionCompletionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "]"
+protected class PartialSequenceConstructionCompletion_RightSquareBracketKeyword_0 extends KeywordToken {
+
+ public PartialSequenceConstructionCompletion_RightSquareBracketKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPartialSequenceConstructionCompletionAccess().getRightSquareBracketKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// expression=SequenceConstructionExpression
+protected class PartialSequenceConstructionCompletion_ExpressionAssignment_1 extends AssignmentToken {
+
+ public PartialSequenceConstructionCompletion_ExpressionAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPartialSequenceConstructionCompletionAccess().getExpressionAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceConstructionExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSequenceConstructionExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPartialSequenceConstructionCompletionAccess().getExpressionSequenceConstructionExpressionParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new PartialSequenceConstructionCompletion_RightSquareBracketKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule PartialSequenceConstructionCompletion ****************/
+
+
+/************ begin Rule SequenceConstructionExpression ****************
+ *
+ * //SequenceConstructionCompletion :
+ * // (multiplicityIndicator ?= '['']')? expression = SequenceConstructionExpression
+ * //;
+ * SequenceConstructionExpression:
+ * "{" sequenceElement+=SequenceElement (("," sequenceElement+=SequenceElement)* | ".." rangeUpper=Expression) "}";
+ *
+ **/
+
+// "{" sequenceElement+=SequenceElement (("," sequenceElement+=SequenceElement)* | ".." rangeUpper=Expression) "}"
+protected class SequenceConstructionExpression_Group extends GroupToken {
+
+ public SequenceConstructionExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSequenceConstructionExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceConstructionExpression_RightCurlyBracketKeyword_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSequenceConstructionExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "{"
+protected class SequenceConstructionExpression_LeftCurlyBracketKeyword_0 extends KeywordToken {
+
+ public SequenceConstructionExpression_LeftCurlyBracketKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSequenceConstructionExpressionAccess().getLeftCurlyBracketKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// sequenceElement+=SequenceElement
+protected class SequenceConstructionExpression_SequenceElementAssignment_1 extends AssignmentToken {
+
+ public SequenceConstructionExpression_SequenceElementAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSequenceConstructionExpressionAccess().getSequenceElementAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceElement_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("sequenceElement",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sequenceElement");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSequenceElementRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSequenceConstructionExpressionAccess().getSequenceElementSequenceElementParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SequenceConstructionExpression_LeftCurlyBracketKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ("," sequenceElement+=SequenceElement)* | ".." rangeUpper=Expression
+protected class SequenceConstructionExpression_Alternatives_2 extends AlternativesToken {
+
+ public SequenceConstructionExpression_Alternatives_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getSequenceConstructionExpressionAccess().getAlternatives_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceConstructionExpression_Group_2_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new SequenceConstructionExpression_Group_2_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new SequenceConstructionExpression_SequenceElementAssignment_1(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ("," sequenceElement+=SequenceElement)*
+protected class SequenceConstructionExpression_Group_2_0 extends GroupToken {
+
+ public SequenceConstructionExpression_Group_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSequenceConstructionExpressionAccess().getGroup_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceConstructionExpression_SequenceElementAssignment_2_0_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class SequenceConstructionExpression_CommaKeyword_2_0_0 extends KeywordToken {
+
+ public SequenceConstructionExpression_CommaKeyword_2_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSequenceConstructionExpressionAccess().getCommaKeyword_2_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceConstructionExpression_Group_2_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new SequenceConstructionExpression_SequenceElementAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// sequenceElement+=SequenceElement
+protected class SequenceConstructionExpression_SequenceElementAssignment_2_0_1 extends AssignmentToken {
+
+ public SequenceConstructionExpression_SequenceElementAssignment_2_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSequenceConstructionExpressionAccess().getSequenceElementAssignment_2_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceElement_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("sequenceElement",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sequenceElement");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSequenceElementRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSequenceConstructionExpressionAccess().getSequenceElementSequenceElementParserRuleCall_2_0_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SequenceConstructionExpression_CommaKeyword_2_0_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// ".." rangeUpper=Expression
+protected class SequenceConstructionExpression_Group_2_1 extends GroupToken {
+
+ public SequenceConstructionExpression_Group_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSequenceConstructionExpressionAccess().getGroup_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceConstructionExpression_RangeUpperAssignment_2_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ".."
+protected class SequenceConstructionExpression_FullStopFullStopKeyword_2_1_0 extends KeywordToken {
+
+ public SequenceConstructionExpression_FullStopFullStopKeyword_2_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSequenceConstructionExpressionAccess().getFullStopFullStopKeyword_2_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceConstructionExpression_SequenceElementAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// rangeUpper=Expression
+protected class SequenceConstructionExpression_RangeUpperAssignment_2_1_1 extends AssignmentToken {
+
+ public SequenceConstructionExpression_RangeUpperAssignment_2_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSequenceConstructionExpressionAccess().getRangeUpperAssignment_2_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("rangeUpper",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rangeUpper");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSequenceConstructionExpressionAccess().getRangeUpperExpressionParserRuleCall_2_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SequenceConstructionExpression_FullStopFullStopKeyword_2_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+// "}"
+protected class SequenceConstructionExpression_RightCurlyBracketKeyword_3 extends KeywordToken {
+
+ public SequenceConstructionExpression_RightCurlyBracketKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSequenceConstructionExpressionAccess().getRightCurlyBracketKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceConstructionExpression_Alternatives_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule SequenceConstructionExpression ****************/
+
+
+/************ begin Rule SequenceElement ****************
+ *
+ * SequenceElement:
+ * Expression | SequenceConstructionExpression;
+ *
+ **/
+
+// Expression | SequenceConstructionExpression
+protected class SequenceElement_Alternatives extends AlternativesToken {
+
+ public SequenceElement_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getSequenceElementAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceElement_ExpressionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new SequenceElement_SequenceConstructionExpressionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getConditionalTestExpressionRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSequenceConstructionExpressionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// Expression
+protected class SequenceElement_ExpressionParserRuleCall_0 extends RuleCallToken {
+
+ public SequenceElement_ExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getSequenceElementAccess().getExpressionParserRuleCall_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getConditionalTestExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(Expression_ConditionalTestExpressionParserRuleCall.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// SequenceConstructionExpression
+protected class SequenceElement_SequenceConstructionExpressionParserRuleCall_1 extends RuleCallToken {
+
+ public SequenceElement_SequenceConstructionExpressionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getSequenceElementAccess().getSequenceConstructionExpressionParserRuleCall_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceConstructionExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSequenceConstructionExpressionRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(SequenceConstructionExpression_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+/************ end Rule SequenceElement ****************/
+
+
+/************ begin Rule ClassExtentExpression ****************
+ *
+ * ClassExtentExpression:
+ * {ClassExtentExpression} "." "allInstances" "(" ")";
+ *
+ **/
+
+// {ClassExtentExpression} "." "allInstances" "(" ")"
+protected class ClassExtentExpression_Group extends GroupToken {
+
+ public ClassExtentExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getClassExtentExpressionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassExtentExpression_RightParenthesisKeyword_4(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getClassExtentExpressionAccess().getClassExtentExpressionAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {ClassExtentExpression}
+protected class ClassExtentExpression_ClassExtentExpressionAction_0 extends ActionToken {
+
+ public ClassExtentExpression_ClassExtentExpressionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getClassExtentExpressionAccess().getClassExtentExpressionAction_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// "."
+protected class ClassExtentExpression_FullStopKeyword_1 extends KeywordToken {
+
+ public ClassExtentExpression_FullStopKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getClassExtentExpressionAccess().getFullStopKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassExtentExpression_ClassExtentExpressionAction_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "allInstances"
+protected class ClassExtentExpression_AllInstancesKeyword_2 extends KeywordToken {
+
+ public ClassExtentExpression_AllInstancesKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getClassExtentExpressionAccess().getAllInstancesKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassExtentExpression_FullStopKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "("
+protected class ClassExtentExpression_LeftParenthesisKeyword_3 extends KeywordToken {
+
+ public ClassExtentExpression_LeftParenthesisKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getClassExtentExpressionAccess().getLeftParenthesisKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassExtentExpression_AllInstancesKeyword_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ")"
+protected class ClassExtentExpression_RightParenthesisKeyword_4 extends KeywordToken {
+
+ public ClassExtentExpression_RightParenthesisKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getClassExtentExpressionAccess().getRightParenthesisKeyword_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassExtentExpression_LeftParenthesisKeyword_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule ClassExtentExpression ****************/
+
+
+/************ begin Rule Block ****************
+ *
+ * / *****************
+ * * Statements
+ * **************** / Block:
+ * "{" {Block} sequence=StatementSequence? "}";
+ *
+ **/
+
+// "{" {Block} sequence=StatementSequence? "}"
+protected class Block_Group extends GroupToken {
+
+ public Block_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getBlockAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Block_RightCurlyBracketKeyword_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBlockAccess().getBlockAction_1().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "{"
+protected class Block_LeftCurlyBracketKeyword_0 extends KeywordToken {
+
+ public Block_LeftCurlyBracketKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getBlockAccess().getLeftCurlyBracketKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// {Block}
+protected class Block_BlockAction_1 extends ActionToken {
+
+ public Block_BlockAction_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getBlockAccess().getBlockAction_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Block_LeftCurlyBracketKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// sequence=StatementSequence?
+protected class Block_SequenceAssignment_2 extends AssignmentToken {
+
+ public Block_SequenceAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getBlockAccess().getSequenceAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new StatementSequence_StatementsAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("sequence",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sequence");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getStatementSequenceRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getBlockAccess().getSequenceStatementSequenceParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new Block_BlockAction_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "}"
+protected class Block_RightCurlyBracketKeyword_3 extends KeywordToken {
+
+ public Block_RightCurlyBracketKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getBlockAccess().getRightCurlyBracketKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Block_SequenceAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Block_BlockAction_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule Block ****************/
+
+
+/************ begin Rule StatementSequence ****************
+ *
+ * StatementSequence:
+ * statements+=DocumentedStatement+;
+ *
+ **/
+
+// statements+=DocumentedStatement+
+protected class StatementSequence_StatementsAssignment extends AssignmentToken {
+
+ public StatementSequence_StatementsAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getStatementSequenceAccess().getStatementsAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DocumentedStatement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("statements",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("statements");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getDocumentedStatementRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getStatementSequenceAccess().getStatementsDocumentedStatementParserRuleCall_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new StatementSequence_StatementsAssignment(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index - 1, consumed);
+ }
+ }
+}
+
+/************ end Rule StatementSequence ****************/
+
+
+/************ begin Rule DocumentedStatement ****************
+ *
+ * DocumentedStatement:
+ * comment=(ML_COMMENT | SL_COMMENT)? statement=Statement;
+ *
+ **/
+
+// comment=(ML_COMMENT | SL_COMMENT)? statement=Statement
+protected class DocumentedStatement_Group extends GroupToken {
+
+ public DocumentedStatement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getDocumentedStatementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DocumentedStatement_StatementAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getDocumentedStatementRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// comment=(ML_COMMENT | SL_COMMENT)?
+protected class DocumentedStatement_CommentAssignment_0 extends AssignmentToken {
+
+ public DocumentedStatement_CommentAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDocumentedStatementAccess().getCommentAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("comment",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("comment");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getDocumentedStatementAccess().getCommentML_COMMENTTerminalRuleCall_0_0_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getDocumentedStatementAccess().getCommentML_COMMENTTerminalRuleCall_0_0_0();
+ return obj;
+ }
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getDocumentedStatementAccess().getCommentSL_COMMENTTerminalRuleCall_0_0_1(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getDocumentedStatementAccess().getCommentSL_COMMENTTerminalRuleCall_0_0_1();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// statement=Statement
+protected class DocumentedStatement_StatementAssignment_1 extends AssignmentToken {
+
+ public DocumentedStatement_StatementAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDocumentedStatementAccess().getStatementAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Statement_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("statement",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("statement");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getStatementRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getDocumentedStatementAccess().getStatementStatementParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new DocumentedStatement_CommentAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index - 1, consumed);
+ }
+ }
+}
+
+
+/************ end Rule DocumentedStatement ****************/
+
+
+/************ begin Rule InlineStatement ****************
+ *
+ * InlineStatement:
+ * "/ *@" "inline" "(" langageName=ID ")" body=STRING "* /";
+ *
+ **/
+
+// "/ *@" "inline" "(" langageName=ID ")" body=STRING "* /"
+protected class InlineStatement_Group extends GroupToken {
+
+ public InlineStatement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getInlineStatementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InlineStatement_AsteriskSolidusKeyword_6(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInlineStatementRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "/ *@"
+protected class InlineStatement_SolidusAsteriskCommercialAtKeyword_0 extends KeywordToken {
+
+ public InlineStatement_SolidusAsteriskCommercialAtKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInlineStatementAccess().getSolidusAsteriskCommercialAtKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// "inline"
+protected class InlineStatement_InlineKeyword_1 extends KeywordToken {
+
+ public InlineStatement_InlineKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInlineStatementAccess().getInlineKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InlineStatement_SolidusAsteriskCommercialAtKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "("
+protected class InlineStatement_LeftParenthesisKeyword_2 extends KeywordToken {
+
+ public InlineStatement_LeftParenthesisKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInlineStatementAccess().getLeftParenthesisKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InlineStatement_InlineKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// langageName=ID
+protected class InlineStatement_LangageNameAssignment_3 extends AssignmentToken {
+
+ public InlineStatement_LangageNameAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInlineStatementAccess().getLangageNameAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InlineStatement_LeftParenthesisKeyword_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("langageName",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("langageName");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInlineStatementAccess().getLangageNameIDTerminalRuleCall_3_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getInlineStatementAccess().getLangageNameIDTerminalRuleCall_3_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// ")"
+protected class InlineStatement_RightParenthesisKeyword_4 extends KeywordToken {
+
+ public InlineStatement_RightParenthesisKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInlineStatementAccess().getRightParenthesisKeyword_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InlineStatement_LangageNameAssignment_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// body=STRING
+protected class InlineStatement_BodyAssignment_5 extends AssignmentToken {
+
+ public InlineStatement_BodyAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInlineStatementAccess().getBodyAssignment_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InlineStatement_RightParenthesisKeyword_4(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("body",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("body");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInlineStatementAccess().getBodySTRINGTerminalRuleCall_5_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getInlineStatementAccess().getBodySTRINGTerminalRuleCall_5_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// "* /"
+protected class InlineStatement_AsteriskSolidusKeyword_6 extends KeywordToken {
+
+ public InlineStatement_AsteriskSolidusKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInlineStatementAccess().getAsteriskSolidusKeyword_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InlineStatement_BodyAssignment_5(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule InlineStatement ****************/
+
+
+/************ begin Rule AnnotatedStatement ****************
+ *
+ * AnnotatedStatement:
+ * "//@" annotation= //block = Block
+ * Annotation statement=Statement;
+ *
+ **/
+
+// "//@" annotation= //block = Block
+// Annotation statement=Statement
+protected class AnnotatedStatement_Group extends GroupToken {
+
+ public AnnotatedStatement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getAnnotatedStatementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AnnotatedStatement_StatementAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getAnnotatedStatementRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "//@"
+protected class AnnotatedStatement_SolidusSolidusCommercialAtKeyword_0 extends KeywordToken {
+
+ public AnnotatedStatement_SolidusSolidusCommercialAtKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getAnnotatedStatementAccess().getSolidusSolidusCommercialAtKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// annotation= //block = Block
+// Annotation
+protected class AnnotatedStatement_AnnotationAssignment_1 extends AssignmentToken {
+
+ public AnnotatedStatement_AnnotationAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAnnotatedStatementAccess().getAnnotationAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Annotation_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("annotation",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("annotation");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAnnotationRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getAnnotatedStatementAccess().getAnnotationAnnotationParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new AnnotatedStatement_SolidusSolidusCommercialAtKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// statement=Statement
+protected class AnnotatedStatement_StatementAssignment_2 extends AssignmentToken {
+
+ public AnnotatedStatement_StatementAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAnnotatedStatementAccess().getStatementAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Statement_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("statement",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("statement");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getStatementRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getAnnotatedStatementAccess().getStatementStatementParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new AnnotatedStatement_AnnotationAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule AnnotatedStatement ****************/
+
+
+/************ begin Rule Statement ****************
+ *
+ * Statement:
+ * AnnotatedStatement | InlineStatement | BlockStatement | EmptyStatement | LocalNameDeclarationStatement | IfStatement |
+ * SwitchStatement | WhileStatement | DoStatement | ForStatement | BreakStatement | ReturnStatement | AcceptStatement |
+ * ClassifyStatement | InvocationOrAssignementOrDeclarationStatement | SuperInvocationStatement | ThisInvocationStatement
+ * | InstanceCreationInvocationStatement;
+ *
+ **/
+
+// AnnotatedStatement | InlineStatement | BlockStatement | EmptyStatement | LocalNameDeclarationStatement | IfStatement |
+// SwitchStatement | WhileStatement | DoStatement | ForStatement | BreakStatement | ReturnStatement | AcceptStatement |
+// ClassifyStatement | InvocationOrAssignementOrDeclarationStatement | SuperInvocationStatement | ThisInvocationStatement
+// | InstanceCreationInvocationStatement
+protected class Statement_Alternatives extends AlternativesToken {
+
+ public Statement_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getStatementAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Statement_AnnotatedStatementParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Statement_InlineStatementParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new Statement_BlockStatementParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
+ case 3: return new Statement_EmptyStatementParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
+ case 4: return new Statement_LocalNameDeclarationStatementParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
+ case 5: return new Statement_IfStatementParserRuleCall_5(lastRuleCallOrigin, this, 5, inst);
+ case 6: return new Statement_SwitchStatementParserRuleCall_6(lastRuleCallOrigin, this, 6, inst);
+ case 7: return new Statement_WhileStatementParserRuleCall_7(lastRuleCallOrigin, this, 7, inst);
+ case 8: return new Statement_DoStatementParserRuleCall_8(lastRuleCallOrigin, this, 8, inst);
+ case 9: return new Statement_ForStatementParserRuleCall_9(lastRuleCallOrigin, this, 9, inst);
+ case 10: return new Statement_BreakStatementParserRuleCall_10(lastRuleCallOrigin, this, 10, inst);
+ case 11: return new Statement_ReturnStatementParserRuleCall_11(lastRuleCallOrigin, this, 11, inst);
+ case 12: return new Statement_AcceptStatementParserRuleCall_12(lastRuleCallOrigin, this, 12, inst);
+ case 13: return new Statement_ClassifyStatementParserRuleCall_13(lastRuleCallOrigin, this, 13, inst);
+ case 14: return new Statement_InvocationOrAssignementOrDeclarationStatementParserRuleCall_14(lastRuleCallOrigin, this, 14, inst);
+ case 15: return new Statement_SuperInvocationStatementParserRuleCall_15(lastRuleCallOrigin, this, 15, inst);
+ case 16: return new Statement_ThisInvocationStatementParserRuleCall_16(lastRuleCallOrigin, this, 16, inst);
+ case 17: return new Statement_InstanceCreationInvocationStatementParserRuleCall_17(lastRuleCallOrigin, this, 17, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getAcceptStatementRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getAnnotatedStatementRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getBlockStatementRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getBreakStatementAccess().getBreakStatementAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getClassifyStatementRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getDoStatementRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getEmptyStatementAccess().getEmptyStatementAction_0().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getForStatementRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getIfStatementRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getInlineStatementRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getInstanceCreationInvocationStatementRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getInvocationOrAssignementOrDeclarationStatementRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getLocalNameDeclarationStatementRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getReturnStatementRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSuperInvocationStatementRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getSwitchStatementRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getThisInvocationStatementRule().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getWhileStatementRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// AnnotatedStatement
+protected class Statement_AnnotatedStatementParserRuleCall_0 extends RuleCallToken {
+
+ public Statement_AnnotatedStatementParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getStatementAccess().getAnnotatedStatementParserRuleCall_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AnnotatedStatement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getAnnotatedStatementRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(AnnotatedStatement_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// InlineStatement
+protected class Statement_InlineStatementParserRuleCall_1 extends RuleCallToken {
+
+ public Statement_InlineStatementParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getStatementAccess().getInlineStatementParserRuleCall_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InlineStatement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInlineStatementRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(InlineStatement_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// BlockStatement
+protected class Statement_BlockStatementParserRuleCall_2 extends RuleCallToken {
+
+ public Statement_BlockStatementParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getStatementAccess().getBlockStatementParserRuleCall_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new BlockStatement_BlockAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBlockStatementRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(BlockStatement_BlockAssignment.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// EmptyStatement
+protected class Statement_EmptyStatementParserRuleCall_3 extends RuleCallToken {
+
+ public Statement_EmptyStatementParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getStatementAccess().getEmptyStatementParserRuleCall_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new EmptyStatement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getEmptyStatementAccess().getEmptyStatementAction_0().getType().getClassifier())
+ return null;
+ if(checkForRecursion(EmptyStatement_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// LocalNameDeclarationStatement
+protected class Statement_LocalNameDeclarationStatementParserRuleCall_4 extends RuleCallToken {
+
+ public Statement_LocalNameDeclarationStatementParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getStatementAccess().getLocalNameDeclarationStatementParserRuleCall_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LocalNameDeclarationStatement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getLocalNameDeclarationStatementRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(LocalNameDeclarationStatement_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// IfStatement
+protected class Statement_IfStatementParserRuleCall_5 extends RuleCallToken {
+
+ public Statement_IfStatementParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getStatementAccess().getIfStatementParserRuleCall_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new IfStatement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getIfStatementRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(IfStatement_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// SwitchStatement
+protected class Statement_SwitchStatementParserRuleCall_6 extends RuleCallToken {
+
+ public Statement_SwitchStatementParserRuleCall_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getStatementAccess().getSwitchStatementParserRuleCall_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SwitchStatement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSwitchStatementRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(SwitchStatement_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// WhileStatement
+protected class Statement_WhileStatementParserRuleCall_7 extends RuleCallToken {
+
+ public Statement_WhileStatementParserRuleCall_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getStatementAccess().getWhileStatementParserRuleCall_7();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new WhileStatement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getWhileStatementRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(WhileStatement_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// DoStatement
+protected class Statement_DoStatementParserRuleCall_8 extends RuleCallToken {
+
+ public Statement_DoStatementParserRuleCall_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getStatementAccess().getDoStatementParserRuleCall_8();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DoStatement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getDoStatementRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(DoStatement_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// ForStatement
+protected class Statement_ForStatementParserRuleCall_9 extends RuleCallToken {
+
+ public Statement_ForStatementParserRuleCall_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getStatementAccess().getForStatementParserRuleCall_9();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ForStatement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getForStatementRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(ForStatement_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// BreakStatement
+protected class Statement_BreakStatementParserRuleCall_10 extends RuleCallToken {
+
+ public Statement_BreakStatementParserRuleCall_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getStatementAccess().getBreakStatementParserRuleCall_10();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new BreakStatement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBreakStatementAccess().getBreakStatementAction_0().getType().getClassifier())
+ return null;
+ if(checkForRecursion(BreakStatement_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// ReturnStatement
+protected class Statement_ReturnStatementParserRuleCall_11 extends RuleCallToken {
+
+ public Statement_ReturnStatementParserRuleCall_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getStatementAccess().getReturnStatementParserRuleCall_11();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ReturnStatement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getReturnStatementRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(ReturnStatement_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// AcceptStatement
+protected class Statement_AcceptStatementParserRuleCall_12 extends RuleCallToken {
+
+ public Statement_AcceptStatementParserRuleCall_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getStatementAccess().getAcceptStatementParserRuleCall_12();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AcceptStatement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getAcceptStatementRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(AcceptStatement_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// ClassifyStatement
+protected class Statement_ClassifyStatementParserRuleCall_13 extends RuleCallToken {
+
+ public Statement_ClassifyStatementParserRuleCall_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getStatementAccess().getClassifyStatementParserRuleCall_13();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassifyStatement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getClassifyStatementRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(ClassifyStatement_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// InvocationOrAssignementOrDeclarationStatement
+protected class Statement_InvocationOrAssignementOrDeclarationStatementParserRuleCall_14 extends RuleCallToken {
+
+ public Statement_InvocationOrAssignementOrDeclarationStatementParserRuleCall_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getStatementAccess().getInvocationOrAssignementOrDeclarationStatementParserRuleCall_14();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InvocationOrAssignementOrDeclarationStatement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInvocationOrAssignementOrDeclarationStatementRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(InvocationOrAssignementOrDeclarationStatement_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// SuperInvocationStatement
+protected class Statement_SuperInvocationStatementParserRuleCall_15 extends RuleCallToken {
+
+ public Statement_SuperInvocationStatementParserRuleCall_15(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getStatementAccess().getSuperInvocationStatementParserRuleCall_15();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuperInvocationStatement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSuperInvocationStatementRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(SuperInvocationStatement_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// ThisInvocationStatement
+protected class Statement_ThisInvocationStatementParserRuleCall_16 extends RuleCallToken {
+
+ public Statement_ThisInvocationStatementParserRuleCall_16(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getStatementAccess().getThisInvocationStatementParserRuleCall_16();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ThisInvocationStatement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getThisInvocationStatementRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(ThisInvocationStatement_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+// InstanceCreationInvocationStatement
+protected class Statement_InstanceCreationInvocationStatementParserRuleCall_17 extends RuleCallToken {
+
+ public Statement_InstanceCreationInvocationStatementParserRuleCall_17(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getStatementAccess().getInstanceCreationInvocationStatementParserRuleCall_17();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstanceCreationInvocationStatement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInstanceCreationInvocationStatementRule().getType().getClassifier())
+ return null;
+ if(checkForRecursion(InstanceCreationInvocationStatement_Group.class, eObjectConsumer)) return null;
+ return eObjectConsumer;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+ }
+ }
+}
+
+
+/************ end Rule Statement ****************/
+
+
+/************ begin Rule Annotation ****************
+ *
+ * Annotation:
+ * kind=AnnotationKind ("(" args+=ID ("," args+=ID)* ")")?;
+ *
+ **/
+
+// kind=AnnotationKind ("(" args+=ID ("," args+=ID)* ")")?
+protected class Annotation_Group extends GroupToken {
+
+ public Annotation_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getAnnotationAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Annotation_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Annotation_KindAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getAnnotationRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// kind=AnnotationKind
+protected class Annotation_KindAssignment_0 extends AssignmentToken {
+
+ public Annotation_KindAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAnnotationAccess().getKindAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
+ if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getAnnotationAccess().getKindAnnotationKindEnumRuleCall_0_0(), value, null)) {
+ type = AssignmentType.ENUM_RULE_CALL;
+ element = grammarAccess.getAnnotationAccess().getKindAnnotationKindEnumRuleCall_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// ("(" args+=ID ("," args+=ID)* ")")?
+protected class Annotation_Group_1 extends GroupToken {
+
+ public Annotation_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getAnnotationAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Annotation_RightParenthesisKeyword_1_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "("
+protected class Annotation_LeftParenthesisKeyword_1_0 extends KeywordToken {
+
+ public Annotation_LeftParenthesisKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getAnnotationAccess().getLeftParenthesisKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Annotation_KindAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// args+=ID
+protected class Annotation_ArgsAssignment_1_1 extends AssignmentToken {
+
+ public Annotation_ArgsAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAnnotationAccess().getArgsAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Annotation_LeftParenthesisKeyword_1_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("args",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("args");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAnnotationAccess().getArgsIDTerminalRuleCall_1_1_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getAnnotationAccess().getArgsIDTerminalRuleCall_1_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// ("," args+=ID)*
+protected class Annotation_Group_1_2 extends GroupToken {
+
+ public Annotation_Group_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getAnnotationAccess().getGroup_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Annotation_ArgsAssignment_1_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class Annotation_CommaKeyword_1_2_0 extends KeywordToken {
+
+ public Annotation_CommaKeyword_1_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getAnnotationAccess().getCommaKeyword_1_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Annotation_Group_1_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Annotation_ArgsAssignment_1_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// args+=ID
+protected class Annotation_ArgsAssignment_1_2_1 extends AssignmentToken {
+
+ public Annotation_ArgsAssignment_1_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAnnotationAccess().getArgsAssignment_1_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Annotation_CommaKeyword_1_2_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("args",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("args");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAnnotationAccess().getArgsIDTerminalRuleCall_1_2_1_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getAnnotationAccess().getArgsIDTerminalRuleCall_1_2_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+
+// ")"
+protected class Annotation_RightParenthesisKeyword_1_3 extends KeywordToken {
+
+ public Annotation_RightParenthesisKeyword_1_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getAnnotationAccess().getRightParenthesisKeyword_1_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Annotation_Group_1_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Annotation_ArgsAssignment_1_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+
+/************ end Rule Annotation ****************/
+
+
+/************ begin Rule BlockStatement ****************
+ *
+ * BlockStatement:
+ * block=Block;
+ *
+ **/
+
+// block=Block
+protected class BlockStatement_BlockAssignment extends AssignmentToken {
+
+ public BlockStatement_BlockAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getBlockStatementAccess().getBlockAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Block_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBlockStatementRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("block",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("block");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getBlockRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getBlockStatementAccess().getBlockBlockParserRuleCall_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+/************ end Rule BlockStatement ****************/
+
+
+/************ begin Rule EmptyStatement ****************
+ *
+ * EmptyStatement:
+ * {EmptyStatement} ";";
+ *
+ **/
+
+// {EmptyStatement} ";"
+protected class EmptyStatement_Group extends GroupToken {
+
+ public EmptyStatement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getEmptyStatementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new EmptyStatement_SemicolonKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getEmptyStatementAccess().getEmptyStatementAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {EmptyStatement}
+protected class EmptyStatement_EmptyStatementAction_0 extends ActionToken {
+
+ public EmptyStatement_EmptyStatementAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getEmptyStatementAccess().getEmptyStatementAction_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// ";"
+protected class EmptyStatement_SemicolonKeyword_1 extends KeywordToken {
+
+ public EmptyStatement_SemicolonKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getEmptyStatementAccess().getSemicolonKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new EmptyStatement_EmptyStatementAction_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule EmptyStatement ****************/
+
+
+/************ begin Rule LocalNameDeclarationStatement ****************
+ *
+ * LocalNameDeclarationStatement:
+ * "let" varName=ID ":" type=QualifiedNameWithBinding (multiplicityIndicator?="[" "]")? //'=' init = Expression ';'
+ * "=" init=SequenceElement ";";
+ *
+ **/
+
+// "let" varName=ID ":" type=QualifiedNameWithBinding (multiplicityIndicator?="[" "]")? //'=' init = Expression ';'
+// "=" init=SequenceElement ";"
+protected class LocalNameDeclarationStatement_Group extends GroupToken {
+
+ public LocalNameDeclarationStatement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getLocalNameDeclarationStatementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LocalNameDeclarationStatement_SemicolonKeyword_7(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getLocalNameDeclarationStatementRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "let"
+protected class LocalNameDeclarationStatement_LetKeyword_0 extends KeywordToken {
+
+ public LocalNameDeclarationStatement_LetKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLocalNameDeclarationStatementAccess().getLetKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// varName=ID
+protected class LocalNameDeclarationStatement_VarNameAssignment_1 extends AssignmentToken {
+
+ public LocalNameDeclarationStatement_VarNameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLocalNameDeclarationStatementAccess().getVarNameAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LocalNameDeclarationStatement_LetKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("varName",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("varName");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getLocalNameDeclarationStatementAccess().getVarNameIDTerminalRuleCall_1_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getLocalNameDeclarationStatementAccess().getVarNameIDTerminalRuleCall_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// ":"
+protected class LocalNameDeclarationStatement_ColonKeyword_2 extends KeywordToken {
+
+ public LocalNameDeclarationStatement_ColonKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLocalNameDeclarationStatementAccess().getColonKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LocalNameDeclarationStatement_VarNameAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// type=QualifiedNameWithBinding
+protected class LocalNameDeclarationStatement_TypeAssignment_3 extends AssignmentToken {
+
+ public LocalNameDeclarationStatement_TypeAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLocalNameDeclarationStatementAccess().getTypeAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNameWithBinding_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("type",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNameWithBindingRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getLocalNameDeclarationStatementAccess().getTypeQualifiedNameWithBindingParserRuleCall_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new LocalNameDeclarationStatement_ColonKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// (multiplicityIndicator?="[" "]")?
+protected class LocalNameDeclarationStatement_Group_4 extends GroupToken {
+
+ public LocalNameDeclarationStatement_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getLocalNameDeclarationStatementAccess().getGroup_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LocalNameDeclarationStatement_RightSquareBracketKeyword_4_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// multiplicityIndicator?="["
+protected class LocalNameDeclarationStatement_MultiplicityIndicatorAssignment_4_0 extends AssignmentToken {
+
+ public LocalNameDeclarationStatement_MultiplicityIndicatorAssignment_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLocalNameDeclarationStatementAccess().getMultiplicityIndicatorAssignment_4_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LocalNameDeclarationStatement_TypeAssignment_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("multiplicityIndicator",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("multiplicityIndicator");
+ if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getLocalNameDeclarationStatementAccess().getMultiplicityIndicatorLeftSquareBracketKeyword_4_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// "]"
+protected class LocalNameDeclarationStatement_RightSquareBracketKeyword_4_1 extends KeywordToken {
+
+ public LocalNameDeclarationStatement_RightSquareBracketKeyword_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLocalNameDeclarationStatementAccess().getRightSquareBracketKeyword_4_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LocalNameDeclarationStatement_MultiplicityIndicatorAssignment_4_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+// //'=' init = Expression ';'
+// "="
+protected class LocalNameDeclarationStatement_EqualsSignKeyword_5 extends KeywordToken {
+
+ public LocalNameDeclarationStatement_EqualsSignKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLocalNameDeclarationStatementAccess().getEqualsSignKeyword_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LocalNameDeclarationStatement_Group_4(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new LocalNameDeclarationStatement_TypeAssignment_3(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// init=SequenceElement
+protected class LocalNameDeclarationStatement_InitAssignment_6 extends AssignmentToken {
+
+ public LocalNameDeclarationStatement_InitAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLocalNameDeclarationStatementAccess().getInitAssignment_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceElement_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("init",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("init");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSequenceElementRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getLocalNameDeclarationStatementAccess().getInitSequenceElementParserRuleCall_6_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new LocalNameDeclarationStatement_EqualsSignKeyword_5(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ";"
+protected class LocalNameDeclarationStatement_SemicolonKeyword_7 extends KeywordToken {
+
+ public LocalNameDeclarationStatement_SemicolonKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLocalNameDeclarationStatementAccess().getSemicolonKeyword_7();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LocalNameDeclarationStatement_InitAssignment_6(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule LocalNameDeclarationStatement ****************/
+
+
+/************ begin Rule IfStatement ****************
+ *
+ * IfStatement:
+ * "if" sequentialClausses=SequentialClauses finalClause=FinalClause?;
+ *
+ **/
+
+// "if" sequentialClausses=SequentialClauses finalClause=FinalClause?
+protected class IfStatement_Group extends GroupToken {
+
+ public IfStatement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getIfStatementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new IfStatement_FinalClauseAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new IfStatement_SequentialClaussesAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getIfStatementRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "if"
+protected class IfStatement_IfKeyword_0 extends KeywordToken {
+
+ public IfStatement_IfKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getIfStatementAccess().getIfKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// sequentialClausses=SequentialClauses
+protected class IfStatement_SequentialClaussesAssignment_1 extends AssignmentToken {
+
+ public IfStatement_SequentialClaussesAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getIfStatementAccess().getSequentialClaussesAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequentialClauses_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("sequentialClausses",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sequentialClausses");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSequentialClausesRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getIfStatementAccess().getSequentialClaussesSequentialClausesParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new IfStatement_IfKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// finalClause=FinalClause?
+protected class IfStatement_FinalClauseAssignment_2 extends AssignmentToken {
+
+ public IfStatement_FinalClauseAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getIfStatementAccess().getFinalClauseAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new FinalClause_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("finalClause",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("finalClause");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getFinalClauseRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getIfStatementAccess().getFinalClauseFinalClauseParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new IfStatement_SequentialClaussesAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule IfStatement ****************/
+
+
+/************ begin Rule SequentialClauses ****************
+ *
+ * SequentialClauses:
+ * conccurentClauses+=ConcurrentClauses ("else" "if" conccurentClauses+=ConcurrentClauses)*;
+ *
+ **/
+
+// conccurentClauses+=ConcurrentClauses ("else" "if" conccurentClauses+=ConcurrentClauses)*
+protected class SequentialClauses_Group extends GroupToken {
+
+ public SequentialClauses_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSequentialClausesAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequentialClauses_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new SequentialClauses_ConccurentClausesAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSequentialClausesRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// conccurentClauses+=ConcurrentClauses
+protected class SequentialClauses_ConccurentClausesAssignment_0 extends AssignmentToken {
+
+ public SequentialClauses_ConccurentClausesAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSequentialClausesAccess().getConccurentClausesAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConcurrentClauses_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("conccurentClauses",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("conccurentClauses");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getConcurrentClausesRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSequentialClausesAccess().getConccurentClausesConcurrentClausesParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// ("else" "if" conccurentClauses+=ConcurrentClauses)*
+protected class SequentialClauses_Group_1 extends GroupToken {
+
+ public SequentialClauses_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSequentialClausesAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequentialClauses_ConccurentClausesAssignment_1_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "else"
+protected class SequentialClauses_ElseKeyword_1_0 extends KeywordToken {
+
+ public SequentialClauses_ElseKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSequentialClausesAccess().getElseKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequentialClauses_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new SequentialClauses_ConccurentClausesAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "if"
+protected class SequentialClauses_IfKeyword_1_1 extends KeywordToken {
+
+ public SequentialClauses_IfKeyword_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSequentialClausesAccess().getIfKeyword_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequentialClauses_ElseKeyword_1_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// conccurentClauses+=ConcurrentClauses
+protected class SequentialClauses_ConccurentClausesAssignment_1_2 extends AssignmentToken {
+
+ public SequentialClauses_ConccurentClausesAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSequentialClausesAccess().getConccurentClausesAssignment_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConcurrentClauses_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("conccurentClauses",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("conccurentClauses");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getConcurrentClausesRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSequentialClausesAccess().getConccurentClausesConcurrentClausesParserRuleCall_1_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SequentialClauses_IfKeyword_1_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule SequentialClauses ****************/
+
+
+/************ begin Rule ConcurrentClauses ****************
+ *
+ * ConcurrentClauses:
+ * nonFinalClause+=NonFinalClause ("or" "if" nonFinalClause+=NonFinalClause)*;
+ *
+ **/
+
+// nonFinalClause+=NonFinalClause ("or" "if" nonFinalClause+=NonFinalClause)*
+protected class ConcurrentClauses_Group extends GroupToken {
+
+ public ConcurrentClauses_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getConcurrentClausesAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConcurrentClauses_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ConcurrentClauses_NonFinalClauseAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getConcurrentClausesRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// nonFinalClause+=NonFinalClause
+protected class ConcurrentClauses_NonFinalClauseAssignment_0 extends AssignmentToken {
+
+ public ConcurrentClauses_NonFinalClauseAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getConcurrentClausesAccess().getNonFinalClauseAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NonFinalClause_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("nonFinalClause",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("nonFinalClause");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNonFinalClauseRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getConcurrentClausesAccess().getNonFinalClauseNonFinalClauseParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// ("or" "if" nonFinalClause+=NonFinalClause)*
+protected class ConcurrentClauses_Group_1 extends GroupToken {
+
+ public ConcurrentClauses_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getConcurrentClausesAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConcurrentClauses_NonFinalClauseAssignment_1_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "or"
+protected class ConcurrentClauses_OrKeyword_1_0 extends KeywordToken {
+
+ public ConcurrentClauses_OrKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getConcurrentClausesAccess().getOrKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConcurrentClauses_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ConcurrentClauses_NonFinalClauseAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "if"
+protected class ConcurrentClauses_IfKeyword_1_1 extends KeywordToken {
+
+ public ConcurrentClauses_IfKeyword_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getConcurrentClausesAccess().getIfKeyword_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ConcurrentClauses_OrKeyword_1_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// nonFinalClause+=NonFinalClause
+protected class ConcurrentClauses_NonFinalClauseAssignment_1_2 extends AssignmentToken {
+
+ public ConcurrentClauses_NonFinalClauseAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getConcurrentClausesAccess().getNonFinalClauseAssignment_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NonFinalClause_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("nonFinalClause",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("nonFinalClause");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNonFinalClauseRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getConcurrentClausesAccess().getNonFinalClauseNonFinalClauseParserRuleCall_1_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ConcurrentClauses_IfKeyword_1_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule ConcurrentClauses ****************/
+
+
+/************ begin Rule NonFinalClause ****************
+ *
+ * NonFinalClause:
+ * "(" condition=Expression ")" block=Block;
+ *
+ **/
+
+// "(" condition=Expression ")" block=Block
+protected class NonFinalClause_Group extends GroupToken {
+
+ public NonFinalClause_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getNonFinalClauseAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NonFinalClause_BlockAssignment_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getNonFinalClauseRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "("
+protected class NonFinalClause_LeftParenthesisKeyword_0 extends KeywordToken {
+
+ public NonFinalClause_LeftParenthesisKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getNonFinalClauseAccess().getLeftParenthesisKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// condition=Expression
+protected class NonFinalClause_ConditionAssignment_1 extends AssignmentToken {
+
+ public NonFinalClause_ConditionAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNonFinalClauseAccess().getConditionAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("condition",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("condition");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNonFinalClauseAccess().getConditionExpressionParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NonFinalClause_LeftParenthesisKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class NonFinalClause_RightParenthesisKeyword_2 extends KeywordToken {
+
+ public NonFinalClause_RightParenthesisKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getNonFinalClauseAccess().getRightParenthesisKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NonFinalClause_ConditionAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// block=Block
+protected class NonFinalClause_BlockAssignment_3 extends AssignmentToken {
+
+ public NonFinalClause_BlockAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNonFinalClauseAccess().getBlockAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Block_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("block",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("block");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getBlockRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNonFinalClauseAccess().getBlockBlockParserRuleCall_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NonFinalClause_RightParenthesisKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule NonFinalClause ****************/
+
+
+/************ begin Rule FinalClause ****************
+ *
+ * FinalClause:
+ * "else" block=Block;
+ *
+ **/
+
+// "else" block=Block
+protected class FinalClause_Group extends GroupToken {
+
+ public FinalClause_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getFinalClauseAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new FinalClause_BlockAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getFinalClauseRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "else"
+protected class FinalClause_ElseKeyword_0 extends KeywordToken {
+
+ public FinalClause_ElseKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getFinalClauseAccess().getElseKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// block=Block
+protected class FinalClause_BlockAssignment_1 extends AssignmentToken {
+
+ public FinalClause_BlockAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getFinalClauseAccess().getBlockAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Block_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("block",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("block");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getBlockRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getFinalClauseAccess().getBlockBlockParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new FinalClause_ElseKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule FinalClause ****************/
+
+
+/************ begin Rule SwitchStatement ****************
+ *
+ * SwitchStatement:
+ * "switch" "(" expression=Expression ")" "{" switchClause+=SwitchClause* defaultClause=SwitchDefaultClause? "}";
+ *
+ **/
+
+// "switch" "(" expression=Expression ")" "{" switchClause+=SwitchClause* defaultClause=SwitchDefaultClause? "}"
+protected class SwitchStatement_Group extends GroupToken {
+
+ public SwitchStatement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSwitchStatementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SwitchStatement_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSwitchStatementRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "switch"
+protected class SwitchStatement_SwitchKeyword_0 extends KeywordToken {
+
+ public SwitchStatement_SwitchKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSwitchStatementAccess().getSwitchKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// "("
+protected class SwitchStatement_LeftParenthesisKeyword_1 extends KeywordToken {
+
+ public SwitchStatement_LeftParenthesisKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSwitchStatementAccess().getLeftParenthesisKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SwitchStatement_SwitchKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// expression=Expression
+protected class SwitchStatement_ExpressionAssignment_2 extends AssignmentToken {
+
+ public SwitchStatement_ExpressionAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSwitchStatementAccess().getExpressionAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSwitchStatementAccess().getExpressionExpressionParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SwitchStatement_LeftParenthesisKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class SwitchStatement_RightParenthesisKeyword_3 extends KeywordToken {
+
+ public SwitchStatement_RightParenthesisKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSwitchStatementAccess().getRightParenthesisKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SwitchStatement_ExpressionAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "{"
+protected class SwitchStatement_LeftCurlyBracketKeyword_4 extends KeywordToken {
+
+ public SwitchStatement_LeftCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSwitchStatementAccess().getLeftCurlyBracketKeyword_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SwitchStatement_RightParenthesisKeyword_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// switchClause+=SwitchClause*
+protected class SwitchStatement_SwitchClauseAssignment_5 extends AssignmentToken {
+
+ public SwitchStatement_SwitchClauseAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSwitchStatementAccess().getSwitchClauseAssignment_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SwitchClause_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("switchClause",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("switchClause");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSwitchClauseRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSwitchStatementAccess().getSwitchClauseSwitchClauseParserRuleCall_5_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SwitchStatement_SwitchClauseAssignment_5(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new SwitchStatement_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// defaultClause=SwitchDefaultClause?
+protected class SwitchStatement_DefaultClauseAssignment_6 extends AssignmentToken {
+
+ public SwitchStatement_DefaultClauseAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSwitchStatementAccess().getDefaultClauseAssignment_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SwitchDefaultClause_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("defaultClause",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("defaultClause");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSwitchDefaultClauseRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSwitchStatementAccess().getDefaultClauseSwitchDefaultClauseParserRuleCall_6_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SwitchStatement_SwitchClauseAssignment_5(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new SwitchStatement_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "}"
+protected class SwitchStatement_RightCurlyBracketKeyword_7 extends KeywordToken {
+
+ public SwitchStatement_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSwitchStatementAccess().getRightCurlyBracketKeyword_7();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SwitchStatement_DefaultClauseAssignment_6(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new SwitchStatement_SwitchClauseAssignment_5(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new SwitchStatement_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule SwitchStatement ****************/
+
+
+/************ begin Rule SwitchClause ****************
+ *
+ * SwitchClause:
+ * switchCase+=SwitchCase switchCase+=SwitchCase* statementSequence=NonEmptyStatementSequence;
+ *
+ **/
+
+// switchCase+=SwitchCase switchCase+=SwitchCase* statementSequence=NonEmptyStatementSequence
+protected class SwitchClause_Group extends GroupToken {
+
+ public SwitchClause_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSwitchClauseAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SwitchClause_StatementSequenceAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSwitchClauseRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// switchCase+=SwitchCase
+protected class SwitchClause_SwitchCaseAssignment_0 extends AssignmentToken {
+
+ public SwitchClause_SwitchCaseAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSwitchClauseAccess().getSwitchCaseAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SwitchCase_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("switchCase",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("switchCase");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSwitchCaseRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSwitchClauseAccess().getSwitchCaseSwitchCaseParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// switchCase+=SwitchCase*
+protected class SwitchClause_SwitchCaseAssignment_1 extends AssignmentToken {
+
+ public SwitchClause_SwitchCaseAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSwitchClauseAccess().getSwitchCaseAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SwitchCase_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("switchCase",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("switchCase");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSwitchCaseRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSwitchClauseAccess().getSwitchCaseSwitchCaseParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SwitchClause_SwitchCaseAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new SwitchClause_SwitchCaseAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// statementSequence=NonEmptyStatementSequence
+protected class SwitchClause_StatementSequenceAssignment_2 extends AssignmentToken {
+
+ public SwitchClause_StatementSequenceAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSwitchClauseAccess().getStatementSequenceAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NonEmptyStatementSequence_StatementAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("statementSequence",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("statementSequence");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNonEmptyStatementSequenceRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSwitchClauseAccess().getStatementSequenceNonEmptyStatementSequenceParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SwitchClause_SwitchCaseAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new SwitchClause_SwitchCaseAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule SwitchClause ****************/
+
+
+/************ begin Rule SwitchCase ****************
+ *
+ * SwitchCase:
+ * "case" expression=Expression ":";
+ *
+ **/
+
+// "case" expression=Expression ":"
+protected class SwitchCase_Group extends GroupToken {
+
+ public SwitchCase_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSwitchCaseAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SwitchCase_ColonKeyword_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSwitchCaseRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "case"
+protected class SwitchCase_CaseKeyword_0 extends KeywordToken {
+
+ public SwitchCase_CaseKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSwitchCaseAccess().getCaseKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// expression=Expression
+protected class SwitchCase_ExpressionAssignment_1 extends AssignmentToken {
+
+ public SwitchCase_ExpressionAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSwitchCaseAccess().getExpressionAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSwitchCaseAccess().getExpressionExpressionParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SwitchCase_CaseKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ":"
+protected class SwitchCase_ColonKeyword_2 extends KeywordToken {
+
+ public SwitchCase_ColonKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSwitchCaseAccess().getColonKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SwitchCase_ExpressionAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule SwitchCase ****************/
+
+
+/************ begin Rule SwitchDefaultClause ****************
+ *
+ * SwitchDefaultClause:
+ * "default" ":" statementSequence=NonEmptyStatementSequence;
+ *
+ **/
+
+// "default" ":" statementSequence=NonEmptyStatementSequence
+protected class SwitchDefaultClause_Group extends GroupToken {
+
+ public SwitchDefaultClause_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSwitchDefaultClauseAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SwitchDefaultClause_StatementSequenceAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSwitchDefaultClauseRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "default"
+protected class SwitchDefaultClause_DefaultKeyword_0 extends KeywordToken {
+
+ public SwitchDefaultClause_DefaultKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSwitchDefaultClauseAccess().getDefaultKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// ":"
+protected class SwitchDefaultClause_ColonKeyword_1 extends KeywordToken {
+
+ public SwitchDefaultClause_ColonKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSwitchDefaultClauseAccess().getColonKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SwitchDefaultClause_DefaultKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// statementSequence=NonEmptyStatementSequence
+protected class SwitchDefaultClause_StatementSequenceAssignment_2 extends AssignmentToken {
+
+ public SwitchDefaultClause_StatementSequenceAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSwitchDefaultClauseAccess().getStatementSequenceAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NonEmptyStatementSequence_StatementAssignment(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("statementSequence",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("statementSequence");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNonEmptyStatementSequenceRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSwitchDefaultClauseAccess().getStatementSequenceNonEmptyStatementSequenceParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new SwitchDefaultClause_ColonKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule SwitchDefaultClause ****************/
+
+
+/************ begin Rule NonEmptyStatementSequence ****************
+ *
+ * NonEmptyStatementSequence:
+ * statement+=DocumentedStatement+;
+ *
+ **/
+
+// statement+=DocumentedStatement+
+protected class NonEmptyStatementSequence_StatementAssignment extends AssignmentToken {
+
+ public NonEmptyStatementSequence_StatementAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getNonEmptyStatementSequenceAccess().getStatementAssignment();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DocumentedStatement_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("statement",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("statement");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getDocumentedStatementRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getNonEmptyStatementSequenceAccess().getStatementDocumentedStatementParserRuleCall_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new NonEmptyStatementSequence_StatementAssignment(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index - 1, consumed);
+ }
+ }
+}
+
+/************ end Rule NonEmptyStatementSequence ****************/
+
+
+/************ begin Rule WhileStatement ****************
+ *
+ * / * WHILE STATEMENTS * / WhileStatement:
+ * "while" "(" condition=Expression ")" block=Block;
+ *
+ **/
+
+// "while" "(" condition=Expression ")" block=Block
+protected class WhileStatement_Group extends GroupToken {
+
+ public WhileStatement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getWhileStatementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new WhileStatement_BlockAssignment_4(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getWhileStatementRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "while"
+protected class WhileStatement_WhileKeyword_0 extends KeywordToken {
+
+ public WhileStatement_WhileKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getWhileStatementAccess().getWhileKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// "("
+protected class WhileStatement_LeftParenthesisKeyword_1 extends KeywordToken {
+
+ public WhileStatement_LeftParenthesisKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getWhileStatementAccess().getLeftParenthesisKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new WhileStatement_WhileKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// condition=Expression
+protected class WhileStatement_ConditionAssignment_2 extends AssignmentToken {
+
+ public WhileStatement_ConditionAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getWhileStatementAccess().getConditionAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("condition",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("condition");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getWhileStatementAccess().getConditionExpressionParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new WhileStatement_LeftParenthesisKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class WhileStatement_RightParenthesisKeyword_3 extends KeywordToken {
+
+ public WhileStatement_RightParenthesisKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getWhileStatementAccess().getRightParenthesisKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new WhileStatement_ConditionAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// block=Block
+protected class WhileStatement_BlockAssignment_4 extends AssignmentToken {
+
+ public WhileStatement_BlockAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getWhileStatementAccess().getBlockAssignment_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Block_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("block",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("block");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getBlockRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getWhileStatementAccess().getBlockBlockParserRuleCall_4_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new WhileStatement_RightParenthesisKeyword_3(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule WhileStatement ****************/
+
+
+/************ begin Rule DoStatement ****************
+ *
+ * / * DO STATEMENTS * / DoStatement:
+ * "do" block=Block "while" "(" condition=Expression ")" ";";
+ *
+ **/
+
+// "do" block=Block "while" "(" condition=Expression ")" ";"
+protected class DoStatement_Group extends GroupToken {
+
+ public DoStatement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getDoStatementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DoStatement_SemicolonKeyword_6(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getDoStatementRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "do"
+protected class DoStatement_DoKeyword_0 extends KeywordToken {
+
+ public DoStatement_DoKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDoStatementAccess().getDoKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// block=Block
+protected class DoStatement_BlockAssignment_1 extends AssignmentToken {
+
+ public DoStatement_BlockAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDoStatementAccess().getBlockAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Block_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("block",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("block");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getBlockRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getDoStatementAccess().getBlockBlockParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new DoStatement_DoKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// "while"
+protected class DoStatement_WhileKeyword_2 extends KeywordToken {
+
+ public DoStatement_WhileKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDoStatementAccess().getWhileKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DoStatement_BlockAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "("
+protected class DoStatement_LeftParenthesisKeyword_3 extends KeywordToken {
+
+ public DoStatement_LeftParenthesisKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDoStatementAccess().getLeftParenthesisKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DoStatement_WhileKeyword_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// condition=Expression
+protected class DoStatement_ConditionAssignment_4 extends AssignmentToken {
+
+ public DoStatement_ConditionAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDoStatementAccess().getConditionAssignment_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("condition",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("condition");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getDoStatementAccess().getConditionExpressionParserRuleCall_4_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new DoStatement_LeftParenthesisKeyword_3(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class DoStatement_RightParenthesisKeyword_5 extends KeywordToken {
+
+ public DoStatement_RightParenthesisKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDoStatementAccess().getRightParenthesisKeyword_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DoStatement_ConditionAssignment_4(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ";"
+protected class DoStatement_SemicolonKeyword_6 extends KeywordToken {
+
+ public DoStatement_SemicolonKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDoStatementAccess().getSemicolonKeyword_6();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new DoStatement_RightParenthesisKeyword_5(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule DoStatement ****************/
+
+
+/************ begin Rule ForStatement ****************
+ *
+ * / * FOR STATEMENTS * / ForStatement:
+ * "for" "(" control=ForControl ")" block=Block;
+ *
+ **/
+
+// "for" "(" control=ForControl ")" block=Block
+protected class ForStatement_Group extends GroupToken {
+
+ public ForStatement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getForStatementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ForStatement_BlockAssignment_4(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getForStatementRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "for"
+protected class ForStatement_ForKeyword_0 extends KeywordToken {
+
+ public ForStatement_ForKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getForStatementAccess().getForKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// "("
+protected class ForStatement_LeftParenthesisKeyword_1 extends KeywordToken {
+
+ public ForStatement_LeftParenthesisKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getForStatementAccess().getLeftParenthesisKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ForStatement_ForKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// control=ForControl
+protected class ForStatement_ControlAssignment_2 extends AssignmentToken {
+
+ public ForStatement_ControlAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getForStatementAccess().getControlAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ForControl_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("control",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("control");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getForControlRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getForStatementAccess().getControlForControlParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ForStatement_LeftParenthesisKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class ForStatement_RightParenthesisKeyword_3 extends KeywordToken {
+
+ public ForStatement_RightParenthesisKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getForStatementAccess().getRightParenthesisKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ForStatement_ControlAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// block=Block
+protected class ForStatement_BlockAssignment_4 extends AssignmentToken {
+
+ public ForStatement_BlockAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getForStatementAccess().getBlockAssignment_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Block_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("block",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("block");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getBlockRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getForStatementAccess().getBlockBlockParserRuleCall_4_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ForStatement_RightParenthesisKeyword_3(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule ForStatement ****************/
+
+
+/************ begin Rule ForControl ****************
+ *
+ * ForControl:
+ * loopVariableDefinition+=LoopVariableDefinition ("," loopVariableDefinition+=LoopVariableDefinition)*;
+ *
+ **/
+
+// loopVariableDefinition+=LoopVariableDefinition ("," loopVariableDefinition+=LoopVariableDefinition)*
+protected class ForControl_Group extends GroupToken {
+
+ public ForControl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getForControlAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ForControl_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ForControl_LoopVariableDefinitionAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getForControlRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// loopVariableDefinition+=LoopVariableDefinition
+protected class ForControl_LoopVariableDefinitionAssignment_0 extends AssignmentToken {
+
+ public ForControl_LoopVariableDefinitionAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getForControlAccess().getLoopVariableDefinitionAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LoopVariableDefinition_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("loopVariableDefinition",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("loopVariableDefinition");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getLoopVariableDefinitionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getForControlAccess().getLoopVariableDefinitionLoopVariableDefinitionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// ("," loopVariableDefinition+=LoopVariableDefinition)*
+protected class ForControl_Group_1 extends GroupToken {
+
+ public ForControl_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getForControlAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ForControl_LoopVariableDefinitionAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class ForControl_CommaKeyword_1_0 extends KeywordToken {
+
+ public ForControl_CommaKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getForControlAccess().getCommaKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ForControl_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ForControl_LoopVariableDefinitionAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// loopVariableDefinition+=LoopVariableDefinition
+protected class ForControl_LoopVariableDefinitionAssignment_1_1 extends AssignmentToken {
+
+ public ForControl_LoopVariableDefinitionAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getForControlAccess().getLoopVariableDefinitionAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LoopVariableDefinition_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("loopVariableDefinition",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("loopVariableDefinition");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getLoopVariableDefinitionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getForControlAccess().getLoopVariableDefinitionLoopVariableDefinitionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ForControl_CommaKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule ForControl ****************/
+
+
+/************ begin Rule LoopVariableDefinition ****************
+ *
+ * LoopVariableDefinition:
+ * name=ID "in" expression1=Expression (".." expression2=Expression)? | type=QualifiedNameWithBinding name=ID ":"
+ * expression=Expression;
+ *
+ **/
+
+// name=ID "in" expression1=Expression (".." expression2=Expression)? | type=QualifiedNameWithBinding name=ID ":"
+// expression=Expression
+protected class LoopVariableDefinition_Alternatives extends AlternativesToken {
+
+ public LoopVariableDefinition_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getLoopVariableDefinitionAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LoopVariableDefinition_Group_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new LoopVariableDefinition_Group_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getLoopVariableDefinitionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// name=ID "in" expression1=Expression (".." expression2=Expression)?
+protected class LoopVariableDefinition_Group_0 extends GroupToken {
+
+ public LoopVariableDefinition_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getLoopVariableDefinitionAccess().getGroup_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LoopVariableDefinition_Group_0_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new LoopVariableDefinition_Expression1Assignment_0_2(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// name=ID
+protected class LoopVariableDefinition_NameAssignment_0_0 extends AssignmentToken {
+
+ public LoopVariableDefinition_NameAssignment_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLoopVariableDefinitionAccess().getNameAssignment_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getLoopVariableDefinitionAccess().getNameIDTerminalRuleCall_0_0_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getLoopVariableDefinitionAccess().getNameIDTerminalRuleCall_0_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// "in"
+protected class LoopVariableDefinition_InKeyword_0_1 extends KeywordToken {
+
+ public LoopVariableDefinition_InKeyword_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLoopVariableDefinitionAccess().getInKeyword_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LoopVariableDefinition_NameAssignment_0_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// expression1=Expression
+protected class LoopVariableDefinition_Expression1Assignment_0_2 extends AssignmentToken {
+
+ public LoopVariableDefinition_Expression1Assignment_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLoopVariableDefinitionAccess().getExpression1Assignment_0_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expression1",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expression1");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getLoopVariableDefinitionAccess().getExpression1ExpressionParserRuleCall_0_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new LoopVariableDefinition_InKeyword_0_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// (".." expression2=Expression)?
+protected class LoopVariableDefinition_Group_0_3 extends GroupToken {
+
+ public LoopVariableDefinition_Group_0_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getLoopVariableDefinitionAccess().getGroup_0_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LoopVariableDefinition_Expression2Assignment_0_3_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ".."
+protected class LoopVariableDefinition_FullStopFullStopKeyword_0_3_0 extends KeywordToken {
+
+ public LoopVariableDefinition_FullStopFullStopKeyword_0_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLoopVariableDefinitionAccess().getFullStopFullStopKeyword_0_3_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LoopVariableDefinition_Expression1Assignment_0_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// expression2=Expression
+protected class LoopVariableDefinition_Expression2Assignment_0_3_1 extends AssignmentToken {
+
+ public LoopVariableDefinition_Expression2Assignment_0_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLoopVariableDefinitionAccess().getExpression2Assignment_0_3_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expression2",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expression2");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getLoopVariableDefinitionAccess().getExpression2ExpressionParserRuleCall_0_3_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new LoopVariableDefinition_FullStopFullStopKeyword_0_3_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+// type=QualifiedNameWithBinding name=ID ":" expression=Expression
+protected class LoopVariableDefinition_Group_1 extends GroupToken {
+
+ public LoopVariableDefinition_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getLoopVariableDefinitionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LoopVariableDefinition_ExpressionAssignment_1_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// type=QualifiedNameWithBinding
+protected class LoopVariableDefinition_TypeAssignment_1_0 extends AssignmentToken {
+
+ public LoopVariableDefinition_TypeAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLoopVariableDefinitionAccess().getTypeAssignment_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNameWithBinding_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("type",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNameWithBindingRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getLoopVariableDefinitionAccess().getTypeQualifiedNameWithBindingParserRuleCall_1_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// name=ID
+protected class LoopVariableDefinition_NameAssignment_1_1 extends AssignmentToken {
+
+ public LoopVariableDefinition_NameAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLoopVariableDefinitionAccess().getNameAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LoopVariableDefinition_TypeAssignment_1_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getLoopVariableDefinitionAccess().getNameIDTerminalRuleCall_1_1_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getLoopVariableDefinitionAccess().getNameIDTerminalRuleCall_1_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// ":"
+protected class LoopVariableDefinition_ColonKeyword_1_2 extends KeywordToken {
+
+ public LoopVariableDefinition_ColonKeyword_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getLoopVariableDefinitionAccess().getColonKeyword_1_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new LoopVariableDefinition_NameAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// expression=Expression
+protected class LoopVariableDefinition_ExpressionAssignment_1_3 extends AssignmentToken {
+
+ public LoopVariableDefinition_ExpressionAssignment_1_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getLoopVariableDefinitionAccess().getExpressionAssignment_1_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getLoopVariableDefinitionAccess().getExpressionExpressionParserRuleCall_1_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new LoopVariableDefinition_ColonKeyword_1_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule LoopVariableDefinition ****************/
+
+
+/************ begin Rule BreakStatement ****************
+ *
+ * / * BREAK STATEMENTS * / BreakStatement:
+ * {BreakStatement} "break" ";";
+ *
+ **/
+
+// {BreakStatement} "break" ";"
+protected class BreakStatement_Group extends GroupToken {
+
+ public BreakStatement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getBreakStatementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new BreakStatement_SemicolonKeyword_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getBreakStatementAccess().getBreakStatementAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {BreakStatement}
+protected class BreakStatement_BreakStatementAction_0 extends ActionToken {
+
+ public BreakStatement_BreakStatementAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getBreakStatementAccess().getBreakStatementAction_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// "break"
+protected class BreakStatement_BreakKeyword_1 extends KeywordToken {
+
+ public BreakStatement_BreakKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getBreakStatementAccess().getBreakKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new BreakStatement_BreakStatementAction_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ";"
+protected class BreakStatement_SemicolonKeyword_2 extends KeywordToken {
+
+ public BreakStatement_SemicolonKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getBreakStatementAccess().getSemicolonKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new BreakStatement_BreakKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule BreakStatement ****************/
+
+
+/************ begin Rule ReturnStatement ****************
+ *
+ * / * RETURN STATEMENTS * / ReturnStatement:
+ * "return" expression=Expression ";";
+ *
+ **/
+
+// "return" expression=Expression ";"
+protected class ReturnStatement_Group extends GroupToken {
+
+ public ReturnStatement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getReturnStatementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ReturnStatement_SemicolonKeyword_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getReturnStatementRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "return"
+protected class ReturnStatement_ReturnKeyword_0 extends KeywordToken {
+
+ public ReturnStatement_ReturnKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getReturnStatementAccess().getReturnKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// expression=Expression
+protected class ReturnStatement_ExpressionAssignment_1 extends AssignmentToken {
+
+ public ReturnStatement_ExpressionAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getReturnStatementAccess().getExpressionAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getReturnStatementAccess().getExpressionExpressionParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ReturnStatement_ReturnKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ";"
+protected class ReturnStatement_SemicolonKeyword_2 extends KeywordToken {
+
+ public ReturnStatement_SemicolonKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getReturnStatementAccess().getSemicolonKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ReturnStatement_ExpressionAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule ReturnStatement ****************/
+
+
+/************ begin Rule AcceptStatement ****************
+ *
+ * / * ACCEPT STATEMENTS * / AcceptStatement:
+ * clause=AcceptClause (simpleAccept=SimpleAcceptStatementCompletion | compoundAccept=CompoundAcceptStatementCompletion);
+ *
+ **/
+
+// clause=AcceptClause (simpleAccept=SimpleAcceptStatementCompletion | compoundAccept=CompoundAcceptStatementCompletion)
+protected class AcceptStatement_Group extends GroupToken {
+
+ public AcceptStatement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getAcceptStatementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AcceptStatement_Alternatives_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getAcceptStatementRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// clause=AcceptClause
+protected class AcceptStatement_ClauseAssignment_0 extends AssignmentToken {
+
+ public AcceptStatement_ClauseAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAcceptStatementAccess().getClauseAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AcceptClause_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("clause",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("clause");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAcceptClauseRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getAcceptStatementAccess().getClauseAcceptClauseParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// simpleAccept=SimpleAcceptStatementCompletion | compoundAccept=CompoundAcceptStatementCompletion
+protected class AcceptStatement_Alternatives_1 extends AlternativesToken {
+
+ public AcceptStatement_Alternatives_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getAcceptStatementAccess().getAlternatives_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AcceptStatement_SimpleAcceptAssignment_1_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new AcceptStatement_CompoundAcceptAssignment_1_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// simpleAccept=SimpleAcceptStatementCompletion
+protected class AcceptStatement_SimpleAcceptAssignment_1_0 extends AssignmentToken {
+
+ public AcceptStatement_SimpleAcceptAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAcceptStatementAccess().getSimpleAcceptAssignment_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SimpleAcceptStatementCompletion_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("simpleAccept",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("simpleAccept");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSimpleAcceptStatementCompletionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getAcceptStatementAccess().getSimpleAcceptSimpleAcceptStatementCompletionParserRuleCall_1_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new AcceptStatement_ClauseAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// compoundAccept=CompoundAcceptStatementCompletion
+protected class AcceptStatement_CompoundAcceptAssignment_1_1 extends AssignmentToken {
+
+ public AcceptStatement_CompoundAcceptAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAcceptStatementAccess().getCompoundAcceptAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CompoundAcceptStatementCompletion_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("compoundAccept",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("compoundAccept");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getCompoundAcceptStatementCompletionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getAcceptStatementAccess().getCompoundAcceptCompoundAcceptStatementCompletionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new AcceptStatement_ClauseAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule AcceptStatement ****************/
+
+
+/************ begin Rule SimpleAcceptStatementCompletion ****************
+ *
+ * SimpleAcceptStatementCompletion:
+ * {SimpleAcceptStatementCompletion} ";";
+ *
+ **/
+
+// {SimpleAcceptStatementCompletion} ";"
+protected class SimpleAcceptStatementCompletion_Group extends GroupToken {
+
+ public SimpleAcceptStatementCompletion_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSimpleAcceptStatementCompletionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SimpleAcceptStatementCompletion_SemicolonKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSimpleAcceptStatementCompletionAccess().getSimpleAcceptStatementCompletionAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {SimpleAcceptStatementCompletion}
+protected class SimpleAcceptStatementCompletion_SimpleAcceptStatementCompletionAction_0 extends ActionToken {
+
+ public SimpleAcceptStatementCompletion_SimpleAcceptStatementCompletionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getSimpleAcceptStatementCompletionAccess().getSimpleAcceptStatementCompletionAction_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// ";"
+protected class SimpleAcceptStatementCompletion_SemicolonKeyword_1 extends KeywordToken {
+
+ public SimpleAcceptStatementCompletion_SemicolonKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSimpleAcceptStatementCompletionAccess().getSemicolonKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SimpleAcceptStatementCompletion_SimpleAcceptStatementCompletionAction_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule SimpleAcceptStatementCompletion ****************/
+
+
+/************ begin Rule CompoundAcceptStatementCompletion ****************
+ *
+ * CompoundAcceptStatementCompletion:
+ * block=Block ("or" acceptBlock+=AcceptBlock)*;
+ *
+ **/
+
+// block=Block ("or" acceptBlock+=AcceptBlock)*
+protected class CompoundAcceptStatementCompletion_Group extends GroupToken {
+
+ public CompoundAcceptStatementCompletion_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getCompoundAcceptStatementCompletionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CompoundAcceptStatementCompletion_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new CompoundAcceptStatementCompletion_BlockAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCompoundAcceptStatementCompletionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// block=Block
+protected class CompoundAcceptStatementCompletion_BlockAssignment_0 extends AssignmentToken {
+
+ public CompoundAcceptStatementCompletion_BlockAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCompoundAcceptStatementCompletionAccess().getBlockAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Block_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("block",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("block");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getBlockRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCompoundAcceptStatementCompletionAccess().getBlockBlockParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// ("or" acceptBlock+=AcceptBlock)*
+protected class CompoundAcceptStatementCompletion_Group_1 extends GroupToken {
+
+ public CompoundAcceptStatementCompletion_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getCompoundAcceptStatementCompletionAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CompoundAcceptStatementCompletion_AcceptBlockAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "or"
+protected class CompoundAcceptStatementCompletion_OrKeyword_1_0 extends KeywordToken {
+
+ public CompoundAcceptStatementCompletion_OrKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getCompoundAcceptStatementCompletionAccess().getOrKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new CompoundAcceptStatementCompletion_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new CompoundAcceptStatementCompletion_BlockAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// acceptBlock+=AcceptBlock
+protected class CompoundAcceptStatementCompletion_AcceptBlockAssignment_1_1 extends AssignmentToken {
+
+ public CompoundAcceptStatementCompletion_AcceptBlockAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCompoundAcceptStatementCompletionAccess().getAcceptBlockAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AcceptBlock_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("acceptBlock",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("acceptBlock");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAcceptBlockRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getCompoundAcceptStatementCompletionAccess().getAcceptBlockAcceptBlockParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new CompoundAcceptStatementCompletion_OrKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule CompoundAcceptStatementCompletion ****************/
+
+
+/************ begin Rule AcceptBlock ****************
+ *
+ * AcceptBlock:
+ * clause=AcceptClause block=Block;
+ *
+ **/
+
+// clause=AcceptClause block=Block
+protected class AcceptBlock_Group extends GroupToken {
+
+ public AcceptBlock_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getAcceptBlockAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AcceptBlock_BlockAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getAcceptBlockRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// clause=AcceptClause
+protected class AcceptBlock_ClauseAssignment_0 extends AssignmentToken {
+
+ public AcceptBlock_ClauseAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAcceptBlockAccess().getClauseAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AcceptClause_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("clause",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("clause");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAcceptClauseRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getAcceptBlockAccess().getClauseAcceptClauseParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// block=Block
+protected class AcceptBlock_BlockAssignment_1 extends AssignmentToken {
+
+ public AcceptBlock_BlockAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAcceptBlockAccess().getBlockAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Block_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("block",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("block");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getBlockRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getAcceptBlockAccess().getBlockBlockParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new AcceptBlock_ClauseAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule AcceptBlock ****************/
+
+
+/************ begin Rule AcceptClause ****************
+ *
+ * AcceptClause:
+ * "accept" "(" (name=ID ":")? qualifiedNameList=QualifiedNameList ")";
+ *
+ **/
+
+// "accept" "(" (name=ID ":")? qualifiedNameList=QualifiedNameList ")"
+protected class AcceptClause_Group extends GroupToken {
+
+ public AcceptClause_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getAcceptClauseAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AcceptClause_RightParenthesisKeyword_4(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getAcceptClauseRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "accept"
+protected class AcceptClause_AcceptKeyword_0 extends KeywordToken {
+
+ public AcceptClause_AcceptKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getAcceptClauseAccess().getAcceptKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// "("
+protected class AcceptClause_LeftParenthesisKeyword_1 extends KeywordToken {
+
+ public AcceptClause_LeftParenthesisKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getAcceptClauseAccess().getLeftParenthesisKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AcceptClause_AcceptKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// (name=ID ":")?
+protected class AcceptClause_Group_2 extends GroupToken {
+
+ public AcceptClause_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getAcceptClauseAccess().getGroup_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AcceptClause_ColonKeyword_2_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// name=ID
+protected class AcceptClause_NameAssignment_2_0 extends AssignmentToken {
+
+ public AcceptClause_NameAssignment_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAcceptClauseAccess().getNameAssignment_2_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AcceptClause_LeftParenthesisKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAcceptClauseAccess().getNameIDTerminalRuleCall_2_0_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getAcceptClauseAccess().getNameIDTerminalRuleCall_2_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// ":"
+protected class AcceptClause_ColonKeyword_2_1 extends KeywordToken {
+
+ public AcceptClause_ColonKeyword_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getAcceptClauseAccess().getColonKeyword_2_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AcceptClause_NameAssignment_2_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+// qualifiedNameList=QualifiedNameList
+protected class AcceptClause_QualifiedNameListAssignment_3 extends AssignmentToken {
+
+ public AcceptClause_QualifiedNameListAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAcceptClauseAccess().getQualifiedNameListAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNameList_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("qualifiedNameList",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("qualifiedNameList");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNameListRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getAcceptClauseAccess().getQualifiedNameListQualifiedNameListParserRuleCall_3_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new AcceptClause_Group_2(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new AcceptClause_LeftParenthesisKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class AcceptClause_RightParenthesisKeyword_4 extends KeywordToken {
+
+ public AcceptClause_RightParenthesisKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getAcceptClauseAccess().getRightParenthesisKeyword_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AcceptClause_QualifiedNameListAssignment_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule AcceptClause ****************/
+
+
+/************ begin Rule ClassifyStatement ****************
+ *
+ * / * CLASSIFY STATEMENTS * / ClassifyStatement:
+ * "classify" expression=Expression clause=ClassificationClause ";";
+ *
+ **/
+
+// "classify" expression=Expression clause=ClassificationClause ";"
+protected class ClassifyStatement_Group extends GroupToken {
+
+ public ClassifyStatement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getClassifyStatementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassifyStatement_SemicolonKeyword_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getClassifyStatementRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "classify"
+protected class ClassifyStatement_ClassifyKeyword_0 extends KeywordToken {
+
+ public ClassifyStatement_ClassifyKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getClassifyStatementAccess().getClassifyKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// expression=Expression
+protected class ClassifyStatement_ExpressionAssignment_1 extends AssignmentToken {
+
+ public ClassifyStatement_ExpressionAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getClassifyStatementAccess().getExpressionAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expression_ConditionalTestExpressionParserRuleCall(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expression",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expression");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getClassifyStatementAccess().getExpressionExpressionParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ClassifyStatement_ClassifyKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// clause=ClassificationClause
+protected class ClassifyStatement_ClauseAssignment_2 extends AssignmentToken {
+
+ public ClassifyStatement_ClauseAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getClassifyStatementAccess().getClauseAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassificationClause_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("clause",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("clause");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getClassificationClauseRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getClassifyStatementAccess().getClauseClassificationClauseParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ClassifyStatement_ExpressionAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ";"
+protected class ClassifyStatement_SemicolonKeyword_3 extends KeywordToken {
+
+ public ClassifyStatement_SemicolonKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getClassifyStatementAccess().getSemicolonKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassifyStatement_ClauseAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule ClassifyStatement ****************/
+
+
+/************ begin Rule ClassificationClause ****************
+ *
+ * ClassificationClause:
+ * classifyFromClause=ClassificationFromClause classifyToClause=ClassificationToClause? |
+ * reclassyAllClause=ReclassifyAllClause? classifyToClause=ClassificationToClause;
+ *
+ **/
+
+// classifyFromClause=ClassificationFromClause classifyToClause=ClassificationToClause? |
+// reclassyAllClause=ReclassifyAllClause? classifyToClause=ClassificationToClause
+protected class ClassificationClause_Alternatives extends AlternativesToken {
+
+ public ClassificationClause_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getClassificationClauseAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassificationClause_Group_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ClassificationClause_Group_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getClassificationClauseRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// classifyFromClause=ClassificationFromClause classifyToClause=ClassificationToClause?
+protected class ClassificationClause_Group_0 extends GroupToken {
+
+ public ClassificationClause_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getClassificationClauseAccess().getGroup_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassificationClause_ClassifyToClauseAssignment_0_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ClassificationClause_ClassifyFromClauseAssignment_0_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// classifyFromClause=ClassificationFromClause
+protected class ClassificationClause_ClassifyFromClauseAssignment_0_0 extends AssignmentToken {
+
+ public ClassificationClause_ClassifyFromClauseAssignment_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getClassificationClauseAccess().getClassifyFromClauseAssignment_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassificationFromClause_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("classifyFromClause",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("classifyFromClause");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getClassificationFromClauseRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getClassificationClauseAccess().getClassifyFromClauseClassificationFromClauseParserRuleCall_0_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// classifyToClause=ClassificationToClause?
+protected class ClassificationClause_ClassifyToClauseAssignment_0_1 extends AssignmentToken {
+
+ public ClassificationClause_ClassifyToClauseAssignment_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getClassificationClauseAccess().getClassifyToClauseAssignment_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassificationToClause_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("classifyToClause",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("classifyToClause");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getClassificationToClauseRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getClassificationClauseAccess().getClassifyToClauseClassificationToClauseParserRuleCall_0_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ClassificationClause_ClassifyFromClauseAssignment_0_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// reclassyAllClause=ReclassifyAllClause? classifyToClause=ClassificationToClause
+protected class ClassificationClause_Group_1 extends GroupToken {
+
+ public ClassificationClause_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getClassificationClauseAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassificationClause_ClassifyToClauseAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// reclassyAllClause=ReclassifyAllClause?
+protected class ClassificationClause_ReclassyAllClauseAssignment_1_0 extends AssignmentToken {
+
+ public ClassificationClause_ReclassyAllClauseAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getClassificationClauseAccess().getReclassyAllClauseAssignment_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ReclassifyAllClause_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("reclassyAllClause",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("reclassyAllClause");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getReclassifyAllClauseRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getClassificationClauseAccess().getReclassyAllClauseReclassifyAllClauseParserRuleCall_1_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// classifyToClause=ClassificationToClause
+protected class ClassificationClause_ClassifyToClauseAssignment_1_1 extends AssignmentToken {
+
+ public ClassificationClause_ClassifyToClauseAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getClassificationClauseAccess().getClassifyToClauseAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassificationToClause_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("classifyToClause",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("classifyToClause");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getClassificationToClauseRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getClassificationClauseAccess().getClassifyToClauseClassificationToClauseParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ClassificationClause_ReclassyAllClauseAssignment_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index - 1, consumed);
+ }
+ }
+}
+
+
+
+/************ end Rule ClassificationClause ****************/
+
+
+/************ begin Rule ClassificationFromClause ****************
+ *
+ * ClassificationFromClause:
+ * "from" qualifiedNameList=QualifiedNameList;
+ *
+ **/
+
+// "from" qualifiedNameList=QualifiedNameList
+protected class ClassificationFromClause_Group extends GroupToken {
+
+ public ClassificationFromClause_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getClassificationFromClauseAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassificationFromClause_QualifiedNameListAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getClassificationFromClauseRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "from"
+protected class ClassificationFromClause_FromKeyword_0 extends KeywordToken {
+
+ public ClassificationFromClause_FromKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getClassificationFromClauseAccess().getFromKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// qualifiedNameList=QualifiedNameList
+protected class ClassificationFromClause_QualifiedNameListAssignment_1 extends AssignmentToken {
+
+ public ClassificationFromClause_QualifiedNameListAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getClassificationFromClauseAccess().getQualifiedNameListAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNameList_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("qualifiedNameList",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("qualifiedNameList");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNameListRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getClassificationFromClauseAccess().getQualifiedNameListQualifiedNameListParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ClassificationFromClause_FromKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule ClassificationFromClause ****************/
+
+
+/************ begin Rule ClassificationToClause ****************
+ *
+ * ClassificationToClause:
+ * "to" qualifiedNameList=QualifiedNameList;
+ *
+ **/
+
+// "to" qualifiedNameList=QualifiedNameList
+protected class ClassificationToClause_Group extends GroupToken {
+
+ public ClassificationToClause_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getClassificationToClauseAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ClassificationToClause_QualifiedNameListAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getClassificationToClauseRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "to"
+protected class ClassificationToClause_ToKeyword_0 extends KeywordToken {
+
+ public ClassificationToClause_ToKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getClassificationToClauseAccess().getToKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// qualifiedNameList=QualifiedNameList
+protected class ClassificationToClause_QualifiedNameListAssignment_1 extends AssignmentToken {
+
+ public ClassificationToClause_QualifiedNameListAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getClassificationToClauseAccess().getQualifiedNameListAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNameList_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("qualifiedNameList",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("qualifiedNameList");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNameListRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getClassificationToClauseAccess().getQualifiedNameListQualifiedNameListParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ClassificationToClause_ToKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule ClassificationToClause ****************/
+
+
+/************ begin Rule ReclassifyAllClause ****************
+ *
+ * ReclassifyAllClause:
+ * {ReclassifyAllClause} "from" "*";
+ *
+ **/
+
+// {ReclassifyAllClause} "from" "*"
+protected class ReclassifyAllClause_Group extends GroupToken {
+
+ public ReclassifyAllClause_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getReclassifyAllClauseAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ReclassifyAllClause_AsteriskKeyword_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getReclassifyAllClauseAccess().getReclassifyAllClauseAction_0().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// {ReclassifyAllClause}
+protected class ReclassifyAllClause_ReclassifyAllClauseAction_0 extends ActionToken {
+
+ public ReclassifyAllClause_ReclassifyAllClauseAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getReclassifyAllClauseAccess().getReclassifyAllClauseAction_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// "from"
+protected class ReclassifyAllClause_FromKeyword_1 extends KeywordToken {
+
+ public ReclassifyAllClause_FromKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getReclassifyAllClauseAccess().getFromKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ReclassifyAllClause_ReclassifyAllClauseAction_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "*"
+protected class ReclassifyAllClause_AsteriskKeyword_2 extends KeywordToken {
+
+ public ReclassifyAllClause_AsteriskKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getReclassifyAllClauseAccess().getAsteriskKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ReclassifyAllClause_FromKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule ReclassifyAllClause ****************/
+
+
+/************ begin Rule QualifiedNameList ****************
+ *
+ * QualifiedNameList:
+ * qualifiedName+=QualifiedNameWithBinding ("," qualifiedName+=QualifiedNameWithBinding)*;
+ *
+ **/
+
+// qualifiedName+=QualifiedNameWithBinding ("," qualifiedName+=QualifiedNameWithBinding)*
+protected class QualifiedNameList_Group extends GroupToken {
+
+ public QualifiedNameList_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getQualifiedNameListAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNameList_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new QualifiedNameList_QualifiedNameAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getQualifiedNameListRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// qualifiedName+=QualifiedNameWithBinding
+protected class QualifiedNameList_QualifiedNameAssignment_0 extends AssignmentToken {
+
+ public QualifiedNameList_QualifiedNameAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getQualifiedNameListAccess().getQualifiedNameAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNameWithBinding_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("qualifiedName",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("qualifiedName");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNameWithBindingRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getQualifiedNameListAccess().getQualifiedNameQualifiedNameWithBindingParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// ("," qualifiedName+=QualifiedNameWithBinding)*
+protected class QualifiedNameList_Group_1 extends GroupToken {
+
+ public QualifiedNameList_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getQualifiedNameListAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNameList_QualifiedNameAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class QualifiedNameList_CommaKeyword_1_0 extends KeywordToken {
+
+ public QualifiedNameList_CommaKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getQualifiedNameListAccess().getCommaKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNameList_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new QualifiedNameList_QualifiedNameAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// qualifiedName+=QualifiedNameWithBinding
+protected class QualifiedNameList_QualifiedNameAssignment_1_1 extends AssignmentToken {
+
+ public QualifiedNameList_QualifiedNameAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getQualifiedNameListAccess().getQualifiedNameAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new QualifiedNameWithBinding_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("qualifiedName",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("qualifiedName");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getQualifiedNameWithBindingRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getQualifiedNameListAccess().getQualifiedNameQualifiedNameWithBindingParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new QualifiedNameList_CommaKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule QualifiedNameList ****************/
+
+
+/************ begin Rule InvocationOrAssignementOrDeclarationStatement ****************
+ *
+ * InvocationOrAssignementOrDeclarationStatement:
+ * typePart_OR_assignedPart_OR_invocationPart=NameExpression (variableDeclarationCompletion=VariableDeclarationCompletion //(suffixCompletion = SuffixCompletion)?
+ * | assignmentCompletion=AssignmentCompletion)? ";";
+ *
+ **/
+
+// typePart_OR_assignedPart_OR_invocationPart=NameExpression (variableDeclarationCompletion=VariableDeclarationCompletion //(suffixCompletion = SuffixCompletion)?
+// | assignmentCompletion=AssignmentCompletion)? ";"
+protected class InvocationOrAssignementOrDeclarationStatement_Group extends GroupToken {
+
+ public InvocationOrAssignementOrDeclarationStatement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getInvocationOrAssignementOrDeclarationStatementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InvocationOrAssignementOrDeclarationStatement_SemicolonKeyword_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInvocationOrAssignementOrDeclarationStatementRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// typePart_OR_assignedPart_OR_invocationPart=NameExpression
+protected class InvocationOrAssignementOrDeclarationStatement_TypePart_OR_assignedPart_OR_invocationPartAssignment_0 extends AssignmentToken {
+
+ public InvocationOrAssignementOrDeclarationStatement_TypePart_OR_assignedPart_OR_invocationPartAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInvocationOrAssignementOrDeclarationStatementAccess().getTypePart_OR_assignedPart_OR_invocationPartAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new NameExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("typePart_OR_assignedPart_OR_invocationPart",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("typePart_OR_assignedPart_OR_invocationPart");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getNameExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getInvocationOrAssignementOrDeclarationStatementAccess().getTypePart_OR_assignedPart_OR_invocationPartNameExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// (variableDeclarationCompletion=VariableDeclarationCompletion //(suffixCompletion = SuffixCompletion)?
+// | assignmentCompletion=AssignmentCompletion)?
+protected class InvocationOrAssignementOrDeclarationStatement_Alternatives_1 extends AlternativesToken {
+
+ public InvocationOrAssignementOrDeclarationStatement_Alternatives_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getInvocationOrAssignementOrDeclarationStatementAccess().getAlternatives_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InvocationOrAssignementOrDeclarationStatement_VariableDeclarationCompletionAssignment_1_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new InvocationOrAssignementOrDeclarationStatement_AssignmentCompletionAssignment_1_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// variableDeclarationCompletion=VariableDeclarationCompletion
+protected class InvocationOrAssignementOrDeclarationStatement_VariableDeclarationCompletionAssignment_1_0 extends AssignmentToken {
+
+ public InvocationOrAssignementOrDeclarationStatement_VariableDeclarationCompletionAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInvocationOrAssignementOrDeclarationStatementAccess().getVariableDeclarationCompletionAssignment_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclarationCompletion_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("variableDeclarationCompletion",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("variableDeclarationCompletion");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getVariableDeclarationCompletionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getInvocationOrAssignementOrDeclarationStatementAccess().getVariableDeclarationCompletionVariableDeclarationCompletionParserRuleCall_1_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new InvocationOrAssignementOrDeclarationStatement_TypePart_OR_assignedPart_OR_invocationPartAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// assignmentCompletion=AssignmentCompletion
+protected class InvocationOrAssignementOrDeclarationStatement_AssignmentCompletionAssignment_1_1 extends AssignmentToken {
+
+ public InvocationOrAssignementOrDeclarationStatement_AssignmentCompletionAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInvocationOrAssignementOrDeclarationStatementAccess().getAssignmentCompletionAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AssignmentCompletion_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("assignmentCompletion",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assignmentCompletion");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAssignmentCompletionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getInvocationOrAssignementOrDeclarationStatementAccess().getAssignmentCompletionAssignmentCompletionParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new InvocationOrAssignementOrDeclarationStatement_TypePart_OR_assignedPart_OR_invocationPartAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// ";"
+protected class InvocationOrAssignementOrDeclarationStatement_SemicolonKeyword_2 extends KeywordToken {
+
+ public InvocationOrAssignementOrDeclarationStatement_SemicolonKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInvocationOrAssignementOrDeclarationStatementAccess().getSemicolonKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InvocationOrAssignementOrDeclarationStatement_Alternatives_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new InvocationOrAssignementOrDeclarationStatement_TypePart_OR_assignedPart_OR_invocationPartAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule InvocationOrAssignementOrDeclarationStatement ****************/
+
+
+/************ begin Rule SuperInvocationStatement ****************
+ *
+ * SuperInvocationStatement:
+ * _super=SuperInvocationExpression //(suffix = SuffixCompletion)? ';'
+ * ";";
+ *
+ **/
+
+// _super=SuperInvocationExpression //(suffix = SuffixCompletion)? ';'
+// ";"
+protected class SuperInvocationStatement_Group extends GroupToken {
+
+ public SuperInvocationStatement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSuperInvocationStatementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuperInvocationStatement_SemicolonKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSuperInvocationStatementRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// _super=SuperInvocationExpression
+protected class SuperInvocationStatement__superAssignment_0 extends AssignmentToken {
+
+ public SuperInvocationStatement__superAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSuperInvocationStatementAccess().get_superAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuperInvocationExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("_super",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("_super");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSuperInvocationExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSuperInvocationStatementAccess().get_superSuperInvocationExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// //(suffix = SuffixCompletion)? ';'
+// ";"
+protected class SuperInvocationStatement_SemicolonKeyword_1 extends KeywordToken {
+
+ public SuperInvocationStatement_SemicolonKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getSuperInvocationStatementAccess().getSemicolonKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SuperInvocationStatement__superAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule SuperInvocationStatement ****************/
+
+
+/************ begin Rule ThisInvocationStatement ****************
+ *
+ * ThisInvocationStatement: //_this = ThisExpression suffix = SuffixCompletion (assignmentCompletion = AssignmentCompletion)? ';'
+ * _this=ThisExpression assignmentCompletion=AssignmentCompletion? ";";
+ *
+ **/
+
+// //_this = ThisExpression suffix = SuffixCompletion (assignmentCompletion = AssignmentCompletion)? ';'
+// _this=ThisExpression assignmentCompletion=AssignmentCompletion? ";"
+protected class ThisInvocationStatement_Group extends GroupToken {
+
+ public ThisInvocationStatement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getThisInvocationStatementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ThisInvocationStatement_SemicolonKeyword_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getThisInvocationStatementRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// //_this = ThisExpression suffix = SuffixCompletion (assignmentCompletion = AssignmentCompletion)? ';'
+// _this=ThisExpression
+protected class ThisInvocationStatement__thisAssignment_0 extends AssignmentToken {
+
+ public ThisInvocationStatement__thisAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getThisInvocationStatementAccess().get_thisAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ThisExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("_this",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("_this");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getThisExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getThisInvocationStatementAccess().get_thisThisExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// assignmentCompletion=AssignmentCompletion?
+protected class ThisInvocationStatement_AssignmentCompletionAssignment_1 extends AssignmentToken {
+
+ public ThisInvocationStatement_AssignmentCompletionAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getThisInvocationStatementAccess().getAssignmentCompletionAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AssignmentCompletion_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("assignmentCompletion",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assignmentCompletion");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAssignmentCompletionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getThisInvocationStatementAccess().getAssignmentCompletionAssignmentCompletionParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new ThisInvocationStatement__thisAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ";"
+protected class ThisInvocationStatement_SemicolonKeyword_2 extends KeywordToken {
+
+ public ThisInvocationStatement_SemicolonKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getThisInvocationStatementAccess().getSemicolonKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new ThisInvocationStatement_AssignmentCompletionAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new ThisInvocationStatement__thisAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule ThisInvocationStatement ****************/
+
+
+/************ begin Rule InstanceCreationInvocationStatement ****************
+ *
+ * InstanceCreationInvocationStatement:
+ * _new=InstanceCreationExpression //(suffix = SuffixCompletion)? ';'
+ * ";";
+ *
+ **/
+
+// _new=InstanceCreationExpression //(suffix = SuffixCompletion)? ';'
+// ";"
+protected class InstanceCreationInvocationStatement_Group extends GroupToken {
+
+ public InstanceCreationInvocationStatement_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getInstanceCreationInvocationStatementAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstanceCreationInvocationStatement_SemicolonKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getInstanceCreationInvocationStatementRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// _new=InstanceCreationExpression
+protected class InstanceCreationInvocationStatement__newAssignment_0 extends AssignmentToken {
+
+ public InstanceCreationInvocationStatement__newAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getInstanceCreationInvocationStatementAccess().get_newAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstanceCreationExpression_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("_new",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("_new");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getInstanceCreationExpressionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getInstanceCreationInvocationStatementAccess().get_newInstanceCreationExpressionParserRuleCall_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// //(suffix = SuffixCompletion)? ';'
+// ";"
+protected class InstanceCreationInvocationStatement_SemicolonKeyword_1 extends KeywordToken {
+
+ public InstanceCreationInvocationStatement_SemicolonKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getInstanceCreationInvocationStatementAccess().getSemicolonKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new InstanceCreationInvocationStatement__newAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule InstanceCreationInvocationStatement ****************/
+
+
+/************ begin Rule VariableDeclarationCompletion ****************
+ *
+ * //SuffixCompletion :
+ * // suffix = SuffixExpression
+ * //;
+ * VariableDeclarationCompletion:
+ * (multiplicityIndicator?="[" "]")? variableName=ID initValue=AssignmentCompletion;
+ *
+ **/
+
+// (multiplicityIndicator?="[" "]")? variableName=ID initValue=AssignmentCompletion
+protected class VariableDeclarationCompletion_Group extends GroupToken {
+
+ public VariableDeclarationCompletion_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getVariableDeclarationCompletionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclarationCompletion_InitValueAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getVariableDeclarationCompletionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// (multiplicityIndicator?="[" "]")?
+protected class VariableDeclarationCompletion_Group_0 extends GroupToken {
+
+ public VariableDeclarationCompletion_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getVariableDeclarationCompletionAccess().getGroup_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclarationCompletion_RightSquareBracketKeyword_0_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// multiplicityIndicator?="["
+protected class VariableDeclarationCompletion_MultiplicityIndicatorAssignment_0_0 extends AssignmentToken {
+
+ public VariableDeclarationCompletion_MultiplicityIndicatorAssignment_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getVariableDeclarationCompletionAccess().getMultiplicityIndicatorAssignment_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("multiplicityIndicator",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("multiplicityIndicator");
+ if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getVariableDeclarationCompletionAccess().getMultiplicityIndicatorLeftSquareBracketKeyword_0_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// "]"
+protected class VariableDeclarationCompletion_RightSquareBracketKeyword_0_1 extends KeywordToken {
+
+ public VariableDeclarationCompletion_RightSquareBracketKeyword_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getVariableDeclarationCompletionAccess().getRightSquareBracketKeyword_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclarationCompletion_MultiplicityIndicatorAssignment_0_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+// variableName=ID
+protected class VariableDeclarationCompletion_VariableNameAssignment_1 extends AssignmentToken {
+
+ public VariableDeclarationCompletion_VariableNameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getVariableDeclarationCompletionAccess().getVariableNameAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new VariableDeclarationCompletion_Group_0(lastRuleCallOrigin, this, 0, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("variableName",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("variableName");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getVariableDeclarationCompletionAccess().getVariableNameIDTerminalRuleCall_1_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getVariableDeclarationCompletionAccess().getVariableNameIDTerminalRuleCall_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// initValue=AssignmentCompletion
+protected class VariableDeclarationCompletion_InitValueAssignment_2 extends AssignmentToken {
+
+ public VariableDeclarationCompletion_InitValueAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getVariableDeclarationCompletionAccess().getInitValueAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AssignmentCompletion_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("initValue",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("initValue");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getAssignmentCompletionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getVariableDeclarationCompletionAccess().getInitValueAssignmentCompletionParserRuleCall_2_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new VariableDeclarationCompletion_VariableNameAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule VariableDeclarationCompletion ****************/
+
+
+/************ begin Rule AssignmentCompletion ****************
+ *
+ * //op=('=' | '+=' | '-=' | '*=' | '%=' | '/=' | '&=' |
+ * // '|=' | '^=' | '<<=' | '>>=' | '>>>=') rightHandSide = Expression
+ * AssignmentCompletion:
+ * op=AssignmentOperator rightHandSide=SequenceElement;
+ *
+ **/
+
+// op=AssignmentOperator rightHandSide=SequenceElement
+protected class AssignmentCompletion_Group extends GroupToken {
+
+ public AssignmentCompletion_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getAssignmentCompletionAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new AssignmentCompletion_RightHandSideAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getAssignmentCompletionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// op=AssignmentOperator
+protected class AssignmentCompletion_OpAssignment_0 extends AssignmentToken {
+
+ public AssignmentCompletion_OpAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAssignmentCompletionAccess().getOpAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("op",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
+ if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getAssignmentCompletionAccess().getOpAssignmentOperatorEnumRuleCall_0_0(), value, null)) {
+ type = AssignmentType.ENUM_RULE_CALL;
+ element = grammarAccess.getAssignmentCompletionAccess().getOpAssignmentOperatorEnumRuleCall_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// rightHandSide=SequenceElement
+protected class AssignmentCompletion_RightHandSideAssignment_1 extends AssignmentToken {
+
+ public AssignmentCompletion_RightHandSideAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getAssignmentCompletionAccess().getRightHandSideAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new SequenceElement_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("rightHandSide",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rightHandSide");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSequenceElementRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getAssignmentCompletionAccess().getRightHandSideSequenceElementParserRuleCall_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new AssignmentCompletion_OpAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+/************ end Rule AssignmentCompletion ****************/
+
+}
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/AlfAntlrTokenFileProvider.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/AlfAntlrTokenFileProvider.java
new file mode 100644
index 00000000000..3d5df68a950
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/AlfAntlrTokenFileProvider.java
@@ -0,0 +1,15 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.papyrus.alf.parser.antlr;
+
+import java.io.InputStream;
+import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
+
+public class AlfAntlrTokenFileProvider implements IAntlrTokenFileProvider {
+
+ public InputStream getAntlrTokenFile() {
+ ClassLoader classLoader = getClass().getClassLoader();
+ return classLoader.getResourceAsStream("org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.tokens");
+ }
+}
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/AlfParser.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/AlfParser.java
new file mode 100644
index 00000000000..c7813c84e9d
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/AlfParser.java
@@ -0,0 +1,39 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.papyrus.alf.parser.antlr;
+
+import com.google.inject.Inject;
+
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.papyrus.alf.services.AlfGrammarAccess;
+
+public class AlfParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
+
+ @Inject
+ private AlfGrammarAccess grammarAccess;
+
+ @Override
+ protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
+ tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+ }
+
+ @Override
+ protected org.eclipse.papyrus.alf.parser.antlr.internal.InternalAlfParser createParser(XtextTokenStream stream) {
+ return new org.eclipse.papyrus.alf.parser.antlr.internal.InternalAlfParser(stream, getGrammarAccess());
+ }
+
+ @Override
+ protected String getDefaultRuleName() {
+ return "Test";
+ }
+
+ public AlfGrammarAccess getGrammarAccess() {
+ return this.grammarAccess;
+ }
+
+ public void setGrammarAccess(AlfGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+}
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g
new file mode 100644
index 00000000000..726cbd73417
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g
@@ -0,0 +1,7364 @@
+/*
+* generated by Xtext
+*/
+grammar InternalAlf;
+
+options {
+ superClass=AbstractInternalAntlrParser;
+
+}
+
+@lexer::header {
+package org.eclipse.papyrus.alf.parser.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.parser.antlr.Lexer;
+}
+
+@parser::header {
+package org.eclipse.papyrus.alf.parser.antlr.internal;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.common.util.Enumerator;
+import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
+import org.eclipse.papyrus.alf.services.AlfGrammarAccess;
+
+}
+
+@parser::members {
+
+ private AlfGrammarAccess grammarAccess;
+
+ public InternalAlfParser(TokenStream input, AlfGrammarAccess grammarAccess) {
+ this(input);
+ this.grammarAccess = grammarAccess;
+ registerRules(grammarAccess.getGrammar());
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "Test";
+ }
+
+ @Override
+ protected AlfGrammarAccess getGrammarAccess() {
+ return grammarAccess;
+ }
+}
+
+@rulecatch {
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+}
+
+
+
+
+// Entry rule entryRuleTest
+entryRuleTest returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTestRule()); }
+ iv_ruleTest=ruleTest
+ { $current=$iv_ruleTest.current; }
+ EOF
+;
+
+// Rule Test
+ruleTest returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(( otherlv_0='testExpression'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getTestAccess().getTestExpressionKeyword_0_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTestAccess().getExpressionExpressionParserRuleCall_0_1_0());
+ }
+ lv_expression_1_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTestRule());
+ }
+ add(
+ $current,
+ "expression",
+ lv_expression_1_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*( otherlv_2='testAssignmentExpression'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getTestAccess().getTestAssignmentExpressionKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTestAccess().getAssignExpressionAssignmentCompletionParserRuleCall_1_1_0());
+ }
+ lv_assignExpression_3_0=ruleAssignmentCompletion {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTestRule());
+ }
+ add(
+ $current,
+ "assignExpression",
+ lv_assignExpression_3_0,
+ "AssignmentCompletion");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*( otherlv_4='testStatement'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getTestAccess().getTestStatementKeyword_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTestAccess().getStatementsStatementParserRuleCall_2_1_0());
+ }
+ lv_statements_5_0=ruleStatement {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTestRule());
+ }
+ add(
+ $current,
+ "statements",
+ lv_statements_5_0,
+ "Statement");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*( otherlv_6='testBlock'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getTestAccess().getTestBlockKeyword_3_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTestAccess().getBlockBlockParserRuleCall_3_1_0());
+ }
+ lv_block_7_0=ruleBlock {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTestRule());
+ }
+ set(
+ $current,
+ "block",
+ lv_block_7_0,
+ "Block");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleLITERAL
+entryRuleLITERAL returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getLITERALRule()); }
+ iv_ruleLITERAL=ruleLITERAL
+ { $current=$iv_ruleLITERAL.current; }
+ EOF
+;
+
+// Rule LITERAL
+ruleLITERAL returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getLITERALAccess().getBOOLEAN_LITERALParserRuleCall_0());
+ }
+ this_BOOLEAN_LITERAL_0=ruleBOOLEAN_LITERAL
+ {
+ $current = $this_BOOLEAN_LITERAL_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getLITERALAccess().getNUMBER_LITERALParserRuleCall_1());
+ }
+ this_NUMBER_LITERAL_1=ruleNUMBER_LITERAL
+ {
+ $current = $this_NUMBER_LITERAL_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getLITERALAccess().getSTRING_LITERALParserRuleCall_2());
+ }
+ this_STRING_LITERAL_2=ruleSTRING_LITERAL
+ {
+ $current = $this_STRING_LITERAL_2.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleBOOLEAN_LITERAL
+entryRuleBOOLEAN_LITERAL returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getBOOLEAN_LITERALRule()); }
+ iv_ruleBOOLEAN_LITERAL=ruleBOOLEAN_LITERAL
+ { $current=$iv_ruleBOOLEAN_LITERAL.current; }
+ EOF
+;
+
+// Rule BOOLEAN_LITERAL
+ruleBOOLEAN_LITERAL returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getBOOLEAN_LITERALAccess().getValueBooleanValueEnumRuleCall_0());
+ }
+ lv_value_0_0=ruleBooleanValue {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getBOOLEAN_LITERALRule());
+ }
+ set(
+ $current,
+ "value",
+ lv_value_0_0,
+ "BooleanValue");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleNUMBER_LITERAL
+entryRuleNUMBER_LITERAL returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNUMBER_LITERALRule()); }
+ iv_ruleNUMBER_LITERAL=ruleNUMBER_LITERAL
+ { $current=$iv_ruleNUMBER_LITERAL.current; }
+ EOF
+;
+
+// Rule NUMBER_LITERAL
+ruleNUMBER_LITERAL returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getNUMBER_LITERALAccess().getINTEGER_LITERALParserRuleCall_0());
+ }
+ this_INTEGER_LITERAL_0=ruleINTEGER_LITERAL
+ {
+ $current = $this_INTEGER_LITERAL_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getNUMBER_LITERALAccess().getUNLIMITED_LITERALParserRuleCall_1());
+ }
+ this_UNLIMITED_LITERAL_1=ruleUNLIMITED_LITERAL
+ {
+ $current = $this_UNLIMITED_LITERAL_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleINTEGER_LITERAL
+entryRuleINTEGER_LITERAL returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getINTEGER_LITERALRule()); }
+ iv_ruleINTEGER_LITERAL=ruleINTEGER_LITERAL
+ { $current=$iv_ruleINTEGER_LITERAL.current; }
+ EOF
+;
+
+// Rule INTEGER_LITERAL
+ruleINTEGER_LITERAL returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ lv_value_0_0=RULE_INTEGERVALUE
+ {
+ newLeafNode(lv_value_0_0, grammarAccess.getINTEGER_LITERALAccess().getValueIntegerValueTerminalRuleCall_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getINTEGER_LITERALRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_0_0,
+ "IntegerValue");
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleUNLIMITED_LITERAL
+entryRuleUNLIMITED_LITERAL returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getUNLIMITED_LITERALRule()); }
+ iv_ruleUNLIMITED_LITERAL=ruleUNLIMITED_LITERAL
+ { $current=$iv_ruleUNLIMITED_LITERAL.current; }
+ EOF
+;
+
+// Rule UNLIMITED_LITERAL
+ruleUNLIMITED_LITERAL returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ lv_value_0_0= '*'
+ {
+ newLeafNode(lv_value_0_0, grammarAccess.getUNLIMITED_LITERALAccess().getValueAsteriskKeyword_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getUNLIMITED_LITERALRule());
+ }
+ setWithLastConsumed($current, "value", lv_value_0_0, "*");
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleSTRING_LITERAL
+entryRuleSTRING_LITERAL returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSTRING_LITERALRule()); }
+ iv_ruleSTRING_LITERAL=ruleSTRING_LITERAL
+ { $current=$iv_ruleSTRING_LITERAL.current; }
+ EOF
+;
+
+// Rule STRING_LITERAL
+ruleSTRING_LITERAL returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ lv_value_0_0=RULE_STRING
+ {
+ newLeafNode(lv_value_0_0, grammarAccess.getSTRING_LITERALAccess().getValueSTRINGTerminalRuleCall_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSTRING_LITERALRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_0_0,
+ "STRING");
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleNameExpression
+entryRuleNameExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNameExpressionRule()); }
+ iv_ruleNameExpression=ruleNameExpression
+ { $current=$iv_ruleNameExpression.current; }
+ EOF
+;
+
+// Rule NameExpression
+ruleNameExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((((
+(
+(
+ lv_prefixOp_0_1= '++'
+ {
+ newLeafNode(lv_prefixOp_0_1, grammarAccess.getNameExpressionAccess().getPrefixOpPlusSignPlusSignKeyword_0_0_0_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getNameExpressionRule());
+ }
+ setWithLastConsumed($current, "prefixOp", lv_prefixOp_0_1, null);
+ }
+
+ | lv_prefixOp_0_2= '--'
+ {
+ newLeafNode(lv_prefixOp_0_2, grammarAccess.getNameExpressionAccess().getPrefixOpHyphenMinusHyphenMinusKeyword_0_0_0_0_1());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getNameExpressionRule());
+ }
+ setWithLastConsumed($current, "prefixOp", lv_prefixOp_0_2, null);
+ }
+
+)
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getNameExpressionAccess().getPathQualifiedNamePathParserRuleCall_0_0_1_0());
+ }
+ lv_path_1_0=ruleQualifiedNamePath {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNameExpressionRule());
+ }
+ set(
+ $current,
+ "path",
+ lv_path_1_0,
+ "QualifiedNamePath");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?(
+(
+ lv_id_2_0=RULE_ID
+ {
+ newLeafNode(lv_id_2_0, grammarAccess.getNameExpressionAccess().getIdIDTerminalRuleCall_0_0_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getNameExpressionRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "id",
+ lv_id_2_0,
+ "ID");
+ }
+
+)
+))
+ |((
+(
+ {
+ newCompositeNode(grammarAccess.getNameExpressionAccess().getPathQualifiedNamePathParserRuleCall_0_1_0_0());
+ }
+ lv_path_3_0=ruleQualifiedNamePath {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNameExpressionRule());
+ }
+ set(
+ $current,
+ "path",
+ lv_path_3_0,
+ "QualifiedNamePath");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?(
+(
+ lv_id_4_0=RULE_ID
+ {
+ newLeafNode(lv_id_4_0, grammarAccess.getNameExpressionAccess().getIdIDTerminalRuleCall_0_1_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getNameExpressionRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "id",
+ lv_id_4_0,
+ "ID");
+ }
+
+)
+)((
+(
+ {
+ newCompositeNode(grammarAccess.getNameExpressionAccess().getInvocationCompletionTupleParserRuleCall_0_1_2_0_0());
+ }
+ lv_invocationCompletion_5_0=ruleTuple {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNameExpressionRule());
+ }
+ set(
+ $current,
+ "invocationCompletion",
+ lv_invocationCompletion_5_0,
+ "Tuple");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getNameExpressionAccess().getSequenceConstructionCompletionSequenceConstructionOrAccessCompletionParserRuleCall_0_1_2_1_0());
+ }
+ lv_sequenceConstructionCompletion_6_0=ruleSequenceConstructionOrAccessCompletion {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNameExpressionRule());
+ }
+ set(
+ $current,
+ "sequenceConstructionCompletion",
+ lv_sequenceConstructionCompletion_6_0,
+ "SequenceConstructionOrAccessCompletion");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+(
+ lv_postfixOp_7_1= '++'
+ {
+ newLeafNode(lv_postfixOp_7_1, grammarAccess.getNameExpressionAccess().getPostfixOpPlusSignPlusSignKeyword_0_1_2_2_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getNameExpressionRule());
+ }
+ setWithLastConsumed($current, "postfixOp", lv_postfixOp_7_1, null);
+ }
+
+ | lv_postfixOp_7_2= '--'
+ {
+ newLeafNode(lv_postfixOp_7_2, grammarAccess.getNameExpressionAccess().getPostfixOpHyphenMinusHyphenMinusKeyword_0_1_2_2_0_1());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getNameExpressionRule());
+ }
+ setWithLastConsumed($current, "postfixOp", lv_postfixOp_7_2, null);
+ }
+
+)
+
+)
+))?))(
+(
+ {
+ newCompositeNode(grammarAccess.getNameExpressionAccess().getSuffixSuffixExpressionParserRuleCall_1_0());
+ }
+ lv_suffix_8_0=ruleSuffixExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNameExpressionRule());
+ }
+ set(
+ $current,
+ "suffix",
+ lv_suffix_8_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleQualifiedNamePath
+entryRuleQualifiedNamePath returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getQualifiedNamePathRule()); }
+ iv_ruleQualifiedNamePath=ruleQualifiedNamePath
+ { $current=$iv_ruleQualifiedNamePath.current; }
+ EOF
+;
+
+// Rule QualifiedNamePath
+ruleQualifiedNamePath returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getQualifiedNamePathAccess().getNamespaceUnqualifiedNameParserRuleCall_0_0());
+ }
+ lv_namespace_0_0=ruleUnqualifiedName {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getQualifiedNamePathRule());
+ }
+ add(
+ $current,
+ "namespace",
+ lv_namespace_0_0,
+ "UnqualifiedName");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_1='::'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getQualifiedNamePathAccess().getColonColonKeyword_1());
+ }
+)+
+;
+
+
+
+
+
+// Entry rule entryRuleUnqualifiedName
+entryRuleUnqualifiedName returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getUnqualifiedNameRule()); }
+ iv_ruleUnqualifiedName=ruleUnqualifiedName
+ { $current=$iv_ruleUnqualifiedName.current; }
+ EOF
+;
+
+// Rule UnqualifiedName
+ruleUnqualifiedName returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_name_0_0=RULE_ID
+ {
+ newLeafNode(lv_name_0_0, grammarAccess.getUnqualifiedNameAccess().getNameIDTerminalRuleCall_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getUnqualifiedNameRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_0_0,
+ "ID");
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getUnqualifiedNameAccess().getTemplateBindingTemplateBindingParserRuleCall_1_0());
+ }
+ lv_templateBinding_1_0=ruleTemplateBinding {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getUnqualifiedNameRule());
+ }
+ set(
+ $current,
+ "templateBinding",
+ lv_templateBinding_1_0,
+ "TemplateBinding");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleTemplateBinding
+entryRuleTemplateBinding returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTemplateBindingRule()); }
+ iv_ruleTemplateBinding=ruleTemplateBinding
+ { $current=$iv_ruleTemplateBinding.current; }
+ EOF
+;
+
+// Rule TemplateBinding
+ruleTemplateBinding returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='<'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getTemplateBindingAccess().getLessThanSignKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTemplateBindingAccess().getBindingsNamedTemplateBindingParserRuleCall_1_0());
+ }
+ lv_bindings_1_0=ruleNamedTemplateBinding {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTemplateBindingRule());
+ }
+ add(
+ $current,
+ "bindings",
+ lv_bindings_1_0,
+ "NamedTemplateBinding");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_2=','
+ {
+ newLeafNode(otherlv_2, grammarAccess.getTemplateBindingAccess().getCommaKeyword_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTemplateBindingAccess().getBindingsNamedTemplateBindingParserRuleCall_2_1_0());
+ }
+ lv_bindings_3_0=ruleNamedTemplateBinding {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTemplateBindingRule());
+ }
+ add(
+ $current,
+ "bindings",
+ lv_bindings_3_0,
+ "NamedTemplateBinding");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_4='>'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getTemplateBindingAccess().getGreaterThanSignKeyword_3());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleNamedTemplateBinding
+entryRuleNamedTemplateBinding returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNamedTemplateBindingRule()); }
+ iv_ruleNamedTemplateBinding=ruleNamedTemplateBinding
+ { $current=$iv_ruleNamedTemplateBinding.current; }
+ EOF
+;
+
+// Rule NamedTemplateBinding
+ruleNamedTemplateBinding returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_formal_0_0=RULE_ID
+ {
+ newLeafNode(lv_formal_0_0, grammarAccess.getNamedTemplateBindingAccess().getFormalIDTerminalRuleCall_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getNamedTemplateBindingRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "formal",
+ lv_formal_0_0,
+ "ID");
+ }
+
+)
+) otherlv_1='=>'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getNamedTemplateBindingAccess().getEqualsSignGreaterThanSignKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getNamedTemplateBindingAccess().getActualQualifiedNameWithBindingParserRuleCall_2_0());
+ }
+ lv_actual_2_0=ruleQualifiedNameWithBinding {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNamedTemplateBindingRule());
+ }
+ set(
+ $current,
+ "actual",
+ lv_actual_2_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleQualifiedNameWithBinding
+entryRuleQualifiedNameWithBinding returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getQualifiedNameWithBindingRule()); }
+ iv_ruleQualifiedNameWithBinding=ruleQualifiedNameWithBinding
+ { $current=$iv_ruleQualifiedNameWithBinding.current; }
+ EOF
+;
+
+// Rule QualifiedNameWithBinding
+ruleQualifiedNameWithBinding returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_id_0_0=RULE_ID
+ {
+ newLeafNode(lv_id_0_0, grammarAccess.getQualifiedNameWithBindingAccess().getIdIDTerminalRuleCall_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getQualifiedNameWithBindingRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "id",
+ lv_id_0_0,
+ "ID");
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getQualifiedNameWithBindingAccess().getBindingTemplateBindingParserRuleCall_1_0());
+ }
+ lv_binding_1_0=ruleTemplateBinding {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getQualifiedNameWithBindingRule());
+ }
+ set(
+ $current,
+ "binding",
+ lv_binding_1_0,
+ "TemplateBinding");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?( otherlv_2='::'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getQualifiedNameWithBindingAccess().getColonColonKeyword_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getQualifiedNameWithBindingAccess().getRemainingQualifiedNameWithBindingParserRuleCall_2_1_0());
+ }
+ lv_remaining_3_0=ruleQualifiedNameWithBinding {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getQualifiedNameWithBindingRule());
+ }
+ set(
+ $current,
+ "remaining",
+ lv_remaining_3_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRuleTuple
+entryRuleTuple returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTupleRule()); }
+ iv_ruleTuple=ruleTuple
+ { $current=$iv_ruleTuple.current; }
+ EOF
+;
+
+// Rule Tuple
+ruleTuple returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getTupleAccess().getTupleAction_0(),
+ $current);
+ }
+) otherlv_1='('
+ {
+ newLeafNode(otherlv_1, grammarAccess.getTupleAccess().getLeftParenthesisKeyword_1());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getTupleAccess().getTupleElementsTupleElementParserRuleCall_2_0_0());
+ }
+ lv_tupleElements_2_0=ruleTupleElement {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTupleRule());
+ }
+ add(
+ $current,
+ "tupleElements",
+ lv_tupleElements_2_0,
+ "TupleElement");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_3=','
+ {
+ newLeafNode(otherlv_3, grammarAccess.getTupleAccess().getCommaKeyword_2_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTupleAccess().getTupleElementsTupleElementParserRuleCall_2_1_1_0());
+ }
+ lv_tupleElements_4_0=ruleTupleElement {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTupleRule());
+ }
+ add(
+ $current,
+ "tupleElements",
+ lv_tupleElements_4_0,
+ "TupleElement");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)? otherlv_5=')'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getTupleAccess().getRightParenthesisKeyword_3());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleTupleElement
+entryRuleTupleElement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTupleElementRule()); }
+ iv_ruleTupleElement=ruleTupleElement
+ { $current=$iv_ruleTupleElement.current; }
+ EOF
+;
+
+// Rule TupleElement
+ruleTupleElement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTupleElementAccess().getArgumentExpressionParserRuleCall_0());
+ }
+ lv_argument_0_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTupleElementRule());
+ }
+ set(
+ $current,
+ "argument",
+ lv_argument_0_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleExpression
+entryRuleExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getExpressionRule()); }
+ iv_ruleExpression=ruleExpression
+ { $current=$iv_ruleExpression.current; }
+ EOF
+;
+
+// Rule Expression
+ruleExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+
+ {
+ newCompositeNode(grammarAccess.getExpressionAccess().getConditionalTestExpressionParserRuleCall());
+ }
+ this_ConditionalTestExpression_0=ruleConditionalTestExpression
+ {
+ $current = $this_ConditionalTestExpression_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+;
+
+
+
+
+
+// Entry rule entryRuleConditionalTestExpression
+entryRuleConditionalTestExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getConditionalTestExpressionRule()); }
+ iv_ruleConditionalTestExpression=ruleConditionalTestExpression
+ { $current=$iv_ruleConditionalTestExpression.current; }
+ EOF
+;
+
+// Rule ConditionalTestExpression
+ruleConditionalTestExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getConditionalTestExpressionAccess().getExpConditionalOrExpressionParserRuleCall_0_0());
+ }
+ lv_exp_0_0=ruleConditionalOrExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getConditionalTestExpressionRule());
+ }
+ set(
+ $current,
+ "exp",
+ lv_exp_0_0,
+ "ConditionalOrExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1='?'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getConditionalTestExpressionAccess().getQuestionMarkKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getConditionalTestExpressionAccess().getWhenTrueConditionalTestExpressionParserRuleCall_1_1_0());
+ }
+ lv_whenTrue_2_0=ruleConditionalTestExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getConditionalTestExpressionRule());
+ }
+ set(
+ $current,
+ "whenTrue",
+ lv_whenTrue_2_0,
+ "ConditionalTestExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_3=':'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getConditionalTestExpressionAccess().getColonKeyword_1_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getConditionalTestExpressionAccess().getWhenFalseConditionalTestExpressionParserRuleCall_1_3_0());
+ }
+ lv_whenFalse_4_0=ruleConditionalTestExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getConditionalTestExpressionRule());
+ }
+ set(
+ $current,
+ "whenFalse",
+ lv_whenFalse_4_0,
+ "ConditionalTestExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRuleConditionalOrExpression
+entryRuleConditionalOrExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getConditionalOrExpressionRule()); }
+ iv_ruleConditionalOrExpression=ruleConditionalOrExpression
+ { $current=$iv_ruleConditionalOrExpression.current; }
+ EOF
+;
+
+// Rule ConditionalOrExpression
+ruleConditionalOrExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getConditionalOrExpressionAccess().getExpConditionalAndExpressionParserRuleCall_0_0());
+ }
+ lv_exp_0_0=ruleConditionalAndExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getConditionalOrExpressionRule());
+ }
+ add(
+ $current,
+ "exp",
+ lv_exp_0_0,
+ "ConditionalAndExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1='||'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getConditionalOrExpressionAccess().getVerticalLineVerticalLineKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getConditionalOrExpressionAccess().getExpConditionalAndExpressionParserRuleCall_1_1_0());
+ }
+ lv_exp_2_0=ruleConditionalAndExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getConditionalOrExpressionRule());
+ }
+ add(
+ $current,
+ "exp",
+ lv_exp_2_0,
+ "ConditionalAndExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleConditionalAndExpression
+entryRuleConditionalAndExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getConditionalAndExpressionRule()); }
+ iv_ruleConditionalAndExpression=ruleConditionalAndExpression
+ { $current=$iv_ruleConditionalAndExpression.current; }
+ EOF
+;
+
+// Rule ConditionalAndExpression
+ruleConditionalAndExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getConditionalAndExpressionAccess().getExpInclusiveOrExpressionParserRuleCall_0_0());
+ }
+ lv_exp_0_0=ruleInclusiveOrExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getConditionalAndExpressionRule());
+ }
+ add(
+ $current,
+ "exp",
+ lv_exp_0_0,
+ "InclusiveOrExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1='&&'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getConditionalAndExpressionAccess().getAmpersandAmpersandKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getConditionalAndExpressionAccess().getExpInclusiveOrExpressionParserRuleCall_1_1_0());
+ }
+ lv_exp_2_0=ruleInclusiveOrExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getConditionalAndExpressionRule());
+ }
+ add(
+ $current,
+ "exp",
+ lv_exp_2_0,
+ "InclusiveOrExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleInclusiveOrExpression
+entryRuleInclusiveOrExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getInclusiveOrExpressionRule()); }
+ iv_ruleInclusiveOrExpression=ruleInclusiveOrExpression
+ { $current=$iv_ruleInclusiveOrExpression.current; }
+ EOF
+;
+
+// Rule InclusiveOrExpression
+ruleInclusiveOrExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getInclusiveOrExpressionAccess().getExpExclusiveOrExpressionParserRuleCall_0_0());
+ }
+ lv_exp_0_0=ruleExclusiveOrExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getInclusiveOrExpressionRule());
+ }
+ add(
+ $current,
+ "exp",
+ lv_exp_0_0,
+ "ExclusiveOrExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1='|'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getInclusiveOrExpressionAccess().getVerticalLineKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getInclusiveOrExpressionAccess().getExpExclusiveOrExpressionParserRuleCall_1_1_0());
+ }
+ lv_exp_2_0=ruleExclusiveOrExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getInclusiveOrExpressionRule());
+ }
+ add(
+ $current,
+ "exp",
+ lv_exp_2_0,
+ "ExclusiveOrExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleExclusiveOrExpression
+entryRuleExclusiveOrExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getExclusiveOrExpressionRule()); }
+ iv_ruleExclusiveOrExpression=ruleExclusiveOrExpression
+ { $current=$iv_ruleExclusiveOrExpression.current; }
+ EOF
+;
+
+// Rule ExclusiveOrExpression
+ruleExclusiveOrExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getExclusiveOrExpressionAccess().getExpAndExpressionParserRuleCall_0_0());
+ }
+ lv_exp_0_0=ruleAndExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getExclusiveOrExpressionRule());
+ }
+ add(
+ $current,
+ "exp",
+ lv_exp_0_0,
+ "AndExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1='^'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getExclusiveOrExpressionAccess().getCircumflexAccentKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getExclusiveOrExpressionAccess().getExpAndExpressionParserRuleCall_1_1_0());
+ }
+ lv_exp_2_0=ruleAndExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getExclusiveOrExpressionRule());
+ }
+ add(
+ $current,
+ "exp",
+ lv_exp_2_0,
+ "AndExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleAndExpression
+entryRuleAndExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getAndExpressionRule()); }
+ iv_ruleAndExpression=ruleAndExpression
+ { $current=$iv_ruleAndExpression.current; }
+ EOF
+;
+
+// Rule AndExpression
+ruleAndExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getAndExpressionAccess().getExpEqualityExpressionParserRuleCall_0_0());
+ }
+ lv_exp_0_0=ruleEqualityExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAndExpressionRule());
+ }
+ add(
+ $current,
+ "exp",
+ lv_exp_0_0,
+ "EqualityExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1='&'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getAndExpressionAccess().getAmpersandKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getAndExpressionAccess().getExpEqualityExpressionParserRuleCall_1_1_0());
+ }
+ lv_exp_2_0=ruleEqualityExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAndExpressionRule());
+ }
+ add(
+ $current,
+ "exp",
+ lv_exp_2_0,
+ "EqualityExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleEqualityExpression
+entryRuleEqualityExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getEqualityExpressionRule()); }
+ iv_ruleEqualityExpression=ruleEqualityExpression
+ { $current=$iv_ruleEqualityExpression.current; }
+ EOF
+;
+
+// Rule EqualityExpression
+ruleEqualityExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getEqualityExpressionAccess().getExpClassificationExpressionParserRuleCall_0_0());
+ }
+ lv_exp_0_0=ruleClassificationExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getEqualityExpressionRule());
+ }
+ add(
+ $current,
+ "exp",
+ lv_exp_0_0,
+ "ClassificationExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((
+(
+(
+ lv_op_1_1= '=='
+ {
+ newLeafNode(lv_op_1_1, grammarAccess.getEqualityExpressionAccess().getOpEqualsSignEqualsSignKeyword_1_0_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getEqualityExpressionRule());
+ }
+ addWithLastConsumed($current, "op", lv_op_1_1, null);
+ }
+
+ | lv_op_1_2= '!='
+ {
+ newLeafNode(lv_op_1_2, grammarAccess.getEqualityExpressionAccess().getOpExclamationMarkEqualsSignKeyword_1_0_0_1());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getEqualityExpressionRule());
+ }
+ addWithLastConsumed($current, "op", lv_op_1_2, null);
+ }
+
+)
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getEqualityExpressionAccess().getExpClassificationExpressionParserRuleCall_1_1_0());
+ }
+ lv_exp_2_0=ruleClassificationExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getEqualityExpressionRule());
+ }
+ add(
+ $current,
+ "exp",
+ lv_exp_2_0,
+ "ClassificationExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleClassificationExpression
+entryRuleClassificationExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getClassificationExpressionRule()); }
+ iv_ruleClassificationExpression=ruleClassificationExpression
+ { $current=$iv_ruleClassificationExpression.current; }
+ EOF
+;
+
+// Rule ClassificationExpression
+ruleClassificationExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getClassificationExpressionAccess().getExpRelationalExpressionParserRuleCall_0_0());
+ }
+ lv_exp_0_0=ruleRelationalExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getClassificationExpressionRule());
+ }
+ set(
+ $current,
+ "exp",
+ lv_exp_0_0,
+ "RelationalExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((
+(
+(
+ lv_op_1_1= 'instanceof'
+ {
+ newLeafNode(lv_op_1_1, grammarAccess.getClassificationExpressionAccess().getOpInstanceofKeyword_1_0_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getClassificationExpressionRule());
+ }
+ setWithLastConsumed($current, "op", lv_op_1_1, null);
+ }
+
+ | lv_op_1_2= 'hastype'
+ {
+ newLeafNode(lv_op_1_2, grammarAccess.getClassificationExpressionAccess().getOpHastypeKeyword_1_0_0_1());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getClassificationExpressionRule());
+ }
+ setWithLastConsumed($current, "op", lv_op_1_2, null);
+ }
+
+)
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getClassificationExpressionAccess().getTypeNameNameExpressionParserRuleCall_1_1_0());
+ }
+ lv_typeName_2_0=ruleNameExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getClassificationExpressionRule());
+ }
+ set(
+ $current,
+ "typeName",
+ lv_typeName_2_0,
+ "NameExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRuleRelationalExpression
+entryRuleRelationalExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getRelationalExpressionRule()); }
+ iv_ruleRelationalExpression=ruleRelationalExpression
+ { $current=$iv_ruleRelationalExpression.current; }
+ EOF
+;
+
+// Rule RelationalExpression
+ruleRelationalExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getRelationalExpressionAccess().getLeftShiftExpressionParserRuleCall_0_0());
+ }
+ lv_left_0_0=ruleShiftExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRelationalExpressionRule());
+ }
+ set(
+ $current,
+ "left",
+ lv_left_0_0,
+ "ShiftExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((
+(
+(
+ lv_op_1_1= '<'
+ {
+ newLeafNode(lv_op_1_1, grammarAccess.getRelationalExpressionAccess().getOpLessThanSignKeyword_1_0_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRelationalExpressionRule());
+ }
+ setWithLastConsumed($current, "op", lv_op_1_1, null);
+ }
+
+ | lv_op_1_2= '>'
+ {
+ newLeafNode(lv_op_1_2, grammarAccess.getRelationalExpressionAccess().getOpGreaterThanSignKeyword_1_0_0_1());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRelationalExpressionRule());
+ }
+ setWithLastConsumed($current, "op", lv_op_1_2, null);
+ }
+
+ | lv_op_1_3= '<='
+ {
+ newLeafNode(lv_op_1_3, grammarAccess.getRelationalExpressionAccess().getOpLessThanSignEqualsSignKeyword_1_0_0_2());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRelationalExpressionRule());
+ }
+ setWithLastConsumed($current, "op", lv_op_1_3, null);
+ }
+
+ | lv_op_1_4= '>='
+ {
+ newLeafNode(lv_op_1_4, grammarAccess.getRelationalExpressionAccess().getOpGreaterThanSignEqualsSignKeyword_1_0_0_3());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRelationalExpressionRule());
+ }
+ setWithLastConsumed($current, "op", lv_op_1_4, null);
+ }
+
+)
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getRelationalExpressionAccess().getRightShiftExpressionParserRuleCall_1_1_0());
+ }
+ lv_right_2_0=ruleShiftExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRelationalExpressionRule());
+ }
+ set(
+ $current,
+ "right",
+ lv_right_2_0,
+ "ShiftExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRuleShiftExpression
+entryRuleShiftExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getShiftExpressionRule()); }
+ iv_ruleShiftExpression=ruleShiftExpression
+ { $current=$iv_ruleShiftExpression.current; }
+ EOF
+;
+
+// Rule ShiftExpression
+ruleShiftExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getShiftExpressionAccess().getExpAdditiveExpressionParserRuleCall_0_0());
+ }
+ lv_exp_0_0=ruleAdditiveExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getShiftExpressionRule());
+ }
+ add(
+ $current,
+ "exp",
+ lv_exp_0_0,
+ "AdditiveExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((
+(
+(
+ lv_op_1_1= '<<'
+ {
+ newLeafNode(lv_op_1_1, grammarAccess.getShiftExpressionAccess().getOpLessThanSignLessThanSignKeyword_1_0_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getShiftExpressionRule());
+ }
+ setWithLastConsumed($current, "op", lv_op_1_1, null);
+ }
+
+ | lv_op_1_2= '>>'
+ {
+ newLeafNode(lv_op_1_2, grammarAccess.getShiftExpressionAccess().getOpGreaterThanSignGreaterThanSignKeyword_1_0_0_1());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getShiftExpressionRule());
+ }
+ setWithLastConsumed($current, "op", lv_op_1_2, null);
+ }
+
+ | lv_op_1_3= '>>>'
+ {
+ newLeafNode(lv_op_1_3, grammarAccess.getShiftExpressionAccess().getOpGreaterThanSignGreaterThanSignGreaterThanSignKeyword_1_0_0_2());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getShiftExpressionRule());
+ }
+ setWithLastConsumed($current, "op", lv_op_1_3, null);
+ }
+
+)
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getShiftExpressionAccess().getExpAdditiveExpressionParserRuleCall_1_1_0());
+ }
+ lv_exp_2_0=ruleAdditiveExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getShiftExpressionRule());
+ }
+ add(
+ $current,
+ "exp",
+ lv_exp_2_0,
+ "AdditiveExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRuleAdditiveExpression
+entryRuleAdditiveExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getAdditiveExpressionRule()); }
+ iv_ruleAdditiveExpression=ruleAdditiveExpression
+ { $current=$iv_ruleAdditiveExpression.current; }
+ EOF
+;
+
+// Rule AdditiveExpression
+ruleAdditiveExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getExpMultiplicativeExpressionParserRuleCall_0_0());
+ }
+ lv_exp_0_0=ruleMultiplicativeExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule());
+ }
+ add(
+ $current,
+ "exp",
+ lv_exp_0_0,
+ "MultiplicativeExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((
+(
+(
+ lv_op_1_1= '+'
+ {
+ newLeafNode(lv_op_1_1, grammarAccess.getAdditiveExpressionAccess().getOpPlusSignKeyword_1_0_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAdditiveExpressionRule());
+ }
+ addWithLastConsumed($current, "op", lv_op_1_1, null);
+ }
+
+ | lv_op_1_2= '-'
+ {
+ newLeafNode(lv_op_1_2, grammarAccess.getAdditiveExpressionAccess().getOpHyphenMinusKeyword_1_0_0_1());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAdditiveExpressionRule());
+ }
+ addWithLastConsumed($current, "op", lv_op_1_2, null);
+ }
+
+)
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getExpMultiplicativeExpressionParserRuleCall_1_1_0());
+ }
+ lv_exp_2_0=ruleMultiplicativeExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule());
+ }
+ add(
+ $current,
+ "exp",
+ lv_exp_2_0,
+ "MultiplicativeExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleMultiplicativeExpression
+entryRuleMultiplicativeExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getMultiplicativeExpressionRule()); }
+ iv_ruleMultiplicativeExpression=ruleMultiplicativeExpression
+ { $current=$iv_ruleMultiplicativeExpression.current; }
+ EOF
+;
+
+// Rule MultiplicativeExpression
+ruleMultiplicativeExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExpUnaryExpressionParserRuleCall_0_0());
+ }
+ lv_exp_0_0=ruleUnaryExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule());
+ }
+ add(
+ $current,
+ "exp",
+ lv_exp_0_0,
+ "UnaryExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((
+(
+(
+ lv_op_1_1= '*'
+ {
+ newLeafNode(lv_op_1_1, grammarAccess.getMultiplicativeExpressionAccess().getOpAsteriskKeyword_1_0_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMultiplicativeExpressionRule());
+ }
+ addWithLastConsumed($current, "op", lv_op_1_1, null);
+ }
+
+ | lv_op_1_2= '/'
+ {
+ newLeafNode(lv_op_1_2, grammarAccess.getMultiplicativeExpressionAccess().getOpSolidusKeyword_1_0_0_1());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMultiplicativeExpressionRule());
+ }
+ addWithLastConsumed($current, "op", lv_op_1_2, null);
+ }
+
+ | lv_op_1_3= '%'
+ {
+ newLeafNode(lv_op_1_3, grammarAccess.getMultiplicativeExpressionAccess().getOpPercentSignKeyword_1_0_0_2());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMultiplicativeExpressionRule());
+ }
+ addWithLastConsumed($current, "op", lv_op_1_3, null);
+ }
+
+)
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExpUnaryExpressionParserRuleCall_1_1_0());
+ }
+ lv_exp_2_0=ruleUnaryExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule());
+ }
+ add(
+ $current,
+ "exp",
+ lv_exp_2_0,
+ "UnaryExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleUnaryExpression
+entryRuleUnaryExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getUnaryExpressionRule()); }
+ iv_ruleUnaryExpression=ruleUnaryExpression
+ { $current=$iv_ruleUnaryExpression.current; }
+ EOF
+;
+
+// Rule UnaryExpression
+ruleUnaryExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+(
+ lv_op_0_1= '!'
+ {
+ newLeafNode(lv_op_0_1, grammarAccess.getUnaryExpressionAccess().getOpExclamationMarkKeyword_0_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getUnaryExpressionRule());
+ }
+ setWithLastConsumed($current, "op", lv_op_0_1, null);
+ }
+
+ | lv_op_0_2= '-'
+ {
+ newLeafNode(lv_op_0_2, grammarAccess.getUnaryExpressionAccess().getOpHyphenMinusKeyword_0_0_1());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getUnaryExpressionRule());
+ }
+ setWithLastConsumed($current, "op", lv_op_0_2, null);
+ }
+
+ | lv_op_0_3= '+'
+ {
+ newLeafNode(lv_op_0_3, grammarAccess.getUnaryExpressionAccess().getOpPlusSignKeyword_0_0_2());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getUnaryExpressionRule());
+ }
+ setWithLastConsumed($current, "op", lv_op_0_3, null);
+ }
+
+ | lv_op_0_4= '$'
+ {
+ newLeafNode(lv_op_0_4, grammarAccess.getUnaryExpressionAccess().getOpDollarSignKeyword_0_0_3());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getUnaryExpressionRule());
+ }
+ setWithLastConsumed($current, "op", lv_op_0_4, null);
+ }
+
+ | lv_op_0_5= '~'
+ {
+ newLeafNode(lv_op_0_5, grammarAccess.getUnaryExpressionAccess().getOpTildeKeyword_0_0_4());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getUnaryExpressionRule());
+ }
+ setWithLastConsumed($current, "op", lv_op_0_5, null);
+ }
+
+)
+
+)
+)?(
+(
+ {
+ newCompositeNode(grammarAccess.getUnaryExpressionAccess().getExpPrimaryExpressionParserRuleCall_1_0());
+ }
+ lv_exp_1_0=rulePrimaryExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule());
+ }
+ set(
+ $current,
+ "exp",
+ lv_exp_1_0,
+ "PrimaryExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRulePrimaryExpression
+entryRulePrimaryExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPrimaryExpressionRule()); }
+ iv_rulePrimaryExpression=rulePrimaryExpression
+ { $current=$iv_rulePrimaryExpression.current; }
+ EOF
+;
+
+// Rule PrimaryExpression
+rulePrimaryExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getPrefixValueSpecificationParserRuleCall_0());
+ }
+ lv_prefix_0_0=ruleValueSpecification {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
+ }
+ set(
+ $current,
+ "prefix",
+ lv_prefix_0_0,
+ "ValueSpecification");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleSuffixExpression
+entryRuleSuffixExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSuffixExpressionRule()); }
+ iv_ruleSuffixExpression=ruleSuffixExpression
+ { $current=$iv_ruleSuffixExpression.current; }
+ EOF
+;
+
+// Rule SuffixExpression
+ruleSuffixExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getSuffixExpressionAccess().getOperationCallExpressionParserRuleCall_0());
+ }
+ this_OperationCallExpression_0=ruleOperationCallExpression
+ {
+ $current = $this_OperationCallExpression_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSuffixExpressionAccess().getPropertyCallExpressionParserRuleCall_1());
+ }
+ this_PropertyCallExpression_1=rulePropertyCallExpression
+ {
+ $current = $this_PropertyCallExpression_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSuffixExpressionAccess().getLinkOperationExpressionParserRuleCall_2());
+ }
+ this_LinkOperationExpression_2=ruleLinkOperationExpression
+ {
+ $current = $this_LinkOperationExpression_2.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSuffixExpressionAccess().getSequenceOperationExpressionParserRuleCall_3());
+ }
+ this_SequenceOperationExpression_3=ruleSequenceOperationExpression
+ {
+ $current = $this_SequenceOperationExpression_3.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSuffixExpressionAccess().getSequenceReductionExpressionParserRuleCall_4());
+ }
+ this_SequenceReductionExpression_4=ruleSequenceReductionExpression
+ {
+ $current = $this_SequenceReductionExpression_4.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSuffixExpressionAccess().getSequenceExpansionExpressionParserRuleCall_5());
+ }
+ this_SequenceExpansionExpression_5=ruleSequenceExpansionExpression
+ {
+ $current = $this_SequenceExpansionExpression_5.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSuffixExpressionAccess().getClassExtentExpressionParserRuleCall_6());
+ }
+ this_ClassExtentExpression_6=ruleClassExtentExpression
+ {
+ $current = $this_ClassExtentExpression_6.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleOperationCallExpression
+entryRuleOperationCallExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getOperationCallExpressionRule()); }
+ iv_ruleOperationCallExpression=ruleOperationCallExpression
+ { $current=$iv_ruleOperationCallExpression.current; }
+ EOF
+;
+
+// Rule OperationCallExpression
+ruleOperationCallExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='.'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getOperationCallExpressionAccess().getFullStopKeyword_0());
+ }
+(
+(
+ lv_operationName_1_0=RULE_ID
+ {
+ newLeafNode(lv_operationName_1_0, grammarAccess.getOperationCallExpressionAccess().getOperationNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getOperationCallExpressionRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "operationName",
+ lv_operationName_1_0,
+ "ID");
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getOperationCallExpressionAccess().getTupleTupleParserRuleCall_2_0());
+ }
+ lv_tuple_2_0=ruleTuple {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getOperationCallExpressionRule());
+ }
+ set(
+ $current,
+ "tuple",
+ lv_tuple_2_0,
+ "Tuple");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getOperationCallExpressionAccess().getSuffixSuffixExpressionParserRuleCall_3_0());
+ }
+ lv_suffix_3_0=ruleSuffixExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getOperationCallExpressionRule());
+ }
+ set(
+ $current,
+ "suffix",
+ lv_suffix_3_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRulePropertyCallExpression
+entryRulePropertyCallExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPropertyCallExpressionRule()); }
+ iv_rulePropertyCallExpression=rulePropertyCallExpression
+ { $current=$iv_rulePropertyCallExpression.current; }
+ EOF
+;
+
+// Rule PropertyCallExpression
+rulePropertyCallExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='.'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getPropertyCallExpressionAccess().getFullStopKeyword_0());
+ }
+(
+(
+ lv_propertyName_1_0=RULE_ID
+ {
+ newLeafNode(lv_propertyName_1_0, grammarAccess.getPropertyCallExpressionAccess().getPropertyNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getPropertyCallExpressionRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "propertyName",
+ lv_propertyName_1_0,
+ "ID");
+ }
+
+)
+)( otherlv_2='['
+ {
+ newLeafNode(otherlv_2, grammarAccess.getPropertyCallExpressionAccess().getLeftSquareBracketKeyword_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPropertyCallExpressionAccess().getIndexExpressionParserRuleCall_2_1_0());
+ }
+ lv_index_3_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPropertyCallExpressionRule());
+ }
+ set(
+ $current,
+ "index",
+ lv_index_3_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_4=']'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getPropertyCallExpressionAccess().getRightSquareBracketKeyword_2_2());
+ }
+)?(
+(
+ {
+ newCompositeNode(grammarAccess.getPropertyCallExpressionAccess().getSuffixSuffixExpressionParserRuleCall_3_0());
+ }
+ lv_suffix_5_0=ruleSuffixExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPropertyCallExpressionRule());
+ }
+ set(
+ $current,
+ "suffix",
+ lv_suffix_5_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleLinkOperationExpression
+entryRuleLinkOperationExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getLinkOperationExpressionRule()); }
+ iv_ruleLinkOperationExpression=ruleLinkOperationExpression
+ { $current=$iv_ruleLinkOperationExpression.current; }
+ EOF
+;
+
+// Rule LinkOperationExpression
+ruleLinkOperationExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='.'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getLinkOperationExpressionAccess().getFullStopKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLinkOperationExpressionAccess().getKindLinkOperationKindEnumRuleCall_1_0());
+ }
+ lv_kind_1_0=ruleLinkOperationKind {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLinkOperationExpressionRule());
+ }
+ set(
+ $current,
+ "kind",
+ lv_kind_1_0,
+ "LinkOperationKind");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getLinkOperationExpressionAccess().getTupleLinkOperationTupleParserRuleCall_2_0());
+ }
+ lv_tuple_2_0=ruleLinkOperationTuple {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLinkOperationExpressionRule());
+ }
+ set(
+ $current,
+ "tuple",
+ lv_tuple_2_0,
+ "LinkOperationTuple");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleLinkOperationTuple
+entryRuleLinkOperationTuple returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getLinkOperationTupleRule()); }
+ iv_ruleLinkOperationTuple=ruleLinkOperationTuple
+ { $current=$iv_ruleLinkOperationTuple.current; }
+ EOF
+;
+
+// Rule LinkOperationTuple
+ruleLinkOperationTuple returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='('
+ {
+ newLeafNode(otherlv_0, grammarAccess.getLinkOperationTupleAccess().getLeftParenthesisKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLinkOperationTupleAccess().getLinkOperationTupleElementLinkOperationTupleElementParserRuleCall_1_0());
+ }
+ lv_linkOperationTupleElement_1_0=ruleLinkOperationTupleElement {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLinkOperationTupleRule());
+ }
+ add(
+ $current,
+ "linkOperationTupleElement",
+ lv_linkOperationTupleElement_1_0,
+ "LinkOperationTupleElement");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_2=','
+ {
+ newLeafNode(otherlv_2, grammarAccess.getLinkOperationTupleAccess().getCommaKeyword_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLinkOperationTupleAccess().getLinkOperationTupleElementLinkOperationTupleElementParserRuleCall_2_1_0());
+ }
+ lv_linkOperationTupleElement_3_0=ruleLinkOperationTupleElement {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLinkOperationTupleRule());
+ }
+ add(
+ $current,
+ "linkOperationTupleElement",
+ lv_linkOperationTupleElement_3_0,
+ "LinkOperationTupleElement");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_4=')'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getLinkOperationTupleAccess().getRightParenthesisKeyword_3());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleLinkOperationTupleElement
+entryRuleLinkOperationTupleElement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getLinkOperationTupleElementRule()); }
+ iv_ruleLinkOperationTupleElement=ruleLinkOperationTupleElement
+ { $current=$iv_ruleLinkOperationTupleElement.current; }
+ EOF
+;
+
+// Rule LinkOperationTupleElement
+ruleLinkOperationTupleElement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_role_0_0=RULE_ID
+ {
+ newLeafNode(lv_role_0_0, grammarAccess.getLinkOperationTupleElementAccess().getRoleIDTerminalRuleCall_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getLinkOperationTupleElementRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "role",
+ lv_role_0_0,
+ "ID");
+ }
+
+)
+)( otherlv_1='['
+ {
+ newLeafNode(otherlv_1, grammarAccess.getLinkOperationTupleElementAccess().getLeftSquareBracketKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLinkOperationTupleElementAccess().getRoleIndexExpressionParserRuleCall_1_1_0());
+ }
+ lv_roleIndex_2_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLinkOperationTupleElementRule());
+ }
+ set(
+ $current,
+ "roleIndex",
+ lv_roleIndex_2_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_3=']'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getLinkOperationTupleElementAccess().getRightSquareBracketKeyword_1_2());
+ }
+)? otherlv_4='=>'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getLinkOperationTupleElementAccess().getEqualsSignGreaterThanSignKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLinkOperationTupleElementAccess().getObjectExpressionParserRuleCall_3_0());
+ }
+ lv_object_5_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLinkOperationTupleElementRule());
+ }
+ set(
+ $current,
+ "object",
+ lv_object_5_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleSequenceOperationExpression
+entryRuleSequenceOperationExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSequenceOperationExpressionRule()); }
+ iv_ruleSequenceOperationExpression=ruleSequenceOperationExpression
+ { $current=$iv_ruleSequenceOperationExpression.current; }
+ EOF
+;
+
+// Rule SequenceOperationExpression
+ruleSequenceOperationExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='->'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getSequenceOperationExpressionAccess().getHyphenMinusGreaterThanSignKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getSequenceOperationExpressionAccess().getOperationNameQualifiedNameWithBindingParserRuleCall_1_0());
+ }
+ lv_operationName_1_0=ruleQualifiedNameWithBinding {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSequenceOperationExpressionRule());
+ }
+ set(
+ $current,
+ "operationName",
+ lv_operationName_1_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getSequenceOperationExpressionAccess().getTupleTupleParserRuleCall_2_0());
+ }
+ lv_tuple_2_0=ruleTuple {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSequenceOperationExpressionRule());
+ }
+ set(
+ $current,
+ "tuple",
+ lv_tuple_2_0,
+ "Tuple");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getSequenceOperationExpressionAccess().getSuffixSuffixExpressionParserRuleCall_3_0());
+ }
+ lv_suffix_3_0=ruleSuffixExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSequenceOperationExpressionRule());
+ }
+ set(
+ $current,
+ "suffix",
+ lv_suffix_3_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleSequenceReductionExpression
+entryRuleSequenceReductionExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSequenceReductionExpressionRule()); }
+ iv_ruleSequenceReductionExpression=ruleSequenceReductionExpression
+ { $current=$iv_ruleSequenceReductionExpression.current; }
+ EOF
+;
+
+// Rule SequenceReductionExpression
+ruleSequenceReductionExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='->'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getSequenceReductionExpressionAccess().getHyphenMinusGreaterThanSignKeyword_0());
+ }
+ otherlv_1='reduce'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getSequenceReductionExpressionAccess().getReduceKeyword_1());
+ }
+(
+(
+ lv_isOrdered_2_0= 'ordered'
+ {
+ newLeafNode(lv_isOrdered_2_0, grammarAccess.getSequenceReductionExpressionAccess().getIsOrderedOrderedKeyword_2_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSequenceReductionExpressionRule());
+ }
+ setWithLastConsumed($current, "isOrdered", true, "ordered");
+ }
+
+)
+)?(
+(
+ {
+ newCompositeNode(grammarAccess.getSequenceReductionExpressionAccess().getBehaviorQualifiedNameWithBindingParserRuleCall_3_0());
+ }
+ lv_behavior_3_0=ruleQualifiedNameWithBinding {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSequenceReductionExpressionRule());
+ }
+ set(
+ $current,
+ "behavior",
+ lv_behavior_3_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getSequenceReductionExpressionAccess().getSuffixSuffixExpressionParserRuleCall_4_0());
+ }
+ lv_suffix_4_0=ruleSuffixExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSequenceReductionExpressionRule());
+ }
+ set(
+ $current,
+ "suffix",
+ lv_suffix_4_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleSequenceExpansionExpression
+entryRuleSequenceExpansionExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSequenceExpansionExpressionRule()); }
+ iv_ruleSequenceExpansionExpression=ruleSequenceExpansionExpression
+ { $current=$iv_ruleSequenceExpansionExpression.current; }
+ EOF
+;
+
+// Rule SequenceExpansionExpression
+ruleSequenceExpansionExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getSequenceExpansionExpressionAccess().getSelectOrRejectOperationParserRuleCall_0());
+ }
+ this_SelectOrRejectOperation_0=ruleSelectOrRejectOperation
+ {
+ $current = $this_SelectOrRejectOperation_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSequenceExpansionExpressionAccess().getCollectOrIterateOperationParserRuleCall_1());
+ }
+ this_CollectOrIterateOperation_1=ruleCollectOrIterateOperation
+ {
+ $current = $this_CollectOrIterateOperation_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSequenceExpansionExpressionAccess().getForAllOrExistsOrOneOperationParserRuleCall_2());
+ }
+ this_ForAllOrExistsOrOneOperation_2=ruleForAllOrExistsOrOneOperation
+ {
+ $current = $this_ForAllOrExistsOrOneOperation_2.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSequenceExpansionExpressionAccess().getIsUniqueOperationParserRuleCall_3());
+ }
+ this_IsUniqueOperation_3=ruleIsUniqueOperation
+ {
+ $current = $this_IsUniqueOperation_3.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleSelectOrRejectOperation
+entryRuleSelectOrRejectOperation returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSelectOrRejectOperationRule()); }
+ iv_ruleSelectOrRejectOperation=ruleSelectOrRejectOperation
+ { $current=$iv_ruleSelectOrRejectOperation.current; }
+ EOF
+;
+
+// Rule SelectOrRejectOperation
+ruleSelectOrRejectOperation returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='->'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getSelectOrRejectOperationAccess().getHyphenMinusGreaterThanSignKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getSelectOrRejectOperationAccess().getOpSelectOrRejectOperatorEnumRuleCall_1_0());
+ }
+ lv_op_1_0=ruleSelectOrRejectOperator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSelectOrRejectOperationRule());
+ }
+ set(
+ $current,
+ "op",
+ lv_op_1_0,
+ "SelectOrRejectOperator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ lv_name_2_0=RULE_ID
+ {
+ newLeafNode(lv_name_2_0, grammarAccess.getSelectOrRejectOperationAccess().getNameIDTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSelectOrRejectOperationRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_2_0,
+ "ID");
+ }
+
+)
+) otherlv_3='('
+ {
+ newLeafNode(otherlv_3, grammarAccess.getSelectOrRejectOperationAccess().getLeftParenthesisKeyword_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getSelectOrRejectOperationAccess().getExprExpressionParserRuleCall_4_0());
+ }
+ lv_expr_4_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSelectOrRejectOperationRule());
+ }
+ set(
+ $current,
+ "expr",
+ lv_expr_4_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_5=')'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getSelectOrRejectOperationAccess().getRightParenthesisKeyword_5());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getSelectOrRejectOperationAccess().getSuffixSuffixExpressionParserRuleCall_6_0());
+ }
+ lv_suffix_6_0=ruleSuffixExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSelectOrRejectOperationRule());
+ }
+ set(
+ $current,
+ "suffix",
+ lv_suffix_6_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleCollectOrIterateOperation
+entryRuleCollectOrIterateOperation returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getCollectOrIterateOperationRule()); }
+ iv_ruleCollectOrIterateOperation=ruleCollectOrIterateOperation
+ { $current=$iv_ruleCollectOrIterateOperation.current; }
+ EOF
+;
+
+// Rule CollectOrIterateOperation
+ruleCollectOrIterateOperation returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='->'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getCollectOrIterateOperationAccess().getHyphenMinusGreaterThanSignKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getCollectOrIterateOperationAccess().getOpCollectOrIterateOperatorEnumRuleCall_1_0());
+ }
+ lv_op_1_0=ruleCollectOrIterateOperator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectOrIterateOperationRule());
+ }
+ set(
+ $current,
+ "op",
+ lv_op_1_0,
+ "CollectOrIterateOperator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ lv_name_2_0=RULE_ID
+ {
+ newLeafNode(lv_name_2_0, grammarAccess.getCollectOrIterateOperationAccess().getNameIDTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getCollectOrIterateOperationRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_2_0,
+ "ID");
+ }
+
+)
+) otherlv_3='('
+ {
+ newLeafNode(otherlv_3, grammarAccess.getCollectOrIterateOperationAccess().getLeftParenthesisKeyword_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getCollectOrIterateOperationAccess().getExprExpressionParserRuleCall_4_0());
+ }
+ lv_expr_4_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectOrIterateOperationRule());
+ }
+ set(
+ $current,
+ "expr",
+ lv_expr_4_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_5=')'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getCollectOrIterateOperationAccess().getRightParenthesisKeyword_5());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getCollectOrIterateOperationAccess().getSuffixSuffixExpressionParserRuleCall_6_0());
+ }
+ lv_suffix_6_0=ruleSuffixExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCollectOrIterateOperationRule());
+ }
+ set(
+ $current,
+ "suffix",
+ lv_suffix_6_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleForAllOrExistsOrOneOperation
+entryRuleForAllOrExistsOrOneOperation returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getForAllOrExistsOrOneOperationRule()); }
+ iv_ruleForAllOrExistsOrOneOperation=ruleForAllOrExistsOrOneOperation
+ { $current=$iv_ruleForAllOrExistsOrOneOperation.current; }
+ EOF
+;
+
+// Rule ForAllOrExistsOrOneOperation
+ruleForAllOrExistsOrOneOperation returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='->'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getForAllOrExistsOrOneOperationAccess().getHyphenMinusGreaterThanSignKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getForAllOrExistsOrOneOperationAccess().getOpForAllOrExistsOrOneOperatorEnumRuleCall_1_0());
+ }
+ lv_op_1_0=ruleForAllOrExistsOrOneOperator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getForAllOrExistsOrOneOperationRule());
+ }
+ set(
+ $current,
+ "op",
+ lv_op_1_0,
+ "ForAllOrExistsOrOneOperator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ lv_name_2_0=RULE_ID
+ {
+ newLeafNode(lv_name_2_0, grammarAccess.getForAllOrExistsOrOneOperationAccess().getNameIDTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getForAllOrExistsOrOneOperationRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_2_0,
+ "ID");
+ }
+
+)
+) otherlv_3='('
+ {
+ newLeafNode(otherlv_3, grammarAccess.getForAllOrExistsOrOneOperationAccess().getLeftParenthesisKeyword_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getForAllOrExistsOrOneOperationAccess().getExprExpressionParserRuleCall_4_0());
+ }
+ lv_expr_4_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getForAllOrExistsOrOneOperationRule());
+ }
+ set(
+ $current,
+ "expr",
+ lv_expr_4_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_5=')'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getForAllOrExistsOrOneOperationAccess().getRightParenthesisKeyword_5());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getForAllOrExistsOrOneOperationAccess().getSuffixSuffixExpressionParserRuleCall_6_0());
+ }
+ lv_suffix_6_0=ruleSuffixExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getForAllOrExistsOrOneOperationRule());
+ }
+ set(
+ $current,
+ "suffix",
+ lv_suffix_6_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleIsUniqueOperation
+entryRuleIsUniqueOperation returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getIsUniqueOperationRule()); }
+ iv_ruleIsUniqueOperation=ruleIsUniqueOperation
+ { $current=$iv_ruleIsUniqueOperation.current; }
+ EOF
+;
+
+// Rule IsUniqueOperation
+ruleIsUniqueOperation returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='->'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getIsUniqueOperationAccess().getHyphenMinusGreaterThanSignKeyword_0());
+ }
+ otherlv_1='isUnique'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getIsUniqueOperationAccess().getIsUniqueKeyword_1());
+ }
+(
+(
+ lv_name_2_0=RULE_ID
+ {
+ newLeafNode(lv_name_2_0, grammarAccess.getIsUniqueOperationAccess().getNameIDTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getIsUniqueOperationRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_2_0,
+ "ID");
+ }
+
+)
+) otherlv_3='('
+ {
+ newLeafNode(otherlv_3, grammarAccess.getIsUniqueOperationAccess().getLeftParenthesisKeyword_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getIsUniqueOperationAccess().getExprExpressionParserRuleCall_4_0());
+ }
+ lv_expr_4_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getIsUniqueOperationRule());
+ }
+ set(
+ $current,
+ "expr",
+ lv_expr_4_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_5=')'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getIsUniqueOperationAccess().getRightParenthesisKeyword_5());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getIsUniqueOperationAccess().getSuffixSuffixExpressionParserRuleCall_6_0());
+ }
+ lv_suffix_6_0=ruleSuffixExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getIsUniqueOperationRule());
+ }
+ set(
+ $current,
+ "suffix",
+ lv_suffix_6_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleValueSpecification
+entryRuleValueSpecification returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getValueSpecificationRule()); }
+ iv_ruleValueSpecification=ruleValueSpecification
+ { $current=$iv_ruleValueSpecification.current; }
+ EOF
+;
+
+// Rule ValueSpecification
+ruleValueSpecification returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getValueSpecificationAccess().getNameExpressionParserRuleCall_0());
+ }
+ this_NameExpression_0=ruleNameExpression
+ {
+ $current = $this_NameExpression_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getValueSpecificationAccess().getLITERALParserRuleCall_1());
+ }
+ this_LITERAL_1=ruleLITERAL
+ {
+ $current = $this_LITERAL_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getValueSpecificationAccess().getThisExpressionParserRuleCall_2());
+ }
+ this_ThisExpression_2=ruleThisExpression
+ {
+ $current = $this_ThisExpression_2.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getValueSpecificationAccess().getSuperInvocationExpressionParserRuleCall_3());
+ }
+ this_SuperInvocationExpression_3=ruleSuperInvocationExpression
+ {
+ $current = $this_SuperInvocationExpression_3.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getValueSpecificationAccess().getInstanceCreationExpressionParserRuleCall_4());
+ }
+ this_InstanceCreationExpression_4=ruleInstanceCreationExpression
+ {
+ $current = $this_InstanceCreationExpression_4.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getValueSpecificationAccess().getParenthesizedExpressionParserRuleCall_5());
+ }
+ this_ParenthesizedExpression_5=ruleParenthesizedExpression
+ {
+ $current = $this_ParenthesizedExpression_5.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getValueSpecificationAccess().getNullExpressionParserRuleCall_6());
+ }
+ this_NullExpression_6=ruleNullExpression
+ {
+ $current = $this_NullExpression_6.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleNonLiteralValueSpecification
+entryRuleNonLiteralValueSpecification returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNonLiteralValueSpecificationRule()); }
+ iv_ruleNonLiteralValueSpecification=ruleNonLiteralValueSpecification
+ { $current=$iv_ruleNonLiteralValueSpecification.current; }
+ EOF
+;
+
+// Rule NonLiteralValueSpecification
+ruleNonLiteralValueSpecification returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getNonLiteralValueSpecificationAccess().getNameExpressionParserRuleCall_0());
+ }
+ this_NameExpression_0=ruleNameExpression
+ {
+ $current = $this_NameExpression_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getNonLiteralValueSpecificationAccess().getParenthesizedExpressionParserRuleCall_1());
+ }
+ this_ParenthesizedExpression_1=ruleParenthesizedExpression
+ {
+ $current = $this_ParenthesizedExpression_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getNonLiteralValueSpecificationAccess().getInstanceCreationExpressionParserRuleCall_2());
+ }
+ this_InstanceCreationExpression_2=ruleInstanceCreationExpression
+ {
+ $current = $this_InstanceCreationExpression_2.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getNonLiteralValueSpecificationAccess().getThisExpressionParserRuleCall_3());
+ }
+ this_ThisExpression_3=ruleThisExpression
+ {
+ $current = $this_ThisExpression_3.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getNonLiteralValueSpecificationAccess().getSuperInvocationExpressionParserRuleCall_4());
+ }
+ this_SuperInvocationExpression_4=ruleSuperInvocationExpression
+ {
+ $current = $this_SuperInvocationExpression_4.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleParenthesizedExpression
+entryRuleParenthesizedExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getParenthesizedExpressionRule()); }
+ iv_ruleParenthesizedExpression=ruleParenthesizedExpression
+ { $current=$iv_ruleParenthesizedExpression.current; }
+ EOF
+;
+
+// Rule ParenthesizedExpression
+ruleParenthesizedExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='('
+ {
+ newLeafNode(otherlv_0, grammarAccess.getParenthesizedExpressionAccess().getLeftParenthesisKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getParenthesizedExpressionAccess().getExpOrTypeCastExpressionParserRuleCall_1_0());
+ }
+ lv_expOrTypeCast_1_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getParenthesizedExpressionRule());
+ }
+ set(
+ $current,
+ "expOrTypeCast",
+ lv_expOrTypeCast_1_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2=')'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getParenthesizedExpressionAccess().getRightParenthesisKeyword_2());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getParenthesizedExpressionAccess().getCastedNonLiteralValueSpecificationParserRuleCall_3_0_0());
+ }
+ lv_casted_3_0=ruleNonLiteralValueSpecification {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getParenthesizedExpressionRule());
+ }
+ set(
+ $current,
+ "casted",
+ lv_casted_3_0,
+ "NonLiteralValueSpecification");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getParenthesizedExpressionAccess().getSuffixSuffixExpressionParserRuleCall_3_1_0());
+ }
+ lv_suffix_4_0=ruleSuffixExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getParenthesizedExpressionRule());
+ }
+ set(
+ $current,
+ "suffix",
+ lv_suffix_4_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRuleNullExpression
+entryRuleNullExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNullExpressionRule()); }
+ iv_ruleNullExpression=ruleNullExpression
+ { $current=$iv_ruleNullExpression.current; }
+ EOF
+;
+
+// Rule NullExpression
+ruleNullExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getNullExpressionAccess().getNullExpressionAction_0(),
+ $current);
+ }
+) otherlv_1='null'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getNullExpressionAccess().getNullKeyword_1());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleThisExpression
+entryRuleThisExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getThisExpressionRule()); }
+ iv_ruleThisExpression=ruleThisExpression
+ { $current=$iv_ruleThisExpression.current; }
+ EOF
+;
+
+// Rule ThisExpression
+ruleThisExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getThisExpressionAccess().getThisExpressionAction_0(),
+ $current);
+ }
+) otherlv_1='this'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getThisExpressionAccess().getThisKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getThisExpressionAccess().getSuffixSuffixExpressionParserRuleCall_2_0());
+ }
+ lv_suffix_2_0=ruleSuffixExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getThisExpressionRule());
+ }
+ set(
+ $current,
+ "suffix",
+ lv_suffix_2_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleSuperInvocationExpression
+entryRuleSuperInvocationExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSuperInvocationExpressionRule()); }
+ iv_ruleSuperInvocationExpression=ruleSuperInvocationExpression
+ { $current=$iv_ruleSuperInvocationExpression.current; }
+ EOF
+;
+
+// Rule SuperInvocationExpression
+ruleSuperInvocationExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='super'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getSuperInvocationExpressionAccess().getSuperKeyword_0());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getSuperInvocationExpressionAccess().getTupleTupleParserRuleCall_1_0_0());
+ }
+ lv_tuple_1_0=ruleTuple {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSuperInvocationExpressionRule());
+ }
+ set(
+ $current,
+ "tuple",
+ lv_tuple_1_0,
+ "Tuple");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |( otherlv_2='.'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getSuperInvocationExpressionAccess().getFullStopKeyword_1_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getSuperInvocationExpressionAccess().getOperationNameQualifiedNameWithBindingParserRuleCall_1_1_1_0());
+ }
+ lv_operationName_3_0=ruleQualifiedNameWithBinding {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSuperInvocationExpressionRule());
+ }
+ set(
+ $current,
+ "operationName",
+ lv_operationName_3_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getSuperInvocationExpressionAccess().getTupleTupleParserRuleCall_1_1_2_0());
+ }
+ lv_tuple_4_0=ruleTuple {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSuperInvocationExpressionRule());
+ }
+ set(
+ $current,
+ "tuple",
+ lv_tuple_4_0,
+ "Tuple");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))))
+;
+
+
+
+
+
+// Entry rule entryRuleInstanceCreationExpression
+entryRuleInstanceCreationExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getInstanceCreationExpressionRule()); }
+ iv_ruleInstanceCreationExpression=ruleInstanceCreationExpression
+ { $current=$iv_ruleInstanceCreationExpression.current; }
+ EOF
+;
+
+// Rule InstanceCreationExpression
+ruleInstanceCreationExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='new'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getInstanceCreationExpressionAccess().getNewKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getInstanceCreationExpressionAccess().getConstructorQualifiedNameWithBindingParserRuleCall_1_0());
+ }
+ lv_constructor_1_0=ruleQualifiedNameWithBinding {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getInstanceCreationExpressionRule());
+ }
+ set(
+ $current,
+ "constructor",
+ lv_constructor_1_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getInstanceCreationExpressionAccess().getTupleInstanceCreationTupleParserRuleCall_2_0());
+ }
+ lv_tuple_2_0=ruleInstanceCreationTuple {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getInstanceCreationExpressionRule());
+ }
+ set(
+ $current,
+ "tuple",
+ lv_tuple_2_0,
+ "InstanceCreationTuple");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getInstanceCreationExpressionAccess().getSuffixSuffixExpressionParserRuleCall_3_0());
+ }
+ lv_suffix_3_0=ruleSuffixExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getInstanceCreationExpressionRule());
+ }
+ set(
+ $current,
+ "suffix",
+ lv_suffix_3_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleInstanceCreationTuple
+entryRuleInstanceCreationTuple returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getInstanceCreationTupleRule()); }
+ iv_ruleInstanceCreationTuple=ruleInstanceCreationTuple
+ { $current=$iv_ruleInstanceCreationTuple.current; }
+ EOF
+;
+
+// Rule InstanceCreationTuple
+ruleInstanceCreationTuple returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getInstanceCreationTupleAccess().getInstanceCreationTupleAction_0(),
+ $current);
+ }
+) otherlv_1='('
+ {
+ newLeafNode(otherlv_1, grammarAccess.getInstanceCreationTupleAccess().getLeftParenthesisKeyword_1());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getInstanceCreationTupleAccess().getInstanceCreationTupleElementInstanceCreationTupleElementParserRuleCall_2_0_0());
+ }
+ lv_instanceCreationTupleElement_2_0=ruleInstanceCreationTupleElement {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getInstanceCreationTupleRule());
+ }
+ add(
+ $current,
+ "instanceCreationTupleElement",
+ lv_instanceCreationTupleElement_2_0,
+ "InstanceCreationTupleElement");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_3=','
+ {
+ newLeafNode(otherlv_3, grammarAccess.getInstanceCreationTupleAccess().getCommaKeyword_2_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getInstanceCreationTupleAccess().getInstanceCreationTupleElementInstanceCreationTupleElementParserRuleCall_2_1_1_0());
+ }
+ lv_instanceCreationTupleElement_4_0=ruleInstanceCreationTupleElement {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getInstanceCreationTupleRule());
+ }
+ add(
+ $current,
+ "instanceCreationTupleElement",
+ lv_instanceCreationTupleElement_4_0,
+ "InstanceCreationTupleElement");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)? otherlv_5=')'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getInstanceCreationTupleAccess().getRightParenthesisKeyword_3());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleInstanceCreationTupleElement
+entryRuleInstanceCreationTupleElement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getInstanceCreationTupleElementRule()); }
+ iv_ruleInstanceCreationTupleElement=ruleInstanceCreationTupleElement
+ { $current=$iv_ruleInstanceCreationTupleElement.current; }
+ EOF
+;
+
+// Rule InstanceCreationTupleElement
+ruleInstanceCreationTupleElement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_role_0_0=RULE_ID
+ {
+ newLeafNode(lv_role_0_0, grammarAccess.getInstanceCreationTupleElementAccess().getRoleIDTerminalRuleCall_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getInstanceCreationTupleElementRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "role",
+ lv_role_0_0,
+ "ID");
+ }
+
+)
+) otherlv_1='=>'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getInstanceCreationTupleElementAccess().getEqualsSignGreaterThanSignKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getInstanceCreationTupleElementAccess().getObjectExpressionParserRuleCall_2_0());
+ }
+ lv_object_2_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getInstanceCreationTupleElementRule());
+ }
+ set(
+ $current,
+ "object",
+ lv_object_2_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleSequenceConstructionOrAccessCompletion
+entryRuleSequenceConstructionOrAccessCompletion returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSequenceConstructionOrAccessCompletionRule()); }
+ iv_ruleSequenceConstructionOrAccessCompletion=ruleSequenceConstructionOrAccessCompletion
+ { $current=$iv_ruleSequenceConstructionOrAccessCompletion.current; }
+ EOF
+;
+
+// Rule SequenceConstructionOrAccessCompletion
+ruleSequenceConstructionOrAccessCompletion returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((
+(
+ lv_multiplicityIndicator_0_0= '['
+ {
+ newLeafNode(lv_multiplicityIndicator_0_0, grammarAccess.getSequenceConstructionOrAccessCompletionAccess().getMultiplicityIndicatorLeftSquareBracketKeyword_0_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSequenceConstructionOrAccessCompletionRule());
+ }
+ setWithLastConsumed($current, "multiplicityIndicator", true, "[");
+ }
+
+)
+)((
+(
+ {
+ newCompositeNode(grammarAccess.getSequenceConstructionOrAccessCompletionAccess().getAccessCompletionAccessCompletionParserRuleCall_0_1_0_0());
+ }
+ lv_accessCompletion_1_0=ruleAccessCompletion {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSequenceConstructionOrAccessCompletionRule());
+ }
+ set(
+ $current,
+ "accessCompletion",
+ lv_accessCompletion_1_0,
+ "AccessCompletion");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getSequenceConstructionOrAccessCompletionAccess().getSequenceCompletionPartialSequenceConstructionCompletionParserRuleCall_0_1_1_0());
+ }
+ lv_sequenceCompletion_2_0=rulePartialSequenceConstructionCompletion {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSequenceConstructionOrAccessCompletionRule());
+ }
+ set(
+ $current,
+ "sequenceCompletion",
+ lv_sequenceCompletion_2_0,
+ "PartialSequenceConstructionCompletion");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getSequenceConstructionOrAccessCompletionAccess().getExpressionSequenceConstructionExpressionParserRuleCall_1_0());
+ }
+ lv_expression_3_0=ruleSequenceConstructionExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSequenceConstructionOrAccessCompletionRule());
+ }
+ set(
+ $current,
+ "expression",
+ lv_expression_3_0,
+ "SequenceConstructionExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleAccessCompletion
+entryRuleAccessCompletion returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getAccessCompletionRule()); }
+ iv_ruleAccessCompletion=ruleAccessCompletion
+ { $current=$iv_ruleAccessCompletion.current; }
+ EOF
+;
+
+// Rule AccessCompletion
+ruleAccessCompletion returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getAccessCompletionAccess().getAccessIndexExpressionParserRuleCall_0_0());
+ }
+ lv_accessIndex_0_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAccessCompletionRule());
+ }
+ set(
+ $current,
+ "accessIndex",
+ lv_accessIndex_0_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_1=']'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getAccessCompletionAccess().getRightSquareBracketKeyword_1());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRulePartialSequenceConstructionCompletion
+entryRulePartialSequenceConstructionCompletion returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPartialSequenceConstructionCompletionRule()); }
+ iv_rulePartialSequenceConstructionCompletion=rulePartialSequenceConstructionCompletion
+ { $current=$iv_rulePartialSequenceConstructionCompletion.current; }
+ EOF
+;
+
+// Rule PartialSequenceConstructionCompletion
+rulePartialSequenceConstructionCompletion returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0=']'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getPartialSequenceConstructionCompletionAccess().getRightSquareBracketKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPartialSequenceConstructionCompletionAccess().getExpressionSequenceConstructionExpressionParserRuleCall_1_0());
+ }
+ lv_expression_1_0=ruleSequenceConstructionExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPartialSequenceConstructionCompletionRule());
+ }
+ set(
+ $current,
+ "expression",
+ lv_expression_1_0,
+ "SequenceConstructionExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleSequenceConstructionExpression
+entryRuleSequenceConstructionExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSequenceConstructionExpressionRule()); }
+ iv_ruleSequenceConstructionExpression=ruleSequenceConstructionExpression
+ { $current=$iv_ruleSequenceConstructionExpression.current; }
+ EOF
+;
+
+// Rule SequenceConstructionExpression
+ruleSequenceConstructionExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='{'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getSequenceConstructionExpressionAccess().getLeftCurlyBracketKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getSequenceConstructionExpressionAccess().getSequenceElementSequenceElementParserRuleCall_1_0());
+ }
+ lv_sequenceElement_1_0=ruleSequenceElement {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSequenceConstructionExpressionRule());
+ }
+ add(
+ $current,
+ "sequenceElement",
+ lv_sequenceElement_1_0,
+ "SequenceElement");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(( otherlv_2=','
+ {
+ newLeafNode(otherlv_2, grammarAccess.getSequenceConstructionExpressionAccess().getCommaKeyword_2_0_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getSequenceConstructionExpressionAccess().getSequenceElementSequenceElementParserRuleCall_2_0_1_0());
+ }
+ lv_sequenceElement_3_0=ruleSequenceElement {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSequenceConstructionExpressionRule());
+ }
+ add(
+ $current,
+ "sequenceElement",
+ lv_sequenceElement_3_0,
+ "SequenceElement");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*
+ |( otherlv_4='..'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getSequenceConstructionExpressionAccess().getFullStopFullStopKeyword_2_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getSequenceConstructionExpressionAccess().getRangeUpperExpressionParserRuleCall_2_1_1_0());
+ }
+ lv_rangeUpper_5_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSequenceConstructionExpressionRule());
+ }
+ set(
+ $current,
+ "rangeUpper",
+ lv_rangeUpper_5_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))) otherlv_6='}'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getSequenceConstructionExpressionAccess().getRightCurlyBracketKeyword_3());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleSequenceElement
+entryRuleSequenceElement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSequenceElementRule()); }
+ iv_ruleSequenceElement=ruleSequenceElement
+ { $current=$iv_ruleSequenceElement.current; }
+ EOF
+;
+
+// Rule SequenceElement
+ruleSequenceElement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getSequenceElementAccess().getExpressionParserRuleCall_0());
+ }
+ this_Expression_0=ruleExpression
+ {
+ $current = $this_Expression_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSequenceElementAccess().getSequenceConstructionExpressionParserRuleCall_1());
+ }
+ this_SequenceConstructionExpression_1=ruleSequenceConstructionExpression
+ {
+ $current = $this_SequenceConstructionExpression_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleClassExtentExpression
+entryRuleClassExtentExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getClassExtentExpressionRule()); }
+ iv_ruleClassExtentExpression=ruleClassExtentExpression
+ { $current=$iv_ruleClassExtentExpression.current; }
+ EOF
+;
+
+// Rule ClassExtentExpression
+ruleClassExtentExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getClassExtentExpressionAccess().getClassExtentExpressionAction_0(),
+ $current);
+ }
+) otherlv_1='.'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getClassExtentExpressionAccess().getFullStopKeyword_1());
+ }
+ otherlv_2='allInstances'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getClassExtentExpressionAccess().getAllInstancesKeyword_2());
+ }
+ otherlv_3='('
+ {
+ newLeafNode(otherlv_3, grammarAccess.getClassExtentExpressionAccess().getLeftParenthesisKeyword_3());
+ }
+ otherlv_4=')'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getClassExtentExpressionAccess().getRightParenthesisKeyword_4());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleBlock
+entryRuleBlock returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getBlockRule()); }
+ iv_ruleBlock=ruleBlock
+ { $current=$iv_ruleBlock.current; }
+ EOF
+;
+
+// Rule Block
+ruleBlock returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='{'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getBlockAccess().getLeftCurlyBracketKeyword_0());
+ }
+(
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getBlockAccess().getBlockAction_1(),
+ $current);
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getBlockAccess().getSequenceStatementSequenceParserRuleCall_2_0());
+ }
+ lv_sequence_2_0=ruleStatementSequence {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getBlockRule());
+ }
+ set(
+ $current,
+ "sequence",
+ lv_sequence_2_0,
+ "StatementSequence");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)? otherlv_3='}'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getBlockAccess().getRightCurlyBracketKeyword_3());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleStatementSequence
+entryRuleStatementSequence returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getStatementSequenceRule()); }
+ iv_ruleStatementSequence=ruleStatementSequence
+ { $current=$iv_ruleStatementSequence.current; }
+ EOF
+;
+
+// Rule StatementSequence
+ruleStatementSequence returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getStatementSequenceAccess().getStatementsDocumentedStatementParserRuleCall_0());
+ }
+ lv_statements_0_0=ruleDocumentedStatement {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStatementSequenceRule());
+ }
+ add(
+ $current,
+ "statements",
+ lv_statements_0_0,
+ "DocumentedStatement");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+
+;
+
+
+
+
+
+// Entry rule entryRuleDocumentedStatement
+entryRuleDocumentedStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getDocumentedStatementRule()); }
+ iv_ruleDocumentedStatement=ruleDocumentedStatement
+ { $current=$iv_ruleDocumentedStatement.current; }
+ EOF
+;
+
+// Rule DocumentedStatement
+ruleDocumentedStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+(
+ lv_comment_0_1=RULE_ML_COMMENT
+ {
+ newLeafNode(lv_comment_0_1, grammarAccess.getDocumentedStatementAccess().getCommentML_COMMENTTerminalRuleCall_0_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getDocumentedStatementRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "comment",
+ lv_comment_0_1,
+ "ML_COMMENT");
+ }
+
+ | lv_comment_0_2=RULE_SL_COMMENT
+ {
+ newLeafNode(lv_comment_0_2, grammarAccess.getDocumentedStatementAccess().getCommentSL_COMMENTTerminalRuleCall_0_0_1());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getDocumentedStatementRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "comment",
+ lv_comment_0_2,
+ "SL_COMMENT");
+ }
+
+)
+
+)
+)?(
+(
+ {
+ newCompositeNode(grammarAccess.getDocumentedStatementAccess().getStatementStatementParserRuleCall_1_0());
+ }
+ lv_statement_1_0=ruleStatement {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getDocumentedStatementRule());
+ }
+ set(
+ $current,
+ "statement",
+ lv_statement_1_0,
+ "Statement");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleInlineStatement
+entryRuleInlineStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getInlineStatementRule()); }
+ iv_ruleInlineStatement=ruleInlineStatement
+ { $current=$iv_ruleInlineStatement.current; }
+ EOF
+;
+
+// Rule InlineStatement
+ruleInlineStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='/*@'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getInlineStatementAccess().getSolidusAsteriskCommercialAtKeyword_0());
+ }
+ otherlv_1='inline'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getInlineStatementAccess().getInlineKeyword_1());
+ }
+ otherlv_2='('
+ {
+ newLeafNode(otherlv_2, grammarAccess.getInlineStatementAccess().getLeftParenthesisKeyword_2());
+ }
+(
+(
+ lv_langageName_3_0=RULE_ID
+ {
+ newLeafNode(lv_langageName_3_0, grammarAccess.getInlineStatementAccess().getLangageNameIDTerminalRuleCall_3_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getInlineStatementRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "langageName",
+ lv_langageName_3_0,
+ "ID");
+ }
+
+)
+) otherlv_4=')'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getInlineStatementAccess().getRightParenthesisKeyword_4());
+ }
+(
+(
+ lv_body_5_0=RULE_STRING
+ {
+ newLeafNode(lv_body_5_0, grammarAccess.getInlineStatementAccess().getBodySTRINGTerminalRuleCall_5_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getInlineStatementRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "body",
+ lv_body_5_0,
+ "STRING");
+ }
+
+)
+) otherlv_6='*/'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getInlineStatementAccess().getAsteriskSolidusKeyword_6());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleAnnotatedStatement
+entryRuleAnnotatedStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getAnnotatedStatementRule()); }
+ iv_ruleAnnotatedStatement=ruleAnnotatedStatement
+ { $current=$iv_ruleAnnotatedStatement.current; }
+ EOF
+;
+
+// Rule AnnotatedStatement
+ruleAnnotatedStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='//@'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getAnnotatedStatementAccess().getSolidusSolidusCommercialAtKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getAnnotatedStatementAccess().getAnnotationAnnotationParserRuleCall_1_0());
+ }
+ lv_annotation_1_0=ruleAnnotation {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAnnotatedStatementRule());
+ }
+ set(
+ $current,
+ "annotation",
+ lv_annotation_1_0,
+ "Annotation");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getAnnotatedStatementAccess().getStatementStatementParserRuleCall_2_0());
+ }
+ lv_statement_2_0=ruleStatement {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAnnotatedStatementRule());
+ }
+ set(
+ $current,
+ "statement",
+ lv_statement_2_0,
+ "Statement");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleStatement
+entryRuleStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getStatementRule()); }
+ iv_ruleStatement=ruleStatement
+ { $current=$iv_ruleStatement.current; }
+ EOF
+;
+
+// Rule Statement
+ruleStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getStatementAccess().getAnnotatedStatementParserRuleCall_0());
+ }
+ this_AnnotatedStatement_0=ruleAnnotatedStatement
+ {
+ $current = $this_AnnotatedStatement_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStatementAccess().getInlineStatementParserRuleCall_1());
+ }
+ this_InlineStatement_1=ruleInlineStatement
+ {
+ $current = $this_InlineStatement_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStatementAccess().getBlockStatementParserRuleCall_2());
+ }
+ this_BlockStatement_2=ruleBlockStatement
+ {
+ $current = $this_BlockStatement_2.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStatementAccess().getEmptyStatementParserRuleCall_3());
+ }
+ this_EmptyStatement_3=ruleEmptyStatement
+ {
+ $current = $this_EmptyStatement_3.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStatementAccess().getLocalNameDeclarationStatementParserRuleCall_4());
+ }
+ this_LocalNameDeclarationStatement_4=ruleLocalNameDeclarationStatement
+ {
+ $current = $this_LocalNameDeclarationStatement_4.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStatementAccess().getIfStatementParserRuleCall_5());
+ }
+ this_IfStatement_5=ruleIfStatement
+ {
+ $current = $this_IfStatement_5.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStatementAccess().getSwitchStatementParserRuleCall_6());
+ }
+ this_SwitchStatement_6=ruleSwitchStatement
+ {
+ $current = $this_SwitchStatement_6.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStatementAccess().getWhileStatementParserRuleCall_7());
+ }
+ this_WhileStatement_7=ruleWhileStatement
+ {
+ $current = $this_WhileStatement_7.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStatementAccess().getDoStatementParserRuleCall_8());
+ }
+ this_DoStatement_8=ruleDoStatement
+ {
+ $current = $this_DoStatement_8.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStatementAccess().getForStatementParserRuleCall_9());
+ }
+ this_ForStatement_9=ruleForStatement
+ {
+ $current = $this_ForStatement_9.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStatementAccess().getBreakStatementParserRuleCall_10());
+ }
+ this_BreakStatement_10=ruleBreakStatement
+ {
+ $current = $this_BreakStatement_10.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStatementAccess().getReturnStatementParserRuleCall_11());
+ }
+ this_ReturnStatement_11=ruleReturnStatement
+ {
+ $current = $this_ReturnStatement_11.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStatementAccess().getAcceptStatementParserRuleCall_12());
+ }
+ this_AcceptStatement_12=ruleAcceptStatement
+ {
+ $current = $this_AcceptStatement_12.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStatementAccess().getClassifyStatementParserRuleCall_13());
+ }
+ this_ClassifyStatement_13=ruleClassifyStatement
+ {
+ $current = $this_ClassifyStatement_13.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStatementAccess().getInvocationOrAssignementOrDeclarationStatementParserRuleCall_14());
+ }
+ this_InvocationOrAssignementOrDeclarationStatement_14=ruleInvocationOrAssignementOrDeclarationStatement
+ {
+ $current = $this_InvocationOrAssignementOrDeclarationStatement_14.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStatementAccess().getSuperInvocationStatementParserRuleCall_15());
+ }
+ this_SuperInvocationStatement_15=ruleSuperInvocationStatement
+ {
+ $current = $this_SuperInvocationStatement_15.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStatementAccess().getThisInvocationStatementParserRuleCall_16());
+ }
+ this_ThisInvocationStatement_16=ruleThisInvocationStatement
+ {
+ $current = $this_ThisInvocationStatement_16.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStatementAccess().getInstanceCreationInvocationStatementParserRuleCall_17());
+ }
+ this_InstanceCreationInvocationStatement_17=ruleInstanceCreationInvocationStatement
+ {
+ $current = $this_InstanceCreationInvocationStatement_17.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleAnnotation
+entryRuleAnnotation returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getAnnotationRule()); }
+ iv_ruleAnnotation=ruleAnnotation
+ { $current=$iv_ruleAnnotation.current; }
+ EOF
+;
+
+// Rule Annotation
+ruleAnnotation returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getAnnotationAccess().getKindAnnotationKindEnumRuleCall_0_0());
+ }
+ lv_kind_0_0=ruleAnnotationKind {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAnnotationRule());
+ }
+ set(
+ $current,
+ "kind",
+ lv_kind_0_0,
+ "AnnotationKind");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1='('
+ {
+ newLeafNode(otherlv_1, grammarAccess.getAnnotationAccess().getLeftParenthesisKeyword_1_0());
+ }
+(
+(
+ lv_args_2_0=RULE_ID
+ {
+ newLeafNode(lv_args_2_0, grammarAccess.getAnnotationAccess().getArgsIDTerminalRuleCall_1_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAnnotationRule());
+ }
+ addWithLastConsumed(
+ $current,
+ "args",
+ lv_args_2_0,
+ "ID");
+ }
+
+)
+)( otherlv_3=','
+ {
+ newLeafNode(otherlv_3, grammarAccess.getAnnotationAccess().getCommaKeyword_1_2_0());
+ }
+(
+(
+ lv_args_4_0=RULE_ID
+ {
+ newLeafNode(lv_args_4_0, grammarAccess.getAnnotationAccess().getArgsIDTerminalRuleCall_1_2_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAnnotationRule());
+ }
+ addWithLastConsumed(
+ $current,
+ "args",
+ lv_args_4_0,
+ "ID");
+ }
+
+)
+))* otherlv_5=')'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getAnnotationAccess().getRightParenthesisKeyword_1_3());
+ }
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleBlockStatement
+entryRuleBlockStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getBlockStatementRule()); }
+ iv_ruleBlockStatement=ruleBlockStatement
+ { $current=$iv_ruleBlockStatement.current; }
+ EOF
+;
+
+// Rule BlockStatement
+ruleBlockStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getBlockStatementAccess().getBlockBlockParserRuleCall_0());
+ }
+ lv_block_0_0=ruleBlock {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getBlockStatementRule());
+ }
+ set(
+ $current,
+ "block",
+ lv_block_0_0,
+ "Block");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleEmptyStatement
+entryRuleEmptyStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getEmptyStatementRule()); }
+ iv_ruleEmptyStatement=ruleEmptyStatement
+ { $current=$iv_ruleEmptyStatement.current; }
+ EOF
+;
+
+// Rule EmptyStatement
+ruleEmptyStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getEmptyStatementAccess().getEmptyStatementAction_0(),
+ $current);
+ }
+) otherlv_1=';'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getEmptyStatementAccess().getSemicolonKeyword_1());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleLocalNameDeclarationStatement
+entryRuleLocalNameDeclarationStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getLocalNameDeclarationStatementRule()); }
+ iv_ruleLocalNameDeclarationStatement=ruleLocalNameDeclarationStatement
+ { $current=$iv_ruleLocalNameDeclarationStatement.current; }
+ EOF
+;
+
+// Rule LocalNameDeclarationStatement
+ruleLocalNameDeclarationStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='let'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getLocalNameDeclarationStatementAccess().getLetKeyword_0());
+ }
+(
+(
+ lv_varName_1_0=RULE_ID
+ {
+ newLeafNode(lv_varName_1_0, grammarAccess.getLocalNameDeclarationStatementAccess().getVarNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getLocalNameDeclarationStatementRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "varName",
+ lv_varName_1_0,
+ "ID");
+ }
+
+)
+) otherlv_2=':'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getLocalNameDeclarationStatementAccess().getColonKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLocalNameDeclarationStatementAccess().getTypeQualifiedNameWithBindingParserRuleCall_3_0());
+ }
+ lv_type_3_0=ruleQualifiedNameWithBinding {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLocalNameDeclarationStatementRule());
+ }
+ set(
+ $current,
+ "type",
+ lv_type_3_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((
+(
+ lv_multiplicityIndicator_4_0= '['
+ {
+ newLeafNode(lv_multiplicityIndicator_4_0, grammarAccess.getLocalNameDeclarationStatementAccess().getMultiplicityIndicatorLeftSquareBracketKeyword_4_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getLocalNameDeclarationStatementRule());
+ }
+ setWithLastConsumed($current, "multiplicityIndicator", true, "[");
+ }
+
+)
+) otherlv_5=']'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getLocalNameDeclarationStatementAccess().getRightSquareBracketKeyword_4_1());
+ }
+)? otherlv_6='='
+ {
+ newLeafNode(otherlv_6, grammarAccess.getLocalNameDeclarationStatementAccess().getEqualsSignKeyword_5());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLocalNameDeclarationStatementAccess().getInitSequenceElementParserRuleCall_6_0());
+ }
+ lv_init_7_0=ruleSequenceElement {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLocalNameDeclarationStatementRule());
+ }
+ set(
+ $current,
+ "init",
+ lv_init_7_0,
+ "SequenceElement");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_8=';'
+ {
+ newLeafNode(otherlv_8, grammarAccess.getLocalNameDeclarationStatementAccess().getSemicolonKeyword_7());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleIfStatement
+entryRuleIfStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getIfStatementRule()); }
+ iv_ruleIfStatement=ruleIfStatement
+ { $current=$iv_ruleIfStatement.current; }
+ EOF
+;
+
+// Rule IfStatement
+ruleIfStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='if'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getIfStatementAccess().getIfKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getIfStatementAccess().getSequentialClaussesSequentialClausesParserRuleCall_1_0());
+ }
+ lv_sequentialClausses_1_0=ruleSequentialClauses {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getIfStatementRule());
+ }
+ set(
+ $current,
+ "sequentialClausses",
+ lv_sequentialClausses_1_0,
+ "SequentialClauses");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getIfStatementAccess().getFinalClauseFinalClauseParserRuleCall_2_0());
+ }
+ lv_finalClause_2_0=ruleFinalClause {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getIfStatementRule());
+ }
+ set(
+ $current,
+ "finalClause",
+ lv_finalClause_2_0,
+ "FinalClause");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleSequentialClauses
+entryRuleSequentialClauses returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSequentialClausesRule()); }
+ iv_ruleSequentialClauses=ruleSequentialClauses
+ { $current=$iv_ruleSequentialClauses.current; }
+ EOF
+;
+
+// Rule SequentialClauses
+ruleSequentialClauses returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getSequentialClausesAccess().getConccurentClausesConcurrentClausesParserRuleCall_0_0());
+ }
+ lv_conccurentClauses_0_0=ruleConcurrentClauses {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSequentialClausesRule());
+ }
+ add(
+ $current,
+ "conccurentClauses",
+ lv_conccurentClauses_0_0,
+ "ConcurrentClauses");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1='else'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getSequentialClausesAccess().getElseKeyword_1_0());
+ }
+ otherlv_2='if'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getSequentialClausesAccess().getIfKeyword_1_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getSequentialClausesAccess().getConccurentClausesConcurrentClausesParserRuleCall_1_2_0());
+ }
+ lv_conccurentClauses_3_0=ruleConcurrentClauses {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSequentialClausesRule());
+ }
+ add(
+ $current,
+ "conccurentClauses",
+ lv_conccurentClauses_3_0,
+ "ConcurrentClauses");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleConcurrentClauses
+entryRuleConcurrentClauses returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getConcurrentClausesRule()); }
+ iv_ruleConcurrentClauses=ruleConcurrentClauses
+ { $current=$iv_ruleConcurrentClauses.current; }
+ EOF
+;
+
+// Rule ConcurrentClauses
+ruleConcurrentClauses returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getConcurrentClausesAccess().getNonFinalClauseNonFinalClauseParserRuleCall_0_0());
+ }
+ lv_nonFinalClause_0_0=ruleNonFinalClause {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getConcurrentClausesRule());
+ }
+ add(
+ $current,
+ "nonFinalClause",
+ lv_nonFinalClause_0_0,
+ "NonFinalClause");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1='or'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getConcurrentClausesAccess().getOrKeyword_1_0());
+ }
+ otherlv_2='if'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getConcurrentClausesAccess().getIfKeyword_1_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getConcurrentClausesAccess().getNonFinalClauseNonFinalClauseParserRuleCall_1_2_0());
+ }
+ lv_nonFinalClause_3_0=ruleNonFinalClause {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getConcurrentClausesRule());
+ }
+ add(
+ $current,
+ "nonFinalClause",
+ lv_nonFinalClause_3_0,
+ "NonFinalClause");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleNonFinalClause
+entryRuleNonFinalClause returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNonFinalClauseRule()); }
+ iv_ruleNonFinalClause=ruleNonFinalClause
+ { $current=$iv_ruleNonFinalClause.current; }
+ EOF
+;
+
+// Rule NonFinalClause
+ruleNonFinalClause returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='('
+ {
+ newLeafNode(otherlv_0, grammarAccess.getNonFinalClauseAccess().getLeftParenthesisKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getNonFinalClauseAccess().getConditionExpressionParserRuleCall_1_0());
+ }
+ lv_condition_1_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNonFinalClauseRule());
+ }
+ set(
+ $current,
+ "condition",
+ lv_condition_1_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2=')'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getNonFinalClauseAccess().getRightParenthesisKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getNonFinalClauseAccess().getBlockBlockParserRuleCall_3_0());
+ }
+ lv_block_3_0=ruleBlock {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNonFinalClauseRule());
+ }
+ set(
+ $current,
+ "block",
+ lv_block_3_0,
+ "Block");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleFinalClause
+entryRuleFinalClause returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getFinalClauseRule()); }
+ iv_ruleFinalClause=ruleFinalClause
+ { $current=$iv_ruleFinalClause.current; }
+ EOF
+;
+
+// Rule FinalClause
+ruleFinalClause returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='else'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getFinalClauseAccess().getElseKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getFinalClauseAccess().getBlockBlockParserRuleCall_1_0());
+ }
+ lv_block_1_0=ruleBlock {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getFinalClauseRule());
+ }
+ set(
+ $current,
+ "block",
+ lv_block_1_0,
+ "Block");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleSwitchStatement
+entryRuleSwitchStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSwitchStatementRule()); }
+ iv_ruleSwitchStatement=ruleSwitchStatement
+ { $current=$iv_ruleSwitchStatement.current; }
+ EOF
+;
+
+// Rule SwitchStatement
+ruleSwitchStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='switch'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getSwitchStatementAccess().getSwitchKeyword_0());
+ }
+ otherlv_1='('
+ {
+ newLeafNode(otherlv_1, grammarAccess.getSwitchStatementAccess().getLeftParenthesisKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getSwitchStatementAccess().getExpressionExpressionParserRuleCall_2_0());
+ }
+ lv_expression_2_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSwitchStatementRule());
+ }
+ set(
+ $current,
+ "expression",
+ lv_expression_2_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_3=')'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getSwitchStatementAccess().getRightParenthesisKeyword_3());
+ }
+ otherlv_4='{'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getSwitchStatementAccess().getLeftCurlyBracketKeyword_4());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getSwitchStatementAccess().getSwitchClauseSwitchClauseParserRuleCall_5_0());
+ }
+ lv_switchClause_5_0=ruleSwitchClause {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSwitchStatementRule());
+ }
+ add(
+ $current,
+ "switchClause",
+ lv_switchClause_5_0,
+ "SwitchClause");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getSwitchStatementAccess().getDefaultClauseSwitchDefaultClauseParserRuleCall_6_0());
+ }
+ lv_defaultClause_6_0=ruleSwitchDefaultClause {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSwitchStatementRule());
+ }
+ set(
+ $current,
+ "defaultClause",
+ lv_defaultClause_6_0,
+ "SwitchDefaultClause");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)? otherlv_7='}'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getSwitchStatementAccess().getRightCurlyBracketKeyword_7());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleSwitchClause
+entryRuleSwitchClause returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSwitchClauseRule()); }
+ iv_ruleSwitchClause=ruleSwitchClause
+ { $current=$iv_ruleSwitchClause.current; }
+ EOF
+;
+
+// Rule SwitchClause
+ruleSwitchClause returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getSwitchClauseAccess().getSwitchCaseSwitchCaseParserRuleCall_0_0());
+ }
+ lv_switchCase_0_0=ruleSwitchCase {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSwitchClauseRule());
+ }
+ add(
+ $current,
+ "switchCase",
+ lv_switchCase_0_0,
+ "SwitchCase");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getSwitchClauseAccess().getSwitchCaseSwitchCaseParserRuleCall_1_0());
+ }
+ lv_switchCase_1_0=ruleSwitchCase {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSwitchClauseRule());
+ }
+ add(
+ $current,
+ "switchCase",
+ lv_switchCase_1_0,
+ "SwitchCase");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getSwitchClauseAccess().getStatementSequenceNonEmptyStatementSequenceParserRuleCall_2_0());
+ }
+ lv_statementSequence_2_0=ruleNonEmptyStatementSequence {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSwitchClauseRule());
+ }
+ set(
+ $current,
+ "statementSequence",
+ lv_statementSequence_2_0,
+ "NonEmptyStatementSequence");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleSwitchCase
+entryRuleSwitchCase returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSwitchCaseRule()); }
+ iv_ruleSwitchCase=ruleSwitchCase
+ { $current=$iv_ruleSwitchCase.current; }
+ EOF
+;
+
+// Rule SwitchCase
+ruleSwitchCase returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='case'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getSwitchCaseAccess().getCaseKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getSwitchCaseAccess().getExpressionExpressionParserRuleCall_1_0());
+ }
+ lv_expression_1_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSwitchCaseRule());
+ }
+ set(
+ $current,
+ "expression",
+ lv_expression_1_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2=':'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getSwitchCaseAccess().getColonKeyword_2());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleSwitchDefaultClause
+entryRuleSwitchDefaultClause returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSwitchDefaultClauseRule()); }
+ iv_ruleSwitchDefaultClause=ruleSwitchDefaultClause
+ { $current=$iv_ruleSwitchDefaultClause.current; }
+ EOF
+;
+
+// Rule SwitchDefaultClause
+ruleSwitchDefaultClause returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='default'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getSwitchDefaultClauseAccess().getDefaultKeyword_0());
+ }
+ otherlv_1=':'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getSwitchDefaultClauseAccess().getColonKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getSwitchDefaultClauseAccess().getStatementSequenceNonEmptyStatementSequenceParserRuleCall_2_0());
+ }
+ lv_statementSequence_2_0=ruleNonEmptyStatementSequence {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSwitchDefaultClauseRule());
+ }
+ set(
+ $current,
+ "statementSequence",
+ lv_statementSequence_2_0,
+ "NonEmptyStatementSequence");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleNonEmptyStatementSequence
+entryRuleNonEmptyStatementSequence returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNonEmptyStatementSequenceRule()); }
+ iv_ruleNonEmptyStatementSequence=ruleNonEmptyStatementSequence
+ { $current=$iv_ruleNonEmptyStatementSequence.current; }
+ EOF
+;
+
+// Rule NonEmptyStatementSequence
+ruleNonEmptyStatementSequence returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getNonEmptyStatementSequenceAccess().getStatementDocumentedStatementParserRuleCall_0());
+ }
+ lv_statement_0_0=ruleDocumentedStatement {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNonEmptyStatementSequenceRule());
+ }
+ add(
+ $current,
+ "statement",
+ lv_statement_0_0,
+ "DocumentedStatement");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+
+;
+
+
+
+
+
+// Entry rule entryRuleWhileStatement
+entryRuleWhileStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getWhileStatementRule()); }
+ iv_ruleWhileStatement=ruleWhileStatement
+ { $current=$iv_ruleWhileStatement.current; }
+ EOF
+;
+
+// Rule WhileStatement
+ruleWhileStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='while'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getWhileStatementAccess().getWhileKeyword_0());
+ }
+ otherlv_1='('
+ {
+ newLeafNode(otherlv_1, grammarAccess.getWhileStatementAccess().getLeftParenthesisKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getWhileStatementAccess().getConditionExpressionParserRuleCall_2_0());
+ }
+ lv_condition_2_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getWhileStatementRule());
+ }
+ set(
+ $current,
+ "condition",
+ lv_condition_2_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_3=')'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getWhileStatementAccess().getRightParenthesisKeyword_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getWhileStatementAccess().getBlockBlockParserRuleCall_4_0());
+ }
+ lv_block_4_0=ruleBlock {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getWhileStatementRule());
+ }
+ set(
+ $current,
+ "block",
+ lv_block_4_0,
+ "Block");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleDoStatement
+entryRuleDoStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getDoStatementRule()); }
+ iv_ruleDoStatement=ruleDoStatement
+ { $current=$iv_ruleDoStatement.current; }
+ EOF
+;
+
+// Rule DoStatement
+ruleDoStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='do'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getDoStatementAccess().getDoKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getDoStatementAccess().getBlockBlockParserRuleCall_1_0());
+ }
+ lv_block_1_0=ruleBlock {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getDoStatementRule());
+ }
+ set(
+ $current,
+ "block",
+ lv_block_1_0,
+ "Block");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2='while'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getDoStatementAccess().getWhileKeyword_2());
+ }
+ otherlv_3='('
+ {
+ newLeafNode(otherlv_3, grammarAccess.getDoStatementAccess().getLeftParenthesisKeyword_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getDoStatementAccess().getConditionExpressionParserRuleCall_4_0());
+ }
+ lv_condition_4_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getDoStatementRule());
+ }
+ set(
+ $current,
+ "condition",
+ lv_condition_4_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_5=')'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getDoStatementAccess().getRightParenthesisKeyword_5());
+ }
+ otherlv_6=';'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getDoStatementAccess().getSemicolonKeyword_6());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleForStatement
+entryRuleForStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getForStatementRule()); }
+ iv_ruleForStatement=ruleForStatement
+ { $current=$iv_ruleForStatement.current; }
+ EOF
+;
+
+// Rule ForStatement
+ruleForStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='for'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getForStatementAccess().getForKeyword_0());
+ }
+ otherlv_1='('
+ {
+ newLeafNode(otherlv_1, grammarAccess.getForStatementAccess().getLeftParenthesisKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getForStatementAccess().getControlForControlParserRuleCall_2_0());
+ }
+ lv_control_2_0=ruleForControl {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getForStatementRule());
+ }
+ set(
+ $current,
+ "control",
+ lv_control_2_0,
+ "ForControl");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_3=')'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getForStatementAccess().getRightParenthesisKeyword_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getForStatementAccess().getBlockBlockParserRuleCall_4_0());
+ }
+ lv_block_4_0=ruleBlock {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getForStatementRule());
+ }
+ set(
+ $current,
+ "block",
+ lv_block_4_0,
+ "Block");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleForControl
+entryRuleForControl returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getForControlRule()); }
+ iv_ruleForControl=ruleForControl
+ { $current=$iv_ruleForControl.current; }
+ EOF
+;
+
+// Rule ForControl
+ruleForControl returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getForControlAccess().getLoopVariableDefinitionLoopVariableDefinitionParserRuleCall_0_0());
+ }
+ lv_loopVariableDefinition_0_0=ruleLoopVariableDefinition {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getForControlRule());
+ }
+ add(
+ $current,
+ "loopVariableDefinition",
+ lv_loopVariableDefinition_0_0,
+ "LoopVariableDefinition");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1=','
+ {
+ newLeafNode(otherlv_1, grammarAccess.getForControlAccess().getCommaKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getForControlAccess().getLoopVariableDefinitionLoopVariableDefinitionParserRuleCall_1_1_0());
+ }
+ lv_loopVariableDefinition_2_0=ruleLoopVariableDefinition {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getForControlRule());
+ }
+ add(
+ $current,
+ "loopVariableDefinition",
+ lv_loopVariableDefinition_2_0,
+ "LoopVariableDefinition");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleLoopVariableDefinition
+entryRuleLoopVariableDefinition returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getLoopVariableDefinitionRule()); }
+ iv_ruleLoopVariableDefinition=ruleLoopVariableDefinition
+ { $current=$iv_ruleLoopVariableDefinition.current; }
+ EOF
+;
+
+// Rule LoopVariableDefinition
+ruleLoopVariableDefinition returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((
+(
+ lv_name_0_0=RULE_ID
+ {
+ newLeafNode(lv_name_0_0, grammarAccess.getLoopVariableDefinitionAccess().getNameIDTerminalRuleCall_0_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getLoopVariableDefinitionRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_0_0,
+ "ID");
+ }
+
+)
+) otherlv_1='in'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getLoopVariableDefinitionAccess().getInKeyword_0_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLoopVariableDefinitionAccess().getExpression1ExpressionParserRuleCall_0_2_0());
+ }
+ lv_expression1_2_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLoopVariableDefinitionRule());
+ }
+ set(
+ $current,
+ "expression1",
+ lv_expression1_2_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_3='..'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getLoopVariableDefinitionAccess().getFullStopFullStopKeyword_0_3_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLoopVariableDefinitionAccess().getExpression2ExpressionParserRuleCall_0_3_1_0());
+ }
+ lv_expression2_4_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLoopVariableDefinitionRule());
+ }
+ set(
+ $current,
+ "expression2",
+ lv_expression2_4_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?)
+ |((
+(
+ {
+ newCompositeNode(grammarAccess.getLoopVariableDefinitionAccess().getTypeQualifiedNameWithBindingParserRuleCall_1_0_0());
+ }
+ lv_type_5_0=ruleQualifiedNameWithBinding {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLoopVariableDefinitionRule());
+ }
+ set(
+ $current,
+ "type",
+ lv_type_5_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ lv_name_6_0=RULE_ID
+ {
+ newLeafNode(lv_name_6_0, grammarAccess.getLoopVariableDefinitionAccess().getNameIDTerminalRuleCall_1_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getLoopVariableDefinitionRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_6_0,
+ "ID");
+ }
+
+)
+) otherlv_7=':'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getLoopVariableDefinitionAccess().getColonKeyword_1_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLoopVariableDefinitionAccess().getExpressionExpressionParserRuleCall_1_3_0());
+ }
+ lv_expression_8_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLoopVariableDefinitionRule());
+ }
+ set(
+ $current,
+ "expression",
+ lv_expression_8_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleBreakStatement
+entryRuleBreakStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getBreakStatementRule()); }
+ iv_ruleBreakStatement=ruleBreakStatement
+ { $current=$iv_ruleBreakStatement.current; }
+ EOF
+;
+
+// Rule BreakStatement
+ruleBreakStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getBreakStatementAccess().getBreakStatementAction_0(),
+ $current);
+ }
+) otherlv_1='break'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getBreakStatementAccess().getBreakKeyword_1());
+ }
+ otherlv_2=';'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getBreakStatementAccess().getSemicolonKeyword_2());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleReturnStatement
+entryRuleReturnStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getReturnStatementRule()); }
+ iv_ruleReturnStatement=ruleReturnStatement
+ { $current=$iv_ruleReturnStatement.current; }
+ EOF
+;
+
+// Rule ReturnStatement
+ruleReturnStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='return'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getReturnStatementAccess().getReturnKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getReturnStatementAccess().getExpressionExpressionParserRuleCall_1_0());
+ }
+ lv_expression_1_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getReturnStatementRule());
+ }
+ set(
+ $current,
+ "expression",
+ lv_expression_1_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2=';'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getReturnStatementAccess().getSemicolonKeyword_2());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleAcceptStatement
+entryRuleAcceptStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getAcceptStatementRule()); }
+ iv_ruleAcceptStatement=ruleAcceptStatement
+ { $current=$iv_ruleAcceptStatement.current; }
+ EOF
+;
+
+// Rule AcceptStatement
+ruleAcceptStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getAcceptStatementAccess().getClauseAcceptClauseParserRuleCall_0_0());
+ }
+ lv_clause_0_0=ruleAcceptClause {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAcceptStatementRule());
+ }
+ set(
+ $current,
+ "clause",
+ lv_clause_0_0,
+ "AcceptClause");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((
+(
+ {
+ newCompositeNode(grammarAccess.getAcceptStatementAccess().getSimpleAcceptSimpleAcceptStatementCompletionParserRuleCall_1_0_0());
+ }
+ lv_simpleAccept_1_0=ruleSimpleAcceptStatementCompletion {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAcceptStatementRule());
+ }
+ set(
+ $current,
+ "simpleAccept",
+ lv_simpleAccept_1_0,
+ "SimpleAcceptStatementCompletion");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getAcceptStatementAccess().getCompoundAcceptCompoundAcceptStatementCompletionParserRuleCall_1_1_0());
+ }
+ lv_compoundAccept_2_0=ruleCompoundAcceptStatementCompletion {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAcceptStatementRule());
+ }
+ set(
+ $current,
+ "compoundAccept",
+ lv_compoundAccept_2_0,
+ "CompoundAcceptStatementCompletion");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleSimpleAcceptStatementCompletion
+entryRuleSimpleAcceptStatementCompletion returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSimpleAcceptStatementCompletionRule()); }
+ iv_ruleSimpleAcceptStatementCompletion=ruleSimpleAcceptStatementCompletion
+ { $current=$iv_ruleSimpleAcceptStatementCompletion.current; }
+ EOF
+;
+
+// Rule SimpleAcceptStatementCompletion
+ruleSimpleAcceptStatementCompletion returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getSimpleAcceptStatementCompletionAccess().getSimpleAcceptStatementCompletionAction_0(),
+ $current);
+ }
+) otherlv_1=';'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getSimpleAcceptStatementCompletionAccess().getSemicolonKeyword_1());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleCompoundAcceptStatementCompletion
+entryRuleCompoundAcceptStatementCompletion returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getCompoundAcceptStatementCompletionRule()); }
+ iv_ruleCompoundAcceptStatementCompletion=ruleCompoundAcceptStatementCompletion
+ { $current=$iv_ruleCompoundAcceptStatementCompletion.current; }
+ EOF
+;
+
+// Rule CompoundAcceptStatementCompletion
+ruleCompoundAcceptStatementCompletion returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getCompoundAcceptStatementCompletionAccess().getBlockBlockParserRuleCall_0_0());
+ }
+ lv_block_0_0=ruleBlock {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCompoundAcceptStatementCompletionRule());
+ }
+ set(
+ $current,
+ "block",
+ lv_block_0_0,
+ "Block");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1='or'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getCompoundAcceptStatementCompletionAccess().getOrKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getCompoundAcceptStatementCompletionAccess().getAcceptBlockAcceptBlockParserRuleCall_1_1_0());
+ }
+ lv_acceptBlock_2_0=ruleAcceptBlock {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCompoundAcceptStatementCompletionRule());
+ }
+ add(
+ $current,
+ "acceptBlock",
+ lv_acceptBlock_2_0,
+ "AcceptBlock");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleAcceptBlock
+entryRuleAcceptBlock returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getAcceptBlockRule()); }
+ iv_ruleAcceptBlock=ruleAcceptBlock
+ { $current=$iv_ruleAcceptBlock.current; }
+ EOF
+;
+
+// Rule AcceptBlock
+ruleAcceptBlock returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getAcceptBlockAccess().getClauseAcceptClauseParserRuleCall_0_0());
+ }
+ lv_clause_0_0=ruleAcceptClause {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAcceptBlockRule());
+ }
+ set(
+ $current,
+ "clause",
+ lv_clause_0_0,
+ "AcceptClause");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getAcceptBlockAccess().getBlockBlockParserRuleCall_1_0());
+ }
+ lv_block_1_0=ruleBlock {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAcceptBlockRule());
+ }
+ set(
+ $current,
+ "block",
+ lv_block_1_0,
+ "Block");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleAcceptClause
+entryRuleAcceptClause returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getAcceptClauseRule()); }
+ iv_ruleAcceptClause=ruleAcceptClause
+ { $current=$iv_ruleAcceptClause.current; }
+ EOF
+;
+
+// Rule AcceptClause
+ruleAcceptClause returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='accept'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getAcceptClauseAccess().getAcceptKeyword_0());
+ }
+ otherlv_1='('
+ {
+ newLeafNode(otherlv_1, grammarAccess.getAcceptClauseAccess().getLeftParenthesisKeyword_1());
+ }
+((
+(
+ lv_name_2_0=RULE_ID
+ {
+ newLeafNode(lv_name_2_0, grammarAccess.getAcceptClauseAccess().getNameIDTerminalRuleCall_2_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAcceptClauseRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_2_0,
+ "ID");
+ }
+
+)
+) otherlv_3=':'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getAcceptClauseAccess().getColonKeyword_2_1());
+ }
+)?(
+(
+ {
+ newCompositeNode(grammarAccess.getAcceptClauseAccess().getQualifiedNameListQualifiedNameListParserRuleCall_3_0());
+ }
+ lv_qualifiedNameList_4_0=ruleQualifiedNameList {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAcceptClauseRule());
+ }
+ set(
+ $current,
+ "qualifiedNameList",
+ lv_qualifiedNameList_4_0,
+ "QualifiedNameList");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_5=')'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getAcceptClauseAccess().getRightParenthesisKeyword_4());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleClassifyStatement
+entryRuleClassifyStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getClassifyStatementRule()); }
+ iv_ruleClassifyStatement=ruleClassifyStatement
+ { $current=$iv_ruleClassifyStatement.current; }
+ EOF
+;
+
+// Rule ClassifyStatement
+ruleClassifyStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='classify'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getClassifyStatementAccess().getClassifyKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getClassifyStatementAccess().getExpressionExpressionParserRuleCall_1_0());
+ }
+ lv_expression_1_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getClassifyStatementRule());
+ }
+ set(
+ $current,
+ "expression",
+ lv_expression_1_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getClassifyStatementAccess().getClauseClassificationClauseParserRuleCall_2_0());
+ }
+ lv_clause_2_0=ruleClassificationClause {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getClassifyStatementRule());
+ }
+ set(
+ $current,
+ "clause",
+ lv_clause_2_0,
+ "ClassificationClause");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_3=';'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getClassifyStatementAccess().getSemicolonKeyword_3());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleClassificationClause
+entryRuleClassificationClause returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getClassificationClauseRule()); }
+ iv_ruleClassificationClause=ruleClassificationClause
+ { $current=$iv_ruleClassificationClause.current; }
+ EOF
+;
+
+// Rule ClassificationClause
+ruleClassificationClause returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((
+(
+ {
+ newCompositeNode(grammarAccess.getClassificationClauseAccess().getClassifyFromClauseClassificationFromClauseParserRuleCall_0_0_0());
+ }
+ lv_classifyFromClause_0_0=ruleClassificationFromClause {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getClassificationClauseRule());
+ }
+ set(
+ $current,
+ "classifyFromClause",
+ lv_classifyFromClause_0_0,
+ "ClassificationFromClause");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getClassificationClauseAccess().getClassifyToClauseClassificationToClauseParserRuleCall_0_1_0());
+ }
+ lv_classifyToClause_1_0=ruleClassificationToClause {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getClassificationClauseRule());
+ }
+ set(
+ $current,
+ "classifyToClause",
+ lv_classifyToClause_1_0,
+ "ClassificationToClause");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)
+ |((
+(
+ {
+ newCompositeNode(grammarAccess.getClassificationClauseAccess().getReclassyAllClauseReclassifyAllClauseParserRuleCall_1_0_0());
+ }
+ lv_reclassyAllClause_2_0=ruleReclassifyAllClause {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getClassificationClauseRule());
+ }
+ set(
+ $current,
+ "reclassyAllClause",
+ lv_reclassyAllClause_2_0,
+ "ReclassifyAllClause");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?(
+(
+ {
+ newCompositeNode(grammarAccess.getClassificationClauseAccess().getClassifyToClauseClassificationToClauseParserRuleCall_1_1_0());
+ }
+ lv_classifyToClause_3_0=ruleClassificationToClause {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getClassificationClauseRule());
+ }
+ set(
+ $current,
+ "classifyToClause",
+ lv_classifyToClause_3_0,
+ "ClassificationToClause");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleClassificationFromClause
+entryRuleClassificationFromClause returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getClassificationFromClauseRule()); }
+ iv_ruleClassificationFromClause=ruleClassificationFromClause
+ { $current=$iv_ruleClassificationFromClause.current; }
+ EOF
+;
+
+// Rule ClassificationFromClause
+ruleClassificationFromClause returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='from'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getClassificationFromClauseAccess().getFromKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getClassificationFromClauseAccess().getQualifiedNameListQualifiedNameListParserRuleCall_1_0());
+ }
+ lv_qualifiedNameList_1_0=ruleQualifiedNameList {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getClassificationFromClauseRule());
+ }
+ set(
+ $current,
+ "qualifiedNameList",
+ lv_qualifiedNameList_1_0,
+ "QualifiedNameList");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleClassificationToClause
+entryRuleClassificationToClause returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getClassificationToClauseRule()); }
+ iv_ruleClassificationToClause=ruleClassificationToClause
+ { $current=$iv_ruleClassificationToClause.current; }
+ EOF
+;
+
+// Rule ClassificationToClause
+ruleClassificationToClause returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='to'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getClassificationToClauseAccess().getToKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getClassificationToClauseAccess().getQualifiedNameListQualifiedNameListParserRuleCall_1_0());
+ }
+ lv_qualifiedNameList_1_0=ruleQualifiedNameList {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getClassificationToClauseRule());
+ }
+ set(
+ $current,
+ "qualifiedNameList",
+ lv_qualifiedNameList_1_0,
+ "QualifiedNameList");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleReclassifyAllClause
+entryRuleReclassifyAllClause returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getReclassifyAllClauseRule()); }
+ iv_ruleReclassifyAllClause=ruleReclassifyAllClause
+ { $current=$iv_ruleReclassifyAllClause.current; }
+ EOF
+;
+
+// Rule ReclassifyAllClause
+ruleReclassifyAllClause returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getReclassifyAllClauseAccess().getReclassifyAllClauseAction_0(),
+ $current);
+ }
+) otherlv_1='from'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getReclassifyAllClauseAccess().getFromKeyword_1());
+ }
+ otherlv_2='*'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getReclassifyAllClauseAccess().getAsteriskKeyword_2());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleQualifiedNameList
+entryRuleQualifiedNameList returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getQualifiedNameListRule()); }
+ iv_ruleQualifiedNameList=ruleQualifiedNameList
+ { $current=$iv_ruleQualifiedNameList.current; }
+ EOF
+;
+
+// Rule QualifiedNameList
+ruleQualifiedNameList returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getQualifiedNameListAccess().getQualifiedNameQualifiedNameWithBindingParserRuleCall_0_0());
+ }
+ lv_qualifiedName_0_0=ruleQualifiedNameWithBinding {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getQualifiedNameListRule());
+ }
+ add(
+ $current,
+ "qualifiedName",
+ lv_qualifiedName_0_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1=','
+ {
+ newLeafNode(otherlv_1, grammarAccess.getQualifiedNameListAccess().getCommaKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getQualifiedNameListAccess().getQualifiedNameQualifiedNameWithBindingParserRuleCall_1_1_0());
+ }
+ lv_qualifiedName_2_0=ruleQualifiedNameWithBinding {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getQualifiedNameListRule());
+ }
+ add(
+ $current,
+ "qualifiedName",
+ lv_qualifiedName_2_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleInvocationOrAssignementOrDeclarationStatement
+entryRuleInvocationOrAssignementOrDeclarationStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getInvocationOrAssignementOrDeclarationStatementRule()); }
+ iv_ruleInvocationOrAssignementOrDeclarationStatement=ruleInvocationOrAssignementOrDeclarationStatement
+ { $current=$iv_ruleInvocationOrAssignementOrDeclarationStatement.current; }
+ EOF
+;
+
+// Rule InvocationOrAssignementOrDeclarationStatement
+ruleInvocationOrAssignementOrDeclarationStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getInvocationOrAssignementOrDeclarationStatementAccess().getTypePart_OR_assignedPart_OR_invocationPartNameExpressionParserRuleCall_0_0());
+ }
+ lv_typePart_OR_assignedPart_OR_invocationPart_0_0=ruleNameExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getInvocationOrAssignementOrDeclarationStatementRule());
+ }
+ set(
+ $current,
+ "typePart_OR_assignedPart_OR_invocationPart",
+ lv_typePart_OR_assignedPart_OR_invocationPart_0_0,
+ "NameExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((
+(
+ {
+ newCompositeNode(grammarAccess.getInvocationOrAssignementOrDeclarationStatementAccess().getVariableDeclarationCompletionVariableDeclarationCompletionParserRuleCall_1_0_0());
+ }
+ lv_variableDeclarationCompletion_1_0=ruleVariableDeclarationCompletion {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getInvocationOrAssignementOrDeclarationStatementRule());
+ }
+ set(
+ $current,
+ "variableDeclarationCompletion",
+ lv_variableDeclarationCompletion_1_0,
+ "VariableDeclarationCompletion");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getInvocationOrAssignementOrDeclarationStatementAccess().getAssignmentCompletionAssignmentCompletionParserRuleCall_1_1_0());
+ }
+ lv_assignmentCompletion_2_0=ruleAssignmentCompletion {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getInvocationOrAssignementOrDeclarationStatementRule());
+ }
+ set(
+ $current,
+ "assignmentCompletion",
+ lv_assignmentCompletion_2_0,
+ "AssignmentCompletion");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))? otherlv_3=';'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getInvocationOrAssignementOrDeclarationStatementAccess().getSemicolonKeyword_2());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleSuperInvocationStatement
+entryRuleSuperInvocationStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSuperInvocationStatementRule()); }
+ iv_ruleSuperInvocationStatement=ruleSuperInvocationStatement
+ { $current=$iv_ruleSuperInvocationStatement.current; }
+ EOF
+;
+
+// Rule SuperInvocationStatement
+ruleSuperInvocationStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getSuperInvocationStatementAccess().get_superSuperInvocationExpressionParserRuleCall_0_0());
+ }
+ lv__super_0_0=ruleSuperInvocationExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSuperInvocationStatementRule());
+ }
+ set(
+ $current,
+ "_super",
+ lv__super_0_0,
+ "SuperInvocationExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_1=';'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getSuperInvocationStatementAccess().getSemicolonKeyword_1());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleThisInvocationStatement
+entryRuleThisInvocationStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getThisInvocationStatementRule()); }
+ iv_ruleThisInvocationStatement=ruleThisInvocationStatement
+ { $current=$iv_ruleThisInvocationStatement.current; }
+ EOF
+;
+
+// Rule ThisInvocationStatement
+ruleThisInvocationStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getThisInvocationStatementAccess().get_thisThisExpressionParserRuleCall_0_0());
+ }
+ lv__this_0_0=ruleThisExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getThisInvocationStatementRule());
+ }
+ set(
+ $current,
+ "_this",
+ lv__this_0_0,
+ "ThisExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getThisInvocationStatementAccess().getAssignmentCompletionAssignmentCompletionParserRuleCall_1_0());
+ }
+ lv_assignmentCompletion_1_0=ruleAssignmentCompletion {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getThisInvocationStatementRule());
+ }
+ set(
+ $current,
+ "assignmentCompletion",
+ lv_assignmentCompletion_1_0,
+ "AssignmentCompletion");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)? otherlv_2=';'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getThisInvocationStatementAccess().getSemicolonKeyword_2());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleInstanceCreationInvocationStatement
+entryRuleInstanceCreationInvocationStatement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getInstanceCreationInvocationStatementRule()); }
+ iv_ruleInstanceCreationInvocationStatement=ruleInstanceCreationInvocationStatement
+ { $current=$iv_ruleInstanceCreationInvocationStatement.current; }
+ EOF
+;
+
+// Rule InstanceCreationInvocationStatement
+ruleInstanceCreationInvocationStatement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getInstanceCreationInvocationStatementAccess().get_newInstanceCreationExpressionParserRuleCall_0_0());
+ }
+ lv__new_0_0=ruleInstanceCreationExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getInstanceCreationInvocationStatementRule());
+ }
+ set(
+ $current,
+ "_new",
+ lv__new_0_0,
+ "InstanceCreationExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_1=';'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getInstanceCreationInvocationStatementAccess().getSemicolonKeyword_1());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleVariableDeclarationCompletion
+entryRuleVariableDeclarationCompletion returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getVariableDeclarationCompletionRule()); }
+ iv_ruleVariableDeclarationCompletion=ruleVariableDeclarationCompletion
+ { $current=$iv_ruleVariableDeclarationCompletion.current; }
+ EOF
+;
+
+// Rule VariableDeclarationCompletion
+ruleVariableDeclarationCompletion returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((
+(
+ lv_multiplicityIndicator_0_0= '['
+ {
+ newLeafNode(lv_multiplicityIndicator_0_0, grammarAccess.getVariableDeclarationCompletionAccess().getMultiplicityIndicatorLeftSquareBracketKeyword_0_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getVariableDeclarationCompletionRule());
+ }
+ setWithLastConsumed($current, "multiplicityIndicator", true, "[");
+ }
+
+)
+) otherlv_1=']'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getVariableDeclarationCompletionAccess().getRightSquareBracketKeyword_0_1());
+ }
+)?(
+(
+ lv_variableName_2_0=RULE_ID
+ {
+ newLeafNode(lv_variableName_2_0, grammarAccess.getVariableDeclarationCompletionAccess().getVariableNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getVariableDeclarationCompletionRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "variableName",
+ lv_variableName_2_0,
+ "ID");
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getVariableDeclarationCompletionAccess().getInitValueAssignmentCompletionParserRuleCall_2_0());
+ }
+ lv_initValue_3_0=ruleAssignmentCompletion {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getVariableDeclarationCompletionRule());
+ }
+ set(
+ $current,
+ "initValue",
+ lv_initValue_3_0,
+ "AssignmentCompletion");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleAssignmentCompletion
+entryRuleAssignmentCompletion returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getAssignmentCompletionRule()); }
+ iv_ruleAssignmentCompletion=ruleAssignmentCompletion
+ { $current=$iv_ruleAssignmentCompletion.current; }
+ EOF
+;
+
+// Rule AssignmentCompletion
+ruleAssignmentCompletion returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getAssignmentCompletionAccess().getOpAssignmentOperatorEnumRuleCall_0_0());
+ }
+ lv_op_0_0=ruleAssignmentOperator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAssignmentCompletionRule());
+ }
+ set(
+ $current,
+ "op",
+ lv_op_0_0,
+ "AssignmentOperator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getAssignmentCompletionAccess().getRightHandSideSequenceElementParserRuleCall_1_0());
+ }
+ lv_rightHandSide_1_0=ruleSequenceElement {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAssignmentCompletionRule());
+ }
+ set(
+ $current,
+ "rightHandSide",
+ lv_rightHandSide_1_0,
+ "SequenceElement");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Rule BooleanValue
+ruleBooleanValue returns [Enumerator current=null]
+ @init { enterRule(); }
+ @after { leaveRule(); }:
+(( enumLiteral_0='true'
+ {
+ $current = grammarAccess.getBooleanValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getBooleanValueAccess().getTRUEEnumLiteralDeclaration_0());
+ }
+)
+ |( enumLiteral_1='false'
+ {
+ $current = grammarAccess.getBooleanValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getBooleanValueAccess().getFALSEEnumLiteralDeclaration_1());
+ }
+));
+
+
+
+// Rule LinkOperationKind
+ruleLinkOperationKind returns [Enumerator current=null]
+ @init { enterRule(); }
+ @after { leaveRule(); }:
+(( enumLiteral_0='createLink'
+ {
+ $current = grammarAccess.getLinkOperationKindAccess().getCREATEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getLinkOperationKindAccess().getCREATEEnumLiteralDeclaration_0());
+ }
+)
+ |( enumLiteral_1='destroyLink'
+ {
+ $current = grammarAccess.getLinkOperationKindAccess().getDESTROYEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getLinkOperationKindAccess().getDESTROYEnumLiteralDeclaration_1());
+ }
+)
+ |( enumLiteral_2='clearAssoc'
+ {
+ $current = grammarAccess.getLinkOperationKindAccess().getCLEAREnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_2, grammarAccess.getLinkOperationKindAccess().getCLEAREnumLiteralDeclaration_2());
+ }
+));
+
+
+
+// Rule SelectOrRejectOperator
+ruleSelectOrRejectOperator returns [Enumerator current=null]
+ @init { enterRule(); }
+ @after { leaveRule(); }:
+(( enumLiteral_0='select'
+ {
+ $current = grammarAccess.getSelectOrRejectOperatorAccess().getSELECTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getSelectOrRejectOperatorAccess().getSELECTEnumLiteralDeclaration_0());
+ }
+)
+ |( enumLiteral_1='reject'
+ {
+ $current = grammarAccess.getSelectOrRejectOperatorAccess().getREJECTEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getSelectOrRejectOperatorAccess().getREJECTEnumLiteralDeclaration_1());
+ }
+));
+
+
+
+// Rule CollectOrIterateOperator
+ruleCollectOrIterateOperator returns [Enumerator current=null]
+ @init { enterRule(); }
+ @after { leaveRule(); }:
+(( enumLiteral_0='collect'
+ {
+ $current = grammarAccess.getCollectOrIterateOperatorAccess().getCOLLECTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getCollectOrIterateOperatorAccess().getCOLLECTEnumLiteralDeclaration_0());
+ }
+)
+ |( enumLiteral_1='iterate'
+ {
+ $current = grammarAccess.getCollectOrIterateOperatorAccess().getITERATEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getCollectOrIterateOperatorAccess().getITERATEEnumLiteralDeclaration_1());
+ }
+));
+
+
+
+// Rule ForAllOrExistsOrOneOperator
+ruleForAllOrExistsOrOneOperator returns [Enumerator current=null]
+ @init { enterRule(); }
+ @after { leaveRule(); }:
+(( enumLiteral_0='forAll'
+ {
+ $current = grammarAccess.getForAllOrExistsOrOneOperatorAccess().getFORALLEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getForAllOrExistsOrOneOperatorAccess().getFORALLEnumLiteralDeclaration_0());
+ }
+)
+ |( enumLiteral_1='exists'
+ {
+ $current = grammarAccess.getForAllOrExistsOrOneOperatorAccess().getEXISTSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getForAllOrExistsOrOneOperatorAccess().getEXISTSEnumLiteralDeclaration_1());
+ }
+)
+ |( enumLiteral_2='one'
+ {
+ $current = grammarAccess.getForAllOrExistsOrOneOperatorAccess().getONEEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_2, grammarAccess.getForAllOrExistsOrOneOperatorAccess().getONEEnumLiteralDeclaration_2());
+ }
+));
+
+
+
+// Rule AnnotationKind
+ruleAnnotationKind returns [Enumerator current=null]
+ @init { enterRule(); }
+ @after { leaveRule(); }:
+(( enumLiteral_0='isolated'
+ {
+ $current = grammarAccess.getAnnotationKindAccess().getISOLATEDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getAnnotationKindAccess().getISOLATEDEnumLiteralDeclaration_0());
+ }
+)
+ |( enumLiteral_1='determined'
+ {
+ $current = grammarAccess.getAnnotationKindAccess().getDETERMINEDEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getAnnotationKindAccess().getDETERMINEDEnumLiteralDeclaration_1());
+ }
+)
+ |( enumLiteral_2='assured'
+ {
+ $current = grammarAccess.getAnnotationKindAccess().getASSUREDEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_2, grammarAccess.getAnnotationKindAccess().getASSUREDEnumLiteralDeclaration_2());
+ }
+)
+ |( enumLiteral_3='parallel'
+ {
+ $current = grammarAccess.getAnnotationKindAccess().getPARALLELEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_3, grammarAccess.getAnnotationKindAccess().getPARALLELEnumLiteralDeclaration_3());
+ }
+));
+
+
+
+// Rule AssignmentOperator
+ruleAssignmentOperator returns [Enumerator current=null]
+ @init { enterRule(); }
+ @after { leaveRule(); }:
+(( enumLiteral_0='='
+ {
+ $current = grammarAccess.getAssignmentOperatorAccess().getASSIGNEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getAssignmentOperatorAccess().getASSIGNEnumLiteralDeclaration_0());
+ }
+)
+ |( enumLiteral_1='+='
+ {
+ $current = grammarAccess.getAssignmentOperatorAccess().getPLUSASSIGNEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getAssignmentOperatorAccess().getPLUSASSIGNEnumLiteralDeclaration_1());
+ }
+)
+ |( enumLiteral_2='-='
+ {
+ $current = grammarAccess.getAssignmentOperatorAccess().getMINUSASSIGNEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_2, grammarAccess.getAssignmentOperatorAccess().getMINUSASSIGNEnumLiteralDeclaration_2());
+ }
+)
+ |( enumLiteral_3='*='
+ {
+ $current = grammarAccess.getAssignmentOperatorAccess().getMULTASSIGNEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_3, grammarAccess.getAssignmentOperatorAccess().getMULTASSIGNEnumLiteralDeclaration_3());
+ }
+)
+ |( enumLiteral_4='%='
+ {
+ $current = grammarAccess.getAssignmentOperatorAccess().getMODASSIGNEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_4, grammarAccess.getAssignmentOperatorAccess().getMODASSIGNEnumLiteralDeclaration_4());
+ }
+)
+ |( enumLiteral_5='/='
+ {
+ $current = grammarAccess.getAssignmentOperatorAccess().getDIVASSIGNEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_5, grammarAccess.getAssignmentOperatorAccess().getDIVASSIGNEnumLiteralDeclaration_5());
+ }
+)
+ |( enumLiteral_6='&='
+ {
+ $current = grammarAccess.getAssignmentOperatorAccess().getANDASSIGNEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_6, grammarAccess.getAssignmentOperatorAccess().getANDASSIGNEnumLiteralDeclaration_6());
+ }
+)
+ |( enumLiteral_7='|='
+ {
+ $current = grammarAccess.getAssignmentOperatorAccess().getORASSIGNEnumLiteralDeclaration_7().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_7, grammarAccess.getAssignmentOperatorAccess().getORASSIGNEnumLiteralDeclaration_7());
+ }
+)
+ |( enumLiteral_8='^='
+ {
+ $current = grammarAccess.getAssignmentOperatorAccess().getXORASSIGNEnumLiteralDeclaration_8().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_8, grammarAccess.getAssignmentOperatorAccess().getXORASSIGNEnumLiteralDeclaration_8());
+ }
+)
+ |( enumLiteral_9='<<='
+ {
+ $current = grammarAccess.getAssignmentOperatorAccess().getLSHIFTASSIGNEnumLiteralDeclaration_9().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_9, grammarAccess.getAssignmentOperatorAccess().getLSHIFTASSIGNEnumLiteralDeclaration_9());
+ }
+)
+ |( enumLiteral_10='>>='
+ {
+ $current = grammarAccess.getAssignmentOperatorAccess().getRSHIFTASSIGNEnumLiteralDeclaration_10().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_10, grammarAccess.getAssignmentOperatorAccess().getRSHIFTASSIGNEnumLiteralDeclaration_10());
+ }
+)
+ |( enumLiteral_11='>>>='
+ {
+ $current = grammarAccess.getAssignmentOperatorAccess().getURSHIFTASSIGNEnumLiteralDeclaration_11().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_11, grammarAccess.getAssignmentOperatorAccess().getURSHIFTASSIGNEnumLiteralDeclaration_11());
+ }
+));
+
+
+
+RULE_INTEGERVALUE : (('0'|'1'..'9' ('_'? '0'..'9')*)|('0b'|'0B') '0'..'1' ('_'? '0'..'1')*|('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F') ('_'? ('0'..'9'|'a'..'f'|'A'..'F'))*|'0' '_'? '0'..'7' ('_'? '0'..'7')*);
+
+RULE_ID : (('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*|'\'' ( options {greedy=false;} : . )*'\'');
+
+RULE_STRING : '"' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'"')))* '"';
+
+RULE_ML_COMMENT : '/*' ~('@') ( options {greedy=false;} : . )*'*/';
+
+RULE_SL_COMMENT : '//' ~(('\n'|'\r'|'@'))* ('\r'? '\n')?;
+
+RULE_INT : ('0'..'9')+;
+
+RULE_WS : (' '|'\t'|'\r'|'\n')+;
+
+RULE_ANY_OTHER : .;
+
+
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.tokens b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.tokens
new file mode 100644
index 00000000000..9fba57bb622
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.tokens
@@ -0,0 +1,212 @@
+RULE_ID=6
+T__29=29
+T__28=28
+T__27=27
+T__26=26
+T__25=25
+T__24=24
+T__23=23
+T__22=22
+RULE_ANY_OTHER=11
+T__21=21
+T__20=20
+T__93=93
+T__19=19
+T__94=94
+T__91=91
+T__92=92
+T__16=16
+T__15=15
+T__90=90
+T__18=18
+T__17=17
+T__12=12
+T__14=14
+T__13=13
+T__99=99
+RULE_INTEGERVALUE=4
+T__98=98
+T__97=97
+T__96=96
+T__95=95
+T__80=80
+T__81=81
+T__82=82
+T__83=83
+T__85=85
+T__84=84
+T__87=87
+T__86=86
+T__89=89
+T__88=88
+RULE_ML_COMMENT=7
+RULE_STRING=5
+T__71=71
+T__72=72
+T__70=70
+T__76=76
+T__75=75
+T__74=74
+T__73=73
+T__79=79
+T__78=78
+T__77=77
+T__68=68
+T__69=69
+T__66=66
+T__67=67
+T__64=64
+T__65=65
+T__62=62
+T__63=63
+T__61=61
+T__60=60
+T__55=55
+T__56=56
+T__57=57
+T__58=58
+T__51=51
+T__52=52
+T__53=53
+T__54=54
+T__107=107
+T__108=108
+T__109=109
+T__103=103
+T__59=59
+T__104=104
+T__105=105
+T__106=106
+T__111=111
+T__110=110
+RULE_INT=9
+T__113=113
+T__112=112
+T__50=50
+T__42=42
+T__43=43
+T__40=40
+T__41=41
+T__46=46
+T__47=47
+T__44=44
+T__45=45
+T__48=48
+T__49=49
+T__102=102
+T__101=101
+T__100=100
+RULE_SL_COMMENT=8
+T__30=30
+T__31=31
+T__32=32
+T__33=33
+T__34=34
+T__35=35
+T__36=36
+T__37=37
+T__38=38
+T__39=39
+RULE_WS=10
+'>='=38
+'=='=33
+'iterate'=95
+'this'=57
+';'=68
+'return'=82
+'for'=79
+'/*@'=64
+'=>'=23
+'^'=31
+'>>'=40
+'parallel'=102
+'testExpression'=12
+'isolated'=99
+'{'=60
+'&='=108
+'('=24
+':'=27
+'default'=76
+'<<='=111
+']'=51
+'>>>'=41
+'testBlock'=15
+'ordered'=54
+'new'=59
+'|='=109
+'forAll'=96
+'='=70
+'destroyLink'=90
+'testStatement'=14
+'reduce'=53
+'collect'=94
+'isUnique'=55
+'->'=52
+'%'=45
+'super'=58
+'case'=75
+'reject'=93
+'<<'=39
+'<='=37
+'!='=34
+'<'=20
+'--'=18
+'createLink'=89
+'['=50
+'or'=73
+'//@'=67
+'&'=32
+'instanceof'=35
+'determined'=100
+'accept'=83
+'clearAssoc'=91
+'assured'=101
+'~'=48
+'/'=44
+'switch'=74
+'/='=107
+'%='=106
+'>'=22
+'exists'=97
+'||'=28
+'&&'=29
+'+'=42
+'.'=49
+'$'=47
+'++'=17
+'true'=87
+'else'=72
+'^='=110
+'let'=69
+'+='=103
+'break'=81
+'*/'=66
+'allInstances'=63
+'>>='=112
+'>>>='=113
+'?'=26
+'testAssignmentExpression'=13
+'if'=71
+'-'=43
+'while'=77
+','=21
+'in'=80
+'select'=92
+'-='=104
+'..'=61
+'!'=46
+'|'=30
+'null'=56
+'classify'=84
+'one'=98
+'::'=19
+'inline'=65
+')'=25
+'hastype'=36
+'*='=105
+'do'=78
+'}'=62
+'to'=86
+'false'=88
+'*'=16
+'from'=85
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlfLexer.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlfLexer.java
new file mode 100644
index 00000000000..d9188c962c1
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlfLexer.java
@@ -0,0 +1,4659 @@
+package org.eclipse.papyrus.alf.parser.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.parser.antlr.Lexer;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalAlfLexer extends Lexer {
+ public static final int RULE_ID=6;
+ public static final int T__29=29;
+ public static final int T__28=28;
+ public static final int T__27=27;
+ public static final int T__26=26;
+ public static final int T__25=25;
+ public static final int T__24=24;
+ public static final int T__23=23;
+ public static final int T__22=22;
+ public static final int RULE_ANY_OTHER=11;
+ public static final int T__21=21;
+ public static final int T__20=20;
+ public static final int EOF=-1;
+ public static final int T__93=93;
+ public static final int T__19=19;
+ public static final int T__94=94;
+ public static final int T__91=91;
+ public static final int T__92=92;
+ public static final int T__16=16;
+ public static final int T__90=90;
+ public static final int T__15=15;
+ public static final int T__18=18;
+ public static final int T__17=17;
+ public static final int T__12=12;
+ public static final int T__14=14;
+ public static final int T__13=13;
+ public static final int T__99=99;
+ public static final int T__98=98;
+ public static final int RULE_INTEGERVALUE=4;
+ public static final int T__97=97;
+ public static final int T__96=96;
+ public static final int T__95=95;
+ public static final int T__80=80;
+ public static final int T__81=81;
+ public static final int T__82=82;
+ public static final int T__83=83;
+ public static final int T__85=85;
+ public static final int T__84=84;
+ public static final int T__87=87;
+ public static final int T__86=86;
+ public static final int T__89=89;
+ public static final int T__88=88;
+ public static final int RULE_ML_COMMENT=7;
+ public static final int RULE_STRING=5;
+ public static final int T__71=71;
+ public static final int T__72=72;
+ public static final int T__70=70;
+ public static final int T__76=76;
+ public static final int T__75=75;
+ public static final int T__74=74;
+ public static final int T__73=73;
+ public static final int T__79=79;
+ public static final int T__78=78;
+ public static final int T__77=77;
+ public static final int T__68=68;
+ public static final int T__69=69;
+ public static final int T__66=66;
+ public static final int T__67=67;
+ public static final int T__64=64;
+ public static final int T__65=65;
+ public static final int T__62=62;
+ public static final int T__63=63;
+ public static final int T__61=61;
+ public static final int T__60=60;
+ public static final int T__55=55;
+ public static final int T__56=56;
+ public static final int T__57=57;
+ public static final int T__58=58;
+ public static final int T__51=51;
+ public static final int T__52=52;
+ public static final int T__53=53;
+ public static final int T__54=54;
+ public static final int T__107=107;
+ public static final int T__108=108;
+ public static final int T__109=109;
+ public static final int T__103=103;
+ public static final int T__59=59;
+ public static final int T__104=104;
+ public static final int T__105=105;
+ public static final int T__106=106;
+ public static final int T__111=111;
+ public static final int T__110=110;
+ public static final int RULE_INT=9;
+ public static final int T__113=113;
+ public static final int T__112=112;
+ public static final int T__50=50;
+ public static final int T__42=42;
+ public static final int T__43=43;
+ public static final int T__40=40;
+ public static final int T__41=41;
+ public static final int T__46=46;
+ public static final int T__47=47;
+ public static final int T__44=44;
+ public static final int T__45=45;
+ public static final int T__48=48;
+ public static final int T__49=49;
+ public static final int T__102=102;
+ public static final int T__101=101;
+ public static final int T__100=100;
+ public static final int RULE_SL_COMMENT=8;
+ public static final int T__30=30;
+ public static final int T__31=31;
+ public static final int T__32=32;
+ public static final int T__33=33;
+ public static final int T__34=34;
+ public static final int T__35=35;
+ public static final int T__36=36;
+ public static final int T__37=37;
+ public static final int T__38=38;
+ public static final int T__39=39;
+ public static final int RULE_WS=10;
+
+ // delegates
+ // delegators
+
+ public InternalAlfLexer() {;}
+ public InternalAlfLexer(CharStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalAlfLexer(CharStream input, RecognizerSharedState state) {
+ super(input,state);
+
+ }
+ public String getGrammarFileName() { return "../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g"; }
+
+ // $ANTLR start "T__12"
+ public final void mT__12() throws RecognitionException {
+ try {
+ int _type = T__12;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:11:7: ( 'testExpression' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:11:9: 'testExpression'
+ {
+ match("testExpression");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__12"
+
+ // $ANTLR start "T__13"
+ public final void mT__13() throws RecognitionException {
+ try {
+ int _type = T__13;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:12:7: ( 'testAssignmentExpression' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:12:9: 'testAssignmentExpression'
+ {
+ match("testAssignmentExpression");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__13"
+
+ // $ANTLR start "T__14"
+ public final void mT__14() throws RecognitionException {
+ try {
+ int _type = T__14;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:13:7: ( 'testStatement' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:13:9: 'testStatement'
+ {
+ match("testStatement");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__14"
+
+ // $ANTLR start "T__15"
+ public final void mT__15() throws RecognitionException {
+ try {
+ int _type = T__15;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:14:7: ( 'testBlock' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:14:9: 'testBlock'
+ {
+ match("testBlock");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__15"
+
+ // $ANTLR start "T__16"
+ public final void mT__16() throws RecognitionException {
+ try {
+ int _type = T__16;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:15:7: ( '*' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:15:9: '*'
+ {
+ match('*');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__16"
+
+ // $ANTLR start "T__17"
+ public final void mT__17() throws RecognitionException {
+ try {
+ int _type = T__17;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:16:7: ( '++' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:16:9: '++'
+ {
+ match("++");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__17"
+
+ // $ANTLR start "T__18"
+ public final void mT__18() throws RecognitionException {
+ try {
+ int _type = T__18;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:17:7: ( '--' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:17:9: '--'
+ {
+ match("--");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__18"
+
+ // $ANTLR start "T__19"
+ public final void mT__19() throws RecognitionException {
+ try {
+ int _type = T__19;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:18:7: ( '::' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:18:9: '::'
+ {
+ match("::");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__19"
+
+ // $ANTLR start "T__20"
+ public final void mT__20() throws RecognitionException {
+ try {
+ int _type = T__20;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:19:7: ( '<' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:19:9: '<'
+ {
+ match('<');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__20"
+
+ // $ANTLR start "T__21"
+ public final void mT__21() throws RecognitionException {
+ try {
+ int _type = T__21;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:20:7: ( ',' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:20:9: ','
+ {
+ match(',');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__21"
+
+ // $ANTLR start "T__22"
+ public final void mT__22() throws RecognitionException {
+ try {
+ int _type = T__22;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:21:7: ( '>' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:21:9: '>'
+ {
+ match('>');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__22"
+
+ // $ANTLR start "T__23"
+ public final void mT__23() throws RecognitionException {
+ try {
+ int _type = T__23;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:22:7: ( '=>' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:22:9: '=>'
+ {
+ match("=>");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__23"
+
+ // $ANTLR start "T__24"
+ public final void mT__24() throws RecognitionException {
+ try {
+ int _type = T__24;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:23:7: ( '(' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:23:9: '('
+ {
+ match('(');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__24"
+
+ // $ANTLR start "T__25"
+ public final void mT__25() throws RecognitionException {
+ try {
+ int _type = T__25;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:24:7: ( ')' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:24:9: ')'
+ {
+ match(')');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__25"
+
+ // $ANTLR start "T__26"
+ public final void mT__26() throws RecognitionException {
+ try {
+ int _type = T__26;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:25:7: ( '?' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:25:9: '?'
+ {
+ match('?');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__26"
+
+ // $ANTLR start "T__27"
+ public final void mT__27() throws RecognitionException {
+ try {
+ int _type = T__27;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:26:7: ( ':' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:26:9: ':'
+ {
+ match(':');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__27"
+
+ // $ANTLR start "T__28"
+ public final void mT__28() throws RecognitionException {
+ try {
+ int _type = T__28;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:27:7: ( '||' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:27:9: '||'
+ {
+ match("||");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__28"
+
+ // $ANTLR start "T__29"
+ public final void mT__29() throws RecognitionException {
+ try {
+ int _type = T__29;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:28:7: ( '&&' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:28:9: '&&'
+ {
+ match("&&");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__29"
+
+ // $ANTLR start "T__30"
+ public final void mT__30() throws RecognitionException {
+ try {
+ int _type = T__30;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:29:7: ( '|' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:29:9: '|'
+ {
+ match('|');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__30"
+
+ // $ANTLR start "T__31"
+ public final void mT__31() throws RecognitionException {
+ try {
+ int _type = T__31;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:30:7: ( '^' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:30:9: '^'
+ {
+ match('^');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__31"
+
+ // $ANTLR start "T__32"
+ public final void mT__32() throws RecognitionException {
+ try {
+ int _type = T__32;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:31:7: ( '&' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:31:9: '&'
+ {
+ match('&');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__32"
+
+ // $ANTLR start "T__33"
+ public final void mT__33() throws RecognitionException {
+ try {
+ int _type = T__33;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:32:7: ( '==' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:32:9: '=='
+ {
+ match("==");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__33"
+
+ // $ANTLR start "T__34"
+ public final void mT__34() throws RecognitionException {
+ try {
+ int _type = T__34;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:33:7: ( '!=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:33:9: '!='
+ {
+ match("!=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__34"
+
+ // $ANTLR start "T__35"
+ public final void mT__35() throws RecognitionException {
+ try {
+ int _type = T__35;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:34:7: ( 'instanceof' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:34:9: 'instanceof'
+ {
+ match("instanceof");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__35"
+
+ // $ANTLR start "T__36"
+ public final void mT__36() throws RecognitionException {
+ try {
+ int _type = T__36;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:35:7: ( 'hastype' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:35:9: 'hastype'
+ {
+ match("hastype");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__36"
+
+ // $ANTLR start "T__37"
+ public final void mT__37() throws RecognitionException {
+ try {
+ int _type = T__37;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:36:7: ( '<=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:36:9: '<='
+ {
+ match("<=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__37"
+
+ // $ANTLR start "T__38"
+ public final void mT__38() throws RecognitionException {
+ try {
+ int _type = T__38;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:37:7: ( '>=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:37:9: '>='
+ {
+ match(">=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__38"
+
+ // $ANTLR start "T__39"
+ public final void mT__39() throws RecognitionException {
+ try {
+ int _type = T__39;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:38:7: ( '<<' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:38:9: '<<'
+ {
+ match("<<");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__39"
+
+ // $ANTLR start "T__40"
+ public final void mT__40() throws RecognitionException {
+ try {
+ int _type = T__40;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:39:7: ( '>>' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:39:9: '>>'
+ {
+ match(">>");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__40"
+
+ // $ANTLR start "T__41"
+ public final void mT__41() throws RecognitionException {
+ try {
+ int _type = T__41;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:40:7: ( '>>>' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:40:9: '>>>'
+ {
+ match(">>>");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__41"
+
+ // $ANTLR start "T__42"
+ public final void mT__42() throws RecognitionException {
+ try {
+ int _type = T__42;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:41:7: ( '+' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:41:9: '+'
+ {
+ match('+');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__42"
+
+ // $ANTLR start "T__43"
+ public final void mT__43() throws RecognitionException {
+ try {
+ int _type = T__43;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:42:7: ( '-' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:42:9: '-'
+ {
+ match('-');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__43"
+
+ // $ANTLR start "T__44"
+ public final void mT__44() throws RecognitionException {
+ try {
+ int _type = T__44;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:43:7: ( '/' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:43:9: '/'
+ {
+ match('/');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__44"
+
+ // $ANTLR start "T__45"
+ public final void mT__45() throws RecognitionException {
+ try {
+ int _type = T__45;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:44:7: ( '%' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:44:9: '%'
+ {
+ match('%');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__45"
+
+ // $ANTLR start "T__46"
+ public final void mT__46() throws RecognitionException {
+ try {
+ int _type = T__46;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:45:7: ( '!' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:45:9: '!'
+ {
+ match('!');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__46"
+
+ // $ANTLR start "T__47"
+ public final void mT__47() throws RecognitionException {
+ try {
+ int _type = T__47;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:46:7: ( '$' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:46:9: '$'
+ {
+ match('$');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__47"
+
+ // $ANTLR start "T__48"
+ public final void mT__48() throws RecognitionException {
+ try {
+ int _type = T__48;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:47:7: ( '~' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:47:9: '~'
+ {
+ match('~');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__48"
+
+ // $ANTLR start "T__49"
+ public final void mT__49() throws RecognitionException {
+ try {
+ int _type = T__49;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:48:7: ( '.' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:48:9: '.'
+ {
+ match('.');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__49"
+
+ // $ANTLR start "T__50"
+ public final void mT__50() throws RecognitionException {
+ try {
+ int _type = T__50;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:49:7: ( '[' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:49:9: '['
+ {
+ match('[');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__50"
+
+ // $ANTLR start "T__51"
+ public final void mT__51() throws RecognitionException {
+ try {
+ int _type = T__51;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:50:7: ( ']' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:50:9: ']'
+ {
+ match(']');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__51"
+
+ // $ANTLR start "T__52"
+ public final void mT__52() throws RecognitionException {
+ try {
+ int _type = T__52;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:51:7: ( '->' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:51:9: '->'
+ {
+ match("->");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__52"
+
+ // $ANTLR start "T__53"
+ public final void mT__53() throws RecognitionException {
+ try {
+ int _type = T__53;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:52:7: ( 'reduce' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:52:9: 'reduce'
+ {
+ match("reduce");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__53"
+
+ // $ANTLR start "T__54"
+ public final void mT__54() throws RecognitionException {
+ try {
+ int _type = T__54;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:53:7: ( 'ordered' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:53:9: 'ordered'
+ {
+ match("ordered");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__54"
+
+ // $ANTLR start "T__55"
+ public final void mT__55() throws RecognitionException {
+ try {
+ int _type = T__55;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:54:7: ( 'isUnique' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:54:9: 'isUnique'
+ {
+ match("isUnique");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__55"
+
+ // $ANTLR start "T__56"
+ public final void mT__56() throws RecognitionException {
+ try {
+ int _type = T__56;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:55:7: ( 'null' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:55:9: 'null'
+ {
+ match("null");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__56"
+
+ // $ANTLR start "T__57"
+ public final void mT__57() throws RecognitionException {
+ try {
+ int _type = T__57;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:56:7: ( 'this' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:56:9: 'this'
+ {
+ match("this");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__57"
+
+ // $ANTLR start "T__58"
+ public final void mT__58() throws RecognitionException {
+ try {
+ int _type = T__58;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:57:7: ( 'super' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:57:9: 'super'
+ {
+ match("super");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__58"
+
+ // $ANTLR start "T__59"
+ public final void mT__59() throws RecognitionException {
+ try {
+ int _type = T__59;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:58:7: ( 'new' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:58:9: 'new'
+ {
+ match("new");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__59"
+
+ // $ANTLR start "T__60"
+ public final void mT__60() throws RecognitionException {
+ try {
+ int _type = T__60;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:59:7: ( '{' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:59:9: '{'
+ {
+ match('{');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__60"
+
+ // $ANTLR start "T__61"
+ public final void mT__61() throws RecognitionException {
+ try {
+ int _type = T__61;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:60:7: ( '..' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:60:9: '..'
+ {
+ match("..");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__61"
+
+ // $ANTLR start "T__62"
+ public final void mT__62() throws RecognitionException {
+ try {
+ int _type = T__62;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:61:7: ( '}' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:61:9: '}'
+ {
+ match('}');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__62"
+
+ // $ANTLR start "T__63"
+ public final void mT__63() throws RecognitionException {
+ try {
+ int _type = T__63;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:62:7: ( 'allInstances' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:62:9: 'allInstances'
+ {
+ match("allInstances");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__63"
+
+ // $ANTLR start "T__64"
+ public final void mT__64() throws RecognitionException {
+ try {
+ int _type = T__64;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:63:7: ( '/*@' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:63:9: '/*@'
+ {
+ match("/*@");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__64"
+
+ // $ANTLR start "T__65"
+ public final void mT__65() throws RecognitionException {
+ try {
+ int _type = T__65;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:64:7: ( 'inline' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:64:9: 'inline'
+ {
+ match("inline");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__65"
+
+ // $ANTLR start "T__66"
+ public final void mT__66() throws RecognitionException {
+ try {
+ int _type = T__66;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:65:7: ( '*/' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:65:9: '*/'
+ {
+ match("*/");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__66"
+
+ // $ANTLR start "T__67"
+ public final void mT__67() throws RecognitionException {
+ try {
+ int _type = T__67;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:66:7: ( '//@' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:66:9: '//@'
+ {
+ match("//@");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__67"
+
+ // $ANTLR start "T__68"
+ public final void mT__68() throws RecognitionException {
+ try {
+ int _type = T__68;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:67:7: ( ';' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:67:9: ';'
+ {
+ match(';');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__68"
+
+ // $ANTLR start "T__69"
+ public final void mT__69() throws RecognitionException {
+ try {
+ int _type = T__69;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:68:7: ( 'let' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:68:9: 'let'
+ {
+ match("let");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__69"
+
+ // $ANTLR start "T__70"
+ public final void mT__70() throws RecognitionException {
+ try {
+ int _type = T__70;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:69:7: ( '=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:69:9: '='
+ {
+ match('=');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__70"
+
+ // $ANTLR start "T__71"
+ public final void mT__71() throws RecognitionException {
+ try {
+ int _type = T__71;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:70:7: ( 'if' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:70:9: 'if'
+ {
+ match("if");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__71"
+
+ // $ANTLR start "T__72"
+ public final void mT__72() throws RecognitionException {
+ try {
+ int _type = T__72;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:71:7: ( 'else' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:71:9: 'else'
+ {
+ match("else");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__72"
+
+ // $ANTLR start "T__73"
+ public final void mT__73() throws RecognitionException {
+ try {
+ int _type = T__73;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:72:7: ( 'or' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:72:9: 'or'
+ {
+ match("or");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__73"
+
+ // $ANTLR start "T__74"
+ public final void mT__74() throws RecognitionException {
+ try {
+ int _type = T__74;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:73:7: ( 'switch' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:73:9: 'switch'
+ {
+ match("switch");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__74"
+
+ // $ANTLR start "T__75"
+ public final void mT__75() throws RecognitionException {
+ try {
+ int _type = T__75;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:74:7: ( 'case' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:74:9: 'case'
+ {
+ match("case");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__75"
+
+ // $ANTLR start "T__76"
+ public final void mT__76() throws RecognitionException {
+ try {
+ int _type = T__76;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:75:7: ( 'default' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:75:9: 'default'
+ {
+ match("default");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__76"
+
+ // $ANTLR start "T__77"
+ public final void mT__77() throws RecognitionException {
+ try {
+ int _type = T__77;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:76:7: ( 'while' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:76:9: 'while'
+ {
+ match("while");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__77"
+
+ // $ANTLR start "T__78"
+ public final void mT__78() throws RecognitionException {
+ try {
+ int _type = T__78;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:77:7: ( 'do' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:77:9: 'do'
+ {
+ match("do");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__78"
+
+ // $ANTLR start "T__79"
+ public final void mT__79() throws RecognitionException {
+ try {
+ int _type = T__79;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:78:7: ( 'for' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:78:9: 'for'
+ {
+ match("for");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__79"
+
+ // $ANTLR start "T__80"
+ public final void mT__80() throws RecognitionException {
+ try {
+ int _type = T__80;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:79:7: ( 'in' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:79:9: 'in'
+ {
+ match("in");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__80"
+
+ // $ANTLR start "T__81"
+ public final void mT__81() throws RecognitionException {
+ try {
+ int _type = T__81;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:80:7: ( 'break' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:80:9: 'break'
+ {
+ match("break");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__81"
+
+ // $ANTLR start "T__82"
+ public final void mT__82() throws RecognitionException {
+ try {
+ int _type = T__82;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:81:7: ( 'return' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:81:9: 'return'
+ {
+ match("return");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__82"
+
+ // $ANTLR start "T__83"
+ public final void mT__83() throws RecognitionException {
+ try {
+ int _type = T__83;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:82:7: ( 'accept' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:82:9: 'accept'
+ {
+ match("accept");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__83"
+
+ // $ANTLR start "T__84"
+ public final void mT__84() throws RecognitionException {
+ try {
+ int _type = T__84;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:83:7: ( 'classify' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:83:9: 'classify'
+ {
+ match("classify");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__84"
+
+ // $ANTLR start "T__85"
+ public final void mT__85() throws RecognitionException {
+ try {
+ int _type = T__85;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:84:7: ( 'from' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:84:9: 'from'
+ {
+ match("from");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__85"
+
+ // $ANTLR start "T__86"
+ public final void mT__86() throws RecognitionException {
+ try {
+ int _type = T__86;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:85:7: ( 'to' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:85:9: 'to'
+ {
+ match("to");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__86"
+
+ // $ANTLR start "T__87"
+ public final void mT__87() throws RecognitionException {
+ try {
+ int _type = T__87;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:86:7: ( 'true' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:86:9: 'true'
+ {
+ match("true");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__87"
+
+ // $ANTLR start "T__88"
+ public final void mT__88() throws RecognitionException {
+ try {
+ int _type = T__88;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:87:7: ( 'false' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:87:9: 'false'
+ {
+ match("false");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__88"
+
+ // $ANTLR start "T__89"
+ public final void mT__89() throws RecognitionException {
+ try {
+ int _type = T__89;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:88:7: ( 'createLink' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:88:9: 'createLink'
+ {
+ match("createLink");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__89"
+
+ // $ANTLR start "T__90"
+ public final void mT__90() throws RecognitionException {
+ try {
+ int _type = T__90;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:89:7: ( 'destroyLink' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:89:9: 'destroyLink'
+ {
+ match("destroyLink");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__90"
+
+ // $ANTLR start "T__91"
+ public final void mT__91() throws RecognitionException {
+ try {
+ int _type = T__91;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:90:7: ( 'clearAssoc' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:90:9: 'clearAssoc'
+ {
+ match("clearAssoc");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__91"
+
+ // $ANTLR start "T__92"
+ public final void mT__92() throws RecognitionException {
+ try {
+ int _type = T__92;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:91:7: ( 'select' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:91:9: 'select'
+ {
+ match("select");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__92"
+
+ // $ANTLR start "T__93"
+ public final void mT__93() throws RecognitionException {
+ try {
+ int _type = T__93;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:92:7: ( 'reject' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:92:9: 'reject'
+ {
+ match("reject");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__93"
+
+ // $ANTLR start "T__94"
+ public final void mT__94() throws RecognitionException {
+ try {
+ int _type = T__94;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:93:7: ( 'collect' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:93:9: 'collect'
+ {
+ match("collect");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__94"
+
+ // $ANTLR start "T__95"
+ public final void mT__95() throws RecognitionException {
+ try {
+ int _type = T__95;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:94:7: ( 'iterate' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:94:9: 'iterate'
+ {
+ match("iterate");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__95"
+
+ // $ANTLR start "T__96"
+ public final void mT__96() throws RecognitionException {
+ try {
+ int _type = T__96;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:95:7: ( 'forAll' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:95:9: 'forAll'
+ {
+ match("forAll");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__96"
+
+ // $ANTLR start "T__97"
+ public final void mT__97() throws RecognitionException {
+ try {
+ int _type = T__97;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:96:7: ( 'exists' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:96:9: 'exists'
+ {
+ match("exists");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__97"
+
+ // $ANTLR start "T__98"
+ public final void mT__98() throws RecognitionException {
+ try {
+ int _type = T__98;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:97:7: ( 'one' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:97:9: 'one'
+ {
+ match("one");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__98"
+
+ // $ANTLR start "T__99"
+ public final void mT__99() throws RecognitionException {
+ try {
+ int _type = T__99;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:98:7: ( 'isolated' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:98:9: 'isolated'
+ {
+ match("isolated");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__99"
+
+ // $ANTLR start "T__100"
+ public final void mT__100() throws RecognitionException {
+ try {
+ int _type = T__100;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:99:8: ( 'determined' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:99:10: 'determined'
+ {
+ match("determined");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__100"
+
+ // $ANTLR start "T__101"
+ public final void mT__101() throws RecognitionException {
+ try {
+ int _type = T__101;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:100:8: ( 'assured' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:100:10: 'assured'
+ {
+ match("assured");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__101"
+
+ // $ANTLR start "T__102"
+ public final void mT__102() throws RecognitionException {
+ try {
+ int _type = T__102;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:101:8: ( 'parallel' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:101:10: 'parallel'
+ {
+ match("parallel");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__102"
+
+ // $ANTLR start "T__103"
+ public final void mT__103() throws RecognitionException {
+ try {
+ int _type = T__103;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:102:8: ( '+=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:102:10: '+='
+ {
+ match("+=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__103"
+
+ // $ANTLR start "T__104"
+ public final void mT__104() throws RecognitionException {
+ try {
+ int _type = T__104;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:103:8: ( '-=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:103:10: '-='
+ {
+ match("-=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__104"
+
+ // $ANTLR start "T__105"
+ public final void mT__105() throws RecognitionException {
+ try {
+ int _type = T__105;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:104:8: ( '*=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:104:10: '*='
+ {
+ match("*=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__105"
+
+ // $ANTLR start "T__106"
+ public final void mT__106() throws RecognitionException {
+ try {
+ int _type = T__106;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:105:8: ( '%=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:105:10: '%='
+ {
+ match("%=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__106"
+
+ // $ANTLR start "T__107"
+ public final void mT__107() throws RecognitionException {
+ try {
+ int _type = T__107;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:106:8: ( '/=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:106:10: '/='
+ {
+ match("/=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__107"
+
+ // $ANTLR start "T__108"
+ public final void mT__108() throws RecognitionException {
+ try {
+ int _type = T__108;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:107:8: ( '&=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:107:10: '&='
+ {
+ match("&=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__108"
+
+ // $ANTLR start "T__109"
+ public final void mT__109() throws RecognitionException {
+ try {
+ int _type = T__109;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:108:8: ( '|=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:108:10: '|='
+ {
+ match("|=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__109"
+
+ // $ANTLR start "T__110"
+ public final void mT__110() throws RecognitionException {
+ try {
+ int _type = T__110;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:109:8: ( '^=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:109:10: '^='
+ {
+ match("^=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__110"
+
+ // $ANTLR start "T__111"
+ public final void mT__111() throws RecognitionException {
+ try {
+ int _type = T__111;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:110:8: ( '<<=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:110:10: '<<='
+ {
+ match("<<=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__111"
+
+ // $ANTLR start "T__112"
+ public final void mT__112() throws RecognitionException {
+ try {
+ int _type = T__112;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:111:8: ( '>>=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:111:10: '>>='
+ {
+ match(">>=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__112"
+
+ // $ANTLR start "T__113"
+ public final void mT__113() throws RecognitionException {
+ try {
+ int _type = T__113;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:112:8: ( '>>>=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:112:10: '>>>='
+ {
+ match(">>>=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__113"
+
+ // $ANTLR start "RULE_INTEGERVALUE"
+ public final void mRULE_INTEGERVALUE() throws RecognitionException {
+ try {
+ int _type = RULE_INTEGERVALUE;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:19: ( ( ( '0' | '1' .. '9' ( ( '_' )? '0' .. '9' )* ) | ( '0b' | '0B' ) '0' .. '1' ( ( '_' )? '0' .. '1' )* | ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( ( '_' )? ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )* | '0' ( '_' )? '0' .. '7' ( ( '_' )? '0' .. '7' )* ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:21: ( ( '0' | '1' .. '9' ( ( '_' )? '0' .. '9' )* ) | ( '0b' | '0B' ) '0' .. '1' ( ( '_' )? '0' .. '1' )* | ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( ( '_' )? ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )* | '0' ( '_' )? '0' .. '7' ( ( '_' )? '0' .. '7' )* )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:21: ( ( '0' | '1' .. '9' ( ( '_' )? '0' .. '9' )* ) | ( '0b' | '0B' ) '0' .. '1' ( ( '_' )? '0' .. '1' )* | ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( ( '_' )? ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )* | '0' ( '_' )? '0' .. '7' ( ( '_' )? '0' .. '7' )* )
+ int alt13=4;
+ int LA13_0 = input.LA(1);
+
+ if ( (LA13_0=='0') ) {
+ switch ( input.LA(2) ) {
+ case 'B':
+ case 'b':
+ {
+ alt13=2;
+ }
+ break;
+ case 'X':
+ case 'x':
+ {
+ alt13=3;
+ }
+ break;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '_':
+ {
+ alt13=4;
+ }
+ break;
+ default:
+ alt13=1;}
+
+ }
+ else if ( ((LA13_0>='1' && LA13_0<='9')) ) {
+ alt13=1;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 13, 0, input);
+
+ throw nvae;
+ }
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:22: ( '0' | '1' .. '9' ( ( '_' )? '0' .. '9' )* )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:22: ( '0' | '1' .. '9' ( ( '_' )? '0' .. '9' )* )
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0=='0') ) {
+ alt3=1;
+ }
+ else if ( ((LA3_0>='1' && LA3_0<='9')) ) {
+ alt3=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 3, 0, input);
+
+ throw nvae;
+ }
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:23: '0'
+ {
+ match('0');
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:27: '1' .. '9' ( ( '_' )? '0' .. '9' )*
+ {
+ matchRange('1','9');
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:36: ( ( '_' )? '0' .. '9' )*
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( ((LA2_0>='0' && LA2_0<='9')||LA2_0=='_') ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:37: ( '_' )? '0' .. '9'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:37: ( '_' )?
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0=='_') ) {
+ alt1=1;
+ }
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:37: '_'
+ {
+ match('_');
+
+ }
+ break;
+
+ }
+
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:54: ( '0b' | '0B' ) '0' .. '1' ( ( '_' )? '0' .. '1' )*
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:54: ( '0b' | '0B' )
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0=='0') ) {
+ int LA4_1 = input.LA(2);
+
+ if ( (LA4_1=='b') ) {
+ alt4=1;
+ }
+ else if ( (LA4_1=='B') ) {
+ alt4=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 4, 1, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 4, 0, input);
+
+ throw nvae;
+ }
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:55: '0b'
+ {
+ match("0b");
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:60: '0B'
+ {
+ match("0B");
+
+
+ }
+ break;
+
+ }
+
+ matchRange('0','1');
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:75: ( ( '_' )? '0' .. '1' )*
+ loop6:
+ do {
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( ((LA6_0>='0' && LA6_0<='1')||LA6_0=='_') ) {
+ alt6=1;
+ }
+
+
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:76: ( '_' )? '0' .. '1'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:76: ( '_' )?
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0=='_') ) {
+ alt5=1;
+ }
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:76: '_'
+ {
+ match('_');
+
+ }
+ break;
+
+ }
+
+ matchRange('0','1');
+
+ }
+ break;
+
+ default :
+ break loop6;
+ }
+ } while (true);
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:92: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( ( '_' )? ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )*
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:92: ( '0x' | '0X' )
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0=='0') ) {
+ int LA7_1 = input.LA(2);
+
+ if ( (LA7_1=='x') ) {
+ alt7=1;
+ }
+ else if ( (LA7_1=='X') ) {
+ alt7=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 7, 1, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 7, 0, input);
+
+ throw nvae;
+ }
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:93: '0x'
+ {
+ match("0x");
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:98: '0X'
+ {
+ match("0X");
+
+
+ }
+ break;
+
+ }
+
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:133: ( ( '_' )? ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )*
+ loop9:
+ do {
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( ((LA9_0>='0' && LA9_0<='9')||(LA9_0>='A' && LA9_0<='F')||LA9_0=='_'||(LA9_0>='a' && LA9_0<='f')) ) {
+ alt9=1;
+ }
+
+
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:134: ( '_' )? ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:134: ( '_' )?
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0=='_') ) {
+ alt8=1;
+ }
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:134: '_'
+ {
+ match('_');
+
+ }
+ break;
+
+ }
+
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop9;
+ }
+ } while (true);
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:170: '0' ( '_' )? '0' .. '7' ( ( '_' )? '0' .. '7' )*
+ {
+ match('0');
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:174: ( '_' )?
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0=='_') ) {
+ alt10=1;
+ }
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:174: '_'
+ {
+ match('_');
+
+ }
+ break;
+
+ }
+
+ matchRange('0','7');
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:188: ( ( '_' )? '0' .. '7' )*
+ loop12:
+ do {
+ int alt12=2;
+ int LA12_0 = input.LA(1);
+
+ if ( ((LA12_0>='0' && LA12_0<='7')||LA12_0=='_') ) {
+ alt12=1;
+ }
+
+
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:189: ( '_' )? '0' .. '7'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:189: ( '_' )?
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0=='_') ) {
+ alt11=1;
+ }
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7348:189: '_'
+ {
+ match('_');
+
+ }
+ break;
+
+ }
+
+ matchRange('0','7');
+
+ }
+ break;
+
+ default :
+ break loop12;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_INTEGERVALUE"
+
+ // $ANTLR start "RULE_ID"
+ public final void mRULE_ID() throws RecognitionException {
+ try {
+ int _type = RULE_ID;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7350:9: ( ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* | '\\'' ( options {greedy=false; } : . )* '\\'' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7350:11: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* | '\\'' ( options {greedy=false; } : . )* '\\'' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7350:11: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* | '\\'' ( options {greedy=false; } : . )* '\\'' )
+ int alt16=2;
+ int LA16_0 = input.LA(1);
+
+ if ( ((LA16_0>='A' && LA16_0<='Z')||LA16_0=='_'||(LA16_0>='a' && LA16_0<='z')) ) {
+ alt16=1;
+ }
+ else if ( (LA16_0=='\'') ) {
+ alt16=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 16, 0, input);
+
+ throw nvae;
+ }
+ switch (alt16) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7350:12: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ {
+ if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7350:36: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ loop14:
+ do {
+ int alt14=2;
+ int LA14_0 = input.LA(1);
+
+ if ( ((LA14_0>='0' && LA14_0<='9')||(LA14_0>='A' && LA14_0<='Z')||LA14_0=='_'||(LA14_0>='a' && LA14_0<='z')) ) {
+ alt14=1;
+ }
+
+
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop14;
+ }
+ } while (true);
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7350:70: '\\'' ( options {greedy=false; } : . )* '\\''
+ {
+ match('\'');
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7350:75: ( options {greedy=false; } : . )*
+ loop15:
+ do {
+ int alt15=2;
+ int LA15_0 = input.LA(1);
+
+ if ( (LA15_0=='\'') ) {
+ alt15=2;
+ }
+ else if ( ((LA15_0>='\u0000' && LA15_0<='&')||(LA15_0>='(' && LA15_0<='\uFFFF')) ) {
+ alt15=1;
+ }
+
+
+ switch (alt15) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7350:103: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop15;
+ }
+ } while (true);
+
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ID"
+
+ // $ANTLR start "RULE_STRING"
+ public final void mRULE_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_STRING;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7352:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7352:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+ {
+ match('\"');
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7352:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop17:
+ do {
+ int alt17=3;
+ int LA17_0 = input.LA(1);
+
+ if ( (LA17_0=='\\') ) {
+ alt17=1;
+ }
+ else if ( ((LA17_0>='\u0000' && LA17_0<='!')||(LA17_0>='#' && LA17_0<='[')||(LA17_0>=']' && LA17_0<='\uFFFF')) ) {
+ alt17=2;
+ }
+
+
+ switch (alt17) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7352:20: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' )
+ {
+ match('\\');
+ if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7352:61: ~ ( ( '\\\\' | '\"' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop17;
+ }
+ } while (true);
+
+ match('\"');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_STRING"
+
+ // $ANTLR start "RULE_ML_COMMENT"
+ public final void mRULE_ML_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_ML_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7354:17: ( '/*' ~ ( '@' ) ( options {greedy=false; } : . )* '*/' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7354:19: '/*' ~ ( '@' ) ( options {greedy=false; } : . )* '*/'
+ {
+ match("/*");
+
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='?')||(input.LA(1)>='A' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7354:31: ( options {greedy=false; } : . )*
+ loop18:
+ do {
+ int alt18=2;
+ int LA18_0 = input.LA(1);
+
+ if ( (LA18_0=='*') ) {
+ int LA18_1 = input.LA(2);
+
+ if ( (LA18_1=='/') ) {
+ alt18=2;
+ }
+ else if ( ((LA18_1>='\u0000' && LA18_1<='.')||(LA18_1>='0' && LA18_1<='\uFFFF')) ) {
+ alt18=1;
+ }
+
+
+ }
+ else if ( ((LA18_0>='\u0000' && LA18_0<=')')||(LA18_0>='+' && LA18_0<='\uFFFF')) ) {
+ alt18=1;
+ }
+
+
+ switch (alt18) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7354:59: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop18;
+ }
+ } while (true);
+
+ match("*/");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ML_COMMENT"
+
+ // $ANTLR start "RULE_SL_COMMENT"
+ public final void mRULE_SL_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_SL_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7356:17: ( '//' (~ ( ( '\\n' | '\\r' | '@' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7356:19: '//' (~ ( ( '\\n' | '\\r' | '@' ) ) )* ( ( '\\r' )? '\\n' )?
+ {
+ match("//");
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7356:24: (~ ( ( '\\n' | '\\r' | '@' ) ) )*
+ loop19:
+ do {
+ int alt19=2;
+ int LA19_0 = input.LA(1);
+
+ if ( ((LA19_0>='\u0000' && LA19_0<='\t')||(LA19_0>='\u000B' && LA19_0<='\f')||(LA19_0>='\u000E' && LA19_0<='?')||(LA19_0>='A' && LA19_0<='\uFFFF')) ) {
+ alt19=1;
+ }
+
+
+ switch (alt19) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7356:24: ~ ( ( '\\n' | '\\r' | '@' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='?')||(input.LA(1)>='A' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop19;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7356:44: ( ( '\\r' )? '\\n' )?
+ int alt21=2;
+ int LA21_0 = input.LA(1);
+
+ if ( (LA21_0=='\n'||LA21_0=='\r') ) {
+ alt21=1;
+ }
+ switch (alt21) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7356:45: ( '\\r' )? '\\n'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7356:45: ( '\\r' )?
+ int alt20=2;
+ int LA20_0 = input.LA(1);
+
+ if ( (LA20_0=='\r') ) {
+ alt20=1;
+ }
+ switch (alt20) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7356:45: '\\r'
+ {
+ match('\r');
+
+ }
+ break;
+
+ }
+
+ match('\n');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_SL_COMMENT"
+
+ // $ANTLR start "RULE_INT"
+ public final void mRULE_INT() throws RecognitionException {
+ try {
+ int _type = RULE_INT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7358:10: ( ( '0' .. '9' )+ )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7358:12: ( '0' .. '9' )+
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7358:12: ( '0' .. '9' )+
+ int cnt22=0;
+ loop22:
+ do {
+ int alt22=2;
+ int LA22_0 = input.LA(1);
+
+ if ( ((LA22_0>='0' && LA22_0<='9')) ) {
+ alt22=1;
+ }
+
+
+ switch (alt22) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7358:13: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ if ( cnt22 >= 1 ) break loop22;
+ EarlyExitException eee =
+ new EarlyExitException(22, input);
+ throw eee;
+ }
+ cnt22++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_INT"
+
+ // $ANTLR start "RULE_WS"
+ public final void mRULE_WS() throws RecognitionException {
+ try {
+ int _type = RULE_WS;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7360:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7360:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7360:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ int cnt23=0;
+ loop23:
+ do {
+ int alt23=2;
+ int LA23_0 = input.LA(1);
+
+ if ( ((LA23_0>='\t' && LA23_0<='\n')||LA23_0=='\r'||LA23_0==' ') ) {
+ alt23=1;
+ }
+
+
+ switch (alt23) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:
+ {
+ if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ if ( cnt23 >= 1 ) break loop23;
+ EarlyExitException eee =
+ new EarlyExitException(23, input);
+ throw eee;
+ }
+ cnt23++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_WS"
+
+ // $ANTLR start "RULE_ANY_OTHER"
+ public final void mRULE_ANY_OTHER() throws RecognitionException {
+ try {
+ int _type = RULE_ANY_OTHER;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7362:16: ( . )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7362:18: .
+ {
+ matchAny();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ANY_OTHER"
+
+ public void mTokens() throws RecognitionException {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:8: ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | RULE_INTEGERVALUE | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_INT | RULE_WS | RULE_ANY_OTHER )
+ int alt24=110;
+ alt24 = dfa24.predict(input);
+ switch (alt24) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:10: T__12
+ {
+ mT__12();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:16: T__13
+ {
+ mT__13();
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:22: T__14
+ {
+ mT__14();
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:28: T__15
+ {
+ mT__15();
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:34: T__16
+ {
+ mT__16();
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:40: T__17
+ {
+ mT__17();
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:46: T__18
+ {
+ mT__18();
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:52: T__19
+ {
+ mT__19();
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:58: T__20
+ {
+ mT__20();
+
+ }
+ break;
+ case 10 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:64: T__21
+ {
+ mT__21();
+
+ }
+ break;
+ case 11 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:70: T__22
+ {
+ mT__22();
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:76: T__23
+ {
+ mT__23();
+
+ }
+ break;
+ case 13 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:82: T__24
+ {
+ mT__24();
+
+ }
+ break;
+ case 14 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:88: T__25
+ {
+ mT__25();
+
+ }
+ break;
+ case 15 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:94: T__26
+ {
+ mT__26();
+
+ }
+ break;
+ case 16 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:100: T__27
+ {
+ mT__27();
+
+ }
+ break;
+ case 17 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:106: T__28
+ {
+ mT__28();
+
+ }
+ break;
+ case 18 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:112: T__29
+ {
+ mT__29();
+
+ }
+ break;
+ case 19 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:118: T__30
+ {
+ mT__30();
+
+ }
+ break;
+ case 20 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:124: T__31
+ {
+ mT__31();
+
+ }
+ break;
+ case 21 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:130: T__32
+ {
+ mT__32();
+
+ }
+ break;
+ case 22 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:136: T__33
+ {
+ mT__33();
+
+ }
+ break;
+ case 23 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:142: T__34
+ {
+ mT__34();
+
+ }
+ break;
+ case 24 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:148: T__35
+ {
+ mT__35();
+
+ }
+ break;
+ case 25 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:154: T__36
+ {
+ mT__36();
+
+ }
+ break;
+ case 26 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:160: T__37
+ {
+ mT__37();
+
+ }
+ break;
+ case 27 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:166: T__38
+ {
+ mT__38();
+
+ }
+ break;
+ case 28 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:172: T__39
+ {
+ mT__39();
+
+ }
+ break;
+ case 29 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:178: T__40
+ {
+ mT__40();
+
+ }
+ break;
+ case 30 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:184: T__41
+ {
+ mT__41();
+
+ }
+ break;
+ case 31 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:190: T__42
+ {
+ mT__42();
+
+ }
+ break;
+ case 32 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:196: T__43
+ {
+ mT__43();
+
+ }
+ break;
+ case 33 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:202: T__44
+ {
+ mT__44();
+
+ }
+ break;
+ case 34 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:208: T__45
+ {
+ mT__45();
+
+ }
+ break;
+ case 35 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:214: T__46
+ {
+ mT__46();
+
+ }
+ break;
+ case 36 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:220: T__47
+ {
+ mT__47();
+
+ }
+ break;
+ case 37 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:226: T__48
+ {
+ mT__48();
+
+ }
+ break;
+ case 38 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:232: T__49
+ {
+ mT__49();
+
+ }
+ break;
+ case 39 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:238: T__50
+ {
+ mT__50();
+
+ }
+ break;
+ case 40 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:244: T__51
+ {
+ mT__51();
+
+ }
+ break;
+ case 41 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:250: T__52
+ {
+ mT__52();
+
+ }
+ break;
+ case 42 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:256: T__53
+ {
+ mT__53();
+
+ }
+ break;
+ case 43 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:262: T__54
+ {
+ mT__54();
+
+ }
+ break;
+ case 44 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:268: T__55
+ {
+ mT__55();
+
+ }
+ break;
+ case 45 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:274: T__56
+ {
+ mT__56();
+
+ }
+ break;
+ case 46 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:280: T__57
+ {
+ mT__57();
+
+ }
+ break;
+ case 47 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:286: T__58
+ {
+ mT__58();
+
+ }
+ break;
+ case 48 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:292: T__59
+ {
+ mT__59();
+
+ }
+ break;
+ case 49 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:298: T__60
+ {
+ mT__60();
+
+ }
+ break;
+ case 50 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:304: T__61
+ {
+ mT__61();
+
+ }
+ break;
+ case 51 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:310: T__62
+ {
+ mT__62();
+
+ }
+ break;
+ case 52 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:316: T__63
+ {
+ mT__63();
+
+ }
+ break;
+ case 53 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:322: T__64
+ {
+ mT__64();
+
+ }
+ break;
+ case 54 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:328: T__65
+ {
+ mT__65();
+
+ }
+ break;
+ case 55 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:334: T__66
+ {
+ mT__66();
+
+ }
+ break;
+ case 56 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:340: T__67
+ {
+ mT__67();
+
+ }
+ break;
+ case 57 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:346: T__68
+ {
+ mT__68();
+
+ }
+ break;
+ case 58 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:352: T__69
+ {
+ mT__69();
+
+ }
+ break;
+ case 59 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:358: T__70
+ {
+ mT__70();
+
+ }
+ break;
+ case 60 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:364: T__71
+ {
+ mT__71();
+
+ }
+ break;
+ case 61 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:370: T__72
+ {
+ mT__72();
+
+ }
+ break;
+ case 62 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:376: T__73
+ {
+ mT__73();
+
+ }
+ break;
+ case 63 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:382: T__74
+ {
+ mT__74();
+
+ }
+ break;
+ case 64 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:388: T__75
+ {
+ mT__75();
+
+ }
+ break;
+ case 65 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:394: T__76
+ {
+ mT__76();
+
+ }
+ break;
+ case 66 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:400: T__77
+ {
+ mT__77();
+
+ }
+ break;
+ case 67 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:406: T__78
+ {
+ mT__78();
+
+ }
+ break;
+ case 68 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:412: T__79
+ {
+ mT__79();
+
+ }
+ break;
+ case 69 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:418: T__80
+ {
+ mT__80();
+
+ }
+ break;
+ case 70 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:424: T__81
+ {
+ mT__81();
+
+ }
+ break;
+ case 71 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:430: T__82
+ {
+ mT__82();
+
+ }
+ break;
+ case 72 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:436: T__83
+ {
+ mT__83();
+
+ }
+ break;
+ case 73 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:442: T__84
+ {
+ mT__84();
+
+ }
+ break;
+ case 74 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:448: T__85
+ {
+ mT__85();
+
+ }
+ break;
+ case 75 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:454: T__86
+ {
+ mT__86();
+
+ }
+ break;
+ case 76 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:460: T__87
+ {
+ mT__87();
+
+ }
+ break;
+ case 77 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:466: T__88
+ {
+ mT__88();
+
+ }
+ break;
+ case 78 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:472: T__89
+ {
+ mT__89();
+
+ }
+ break;
+ case 79 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:478: T__90
+ {
+ mT__90();
+
+ }
+ break;
+ case 80 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:484: T__91
+ {
+ mT__91();
+
+ }
+ break;
+ case 81 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:490: T__92
+ {
+ mT__92();
+
+ }
+ break;
+ case 82 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:496: T__93
+ {
+ mT__93();
+
+ }
+ break;
+ case 83 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:502: T__94
+ {
+ mT__94();
+
+ }
+ break;
+ case 84 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:508: T__95
+ {
+ mT__95();
+
+ }
+ break;
+ case 85 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:514: T__96
+ {
+ mT__96();
+
+ }
+ break;
+ case 86 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:520: T__97
+ {
+ mT__97();
+
+ }
+ break;
+ case 87 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:526: T__98
+ {
+ mT__98();
+
+ }
+ break;
+ case 88 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:532: T__99
+ {
+ mT__99();
+
+ }
+ break;
+ case 89 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:538: T__100
+ {
+ mT__100();
+
+ }
+ break;
+ case 90 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:545: T__101
+ {
+ mT__101();
+
+ }
+ break;
+ case 91 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:552: T__102
+ {
+ mT__102();
+
+ }
+ break;
+ case 92 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:559: T__103
+ {
+ mT__103();
+
+ }
+ break;
+ case 93 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:566: T__104
+ {
+ mT__104();
+
+ }
+ break;
+ case 94 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:573: T__105
+ {
+ mT__105();
+
+ }
+ break;
+ case 95 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:580: T__106
+ {
+ mT__106();
+
+ }
+ break;
+ case 96 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:587: T__107
+ {
+ mT__107();
+
+ }
+ break;
+ case 97 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:594: T__108
+ {
+ mT__108();
+
+ }
+ break;
+ case 98 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:601: T__109
+ {
+ mT__109();
+
+ }
+ break;
+ case 99 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:608: T__110
+ {
+ mT__110();
+
+ }
+ break;
+ case 100 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:615: T__111
+ {
+ mT__111();
+
+ }
+ break;
+ case 101 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:622: T__112
+ {
+ mT__112();
+
+ }
+ break;
+ case 102 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:629: T__113
+ {
+ mT__113();
+
+ }
+ break;
+ case 103 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:636: RULE_INTEGERVALUE
+ {
+ mRULE_INTEGERVALUE();
+
+ }
+ break;
+ case 104 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:654: RULE_ID
+ {
+ mRULE_ID();
+
+ }
+ break;
+ case 105 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:662: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 106 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:674: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 107 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:690: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 108 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:706: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 109 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:715: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 110 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1:723: RULE_ANY_OTHER
+ {
+ mRULE_ANY_OTHER();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+ protected DFA24 dfa24 = new DFA24(this);
+ static final String DFA24_eotS =
+ "\1\uffff\1\65\1\70\1\73\1\77\1\101\1\104\1\uffff\1\110\1\113\3"+
+ "\uffff\1\121\1\124\1\126\1\130\2\65\1\141\1\143\2\uffff\1\147\2"+
+ "\uffff\4\65\2\uffff\1\65\1\uffff\10\65\2\u0087\1\uffff\2\60\2\uffff"+
+ "\2\65\1\u008f\1\65\16\uffff\1\u0092\3\uffff\1\u0095\21\uffff\1\u0098"+
+ "\1\65\1\u009b\2\65\1\uffff\1\u00a1\12\uffff\1\65\1\u00a6\6\65\2"+
+ "\uffff\3\65\1\uffff\10\65\1\u00bb\6\65\1\uffff\1\u0087\1\uffff\1"+
+ "\u0087\2\uffff\2\65\1\uffff\1\65\2\uffff\1\u00c7\2\uffff\2\65\1"+
+ "\uffff\2\65\1\uffff\2\65\4\uffff\4\65\1\uffff\1\u00d2\1\65\1\u00d4"+
+ "\6\65\1\u00db\12\65\1\uffff\1\65\1\u00e8\4\65\1\u0087\1\65\1\u00f1"+
+ "\1\u00f2\2\uffff\12\65\1\uffff\1\u00fd\1\uffff\6\65\1\uffff\1\u0104"+
+ "\1\65\1\u0106\11\65\1\uffff\1\u0110\7\65\2\uffff\12\65\1\uffff\1"+
+ "\u0122\5\65\1\uffff\1\65\1\uffff\7\65\1\u0130\1\65\1\uffff\1\u0132"+
+ "\1\u0133\6\65\1\u013a\4\65\1\u013f\1\u0140\1\u0141\1\65\1\uffff"+
+ "\1\u0143\1\u0144\1\65\1\u0146\1\65\1\u0148\7\65\1\uffff\1\u0150"+
+ "\2\uffff\6\65\1\uffff\2\65\1\u0159\1\u015a\3\uffff\1\u015b\2\uffff"+
+ "\1\65\1\uffff\1\u015d\1\uffff\3\65\1\u0161\1\u0162\2\65\1\uffff"+
+ "\6\65\1\u016b\1\u016c\3\uffff\1\65\1\uffff\1\u016e\2\65\2\uffff"+
+ "\2\65\1\u0173\3\65\1\u0177\1\65\2\uffff\1\65\1\uffff\4\65\1\uffff"+
+ "\3\65\1\uffff\1\u0181\1\65\1\u0183\1\u0184\1\65\1\u0186\3\65\1\uffff"+
+ "\1\65\2\uffff\1\u018b\1\uffff\3\65\1\u018f\1\uffff\2\65\1\u0192"+
+ "\1\uffff\1\u0193\1\65\2\uffff\11\65\1\u019e\1\uffff";
+ static final String DFA24_eofS =
+ "\u019f\uffff";
+ static final String DFA24_minS =
+ "\1\0\1\145\1\57\1\53\1\55\1\72\1\74\1\uffff\2\75\3\uffff\1\75\1"+
+ "\46\2\75\1\146\1\141\1\52\1\75\2\uffff\1\56\2\uffff\1\145\1\156"+
+ "\2\145\2\uffff\1\143\1\uffff\1\145\1\154\1\141\1\145\1\150\1\141"+
+ "\1\162\1\141\2\60\1\uffff\2\0\2\uffff\1\163\1\151\1\60\1\165\16"+
+ "\uffff\1\75\3\uffff\1\75\21\uffff\1\60\1\125\1\60\1\145\1\163\1"+
+ "\0\1\100\12\uffff\1\144\1\60\1\145\1\154\1\167\1\160\1\151\1\154"+
+ "\2\uffff\1\154\1\143\1\163\1\uffff\1\164\1\163\1\151\1\163\1\141"+
+ "\1\145\1\154\1\146\1\60\1\151\1\162\1\157\1\154\1\145\1\162\1\uffff"+
+ "\1\60\1\uffff\1\60\2\uffff\1\164\1\163\1\uffff\1\145\2\uffff\1\75"+
+ "\2\uffff\1\164\1\151\1\uffff\1\156\1\154\1\uffff\1\162\1\164\4\uffff"+
+ "\2\165\2\145\1\uffff\1\60\1\154\1\60\1\145\1\164\1\145\1\111\1\145"+
+ "\1\165\1\60\1\145\1\163\1\145\1\163\2\141\1\154\1\141\1\164\1\145"+
+ "\1\uffff\1\154\1\60\1\155\1\163\2\141\1\60\1\101\2\60\2\uffff\1"+
+ "\141\1\156\1\151\2\141\1\171\1\143\1\162\1\143\1\162\1\uffff\1\60"+
+ "\1\uffff\1\162\2\143\1\156\1\160\1\162\1\uffff\1\60\1\164\1\60\1"+
+ "\163\1\162\1\164\1\145\1\165\2\162\1\145\1\154\1\uffff\1\60\1\145"+
+ "\1\153\1\154\1\170\1\163\1\164\1\154\2\uffff\1\156\1\145\1\161\2"+
+ "\164\1\160\1\145\1\156\1\164\1\145\1\uffff\1\60\1\150\1\164\1\163"+
+ "\1\164\1\145\1\uffff\1\163\1\uffff\1\151\1\101\1\145\1\143\1\154"+
+ "\1\157\1\155\1\60\1\154\1\uffff\2\60\1\154\1\160\1\163\1\141\1\157"+
+ "\1\143\1\60\1\165\3\145\3\60\1\144\1\uffff\2\60\1\164\1\60\1\144"+
+ "\1\60\1\146\1\163\1\114\2\164\1\171\1\151\1\uffff\1\60\2\uffff\1"+
+ "\145\1\162\1\151\1\164\1\143\1\145\1\uffff\1\145\1\144\2\60\3\uffff"+
+ "\1\60\2\uffff\1\141\1\uffff\1\60\1\uffff\1\171\1\163\1\151\2\60"+
+ "\1\114\1\156\1\uffff\1\154\1\145\1\147\1\145\1\153\1\157\2\60\3"+
+ "\uffff\1\156\1\uffff\1\60\1\157\1\156\2\uffff\1\151\1\145\1\60\1"+
+ "\163\1\156\1\155\1\60\1\146\2\uffff\1\143\1\uffff\1\143\1\153\1"+
+ "\156\1\144\1\uffff\1\163\1\155\1\145\1\uffff\1\60\1\145\2\60\1\153"+
+ "\1\60\1\151\1\145\1\156\1\uffff\1\163\2\uffff\1\60\1\uffff\1\157"+
+ "\1\156\1\164\1\60\1\uffff\1\156\1\164\1\60\1\uffff\1\60\1\105\2"+
+ "\uffff\1\170\1\160\1\162\1\145\2\163\1\151\1\157\1\156\1\60\1\uffff";
+ static final String DFA24_maxS =
+ "\1\uffff\1\162\2\75\1\76\1\72\1\75\1\uffff\2\76\3\uffff\1\174\3"+
+ "\75\1\164\1\141\2\75\2\uffff\1\56\2\uffff\1\145\1\162\1\165\1\167"+
+ "\2\uffff\1\163\1\uffff\1\145\1\170\1\162\1\157\1\150\2\162\1\141"+
+ "\2\71\1\uffff\2\uffff\2\uffff\1\163\1\151\1\172\1\165\16\uffff\1"+
+ "\75\3\uffff\1\76\21\uffff\1\172\1\157\1\172\1\145\1\163\1\uffff"+
+ "\1\100\12\uffff\1\164\1\172\1\145\1\154\1\167\1\160\1\151\1\154"+
+ "\2\uffff\1\154\1\143\1\163\1\uffff\1\164\1\163\1\151\1\163\2\145"+
+ "\1\154\1\164\1\172\1\151\1\162\1\157\1\154\1\145\1\162\1\uffff\1"+
+ "\71\1\uffff\1\71\2\uffff\1\164\1\163\1\uffff\1\145\2\uffff\1\75"+
+ "\2\uffff\1\164\1\151\1\uffff\1\156\1\154\1\uffff\1\162\1\164\4\uffff"+
+ "\2\165\2\145\1\uffff\1\172\1\154\1\172\1\145\1\164\1\145\1\111\1"+
+ "\145\1\165\1\172\1\145\1\163\1\145\1\163\2\141\1\154\1\141\1\164"+
+ "\1\145\1\uffff\1\154\1\172\1\155\1\163\2\141\1\71\1\123\2\172\2"+
+ "\uffff\1\141\1\156\1\151\2\141\1\171\1\143\1\162\1\143\1\162\1\uffff"+
+ "\1\172\1\uffff\1\162\2\143\1\156\1\160\1\162\1\uffff\1\172\1\164"+
+ "\1\172\1\163\1\162\1\164\1\145\1\165\2\162\1\145\1\154\1\uffff\1"+
+ "\172\1\145\1\153\1\154\1\170\1\163\1\164\1\154\2\uffff\1\156\1\145"+
+ "\1\161\2\164\1\160\1\145\1\156\1\164\1\145\1\uffff\1\172\1\150\1"+
+ "\164\1\163\1\164\1\145\1\uffff\1\163\1\uffff\1\151\1\101\1\145\1"+
+ "\143\1\154\1\157\1\155\1\172\1\154\1\uffff\2\172\1\154\1\160\1\163"+
+ "\1\141\1\157\1\143\1\172\1\165\3\145\3\172\1\144\1\uffff\2\172\1"+
+ "\164\1\172\1\144\1\172\1\146\1\163\1\114\2\164\1\171\1\151\1\uffff"+
+ "\1\172\2\uffff\1\145\1\162\1\151\1\164\1\143\1\145\1\uffff\1\145"+
+ "\1\144\2\172\3\uffff\1\172\2\uffff\1\141\1\uffff\1\172\1\uffff\1"+
+ "\171\1\163\1\151\2\172\1\114\1\156\1\uffff\1\154\1\145\1\147\1\145"+
+ "\1\153\1\157\2\172\3\uffff\1\156\1\uffff\1\172\1\157\1\156\2\uffff"+
+ "\1\151\1\145\1\172\1\163\1\156\1\155\1\172\1\146\2\uffff\1\143\1"+
+ "\uffff\1\143\1\153\1\156\1\144\1\uffff\1\163\1\155\1\145\1\uffff"+
+ "\1\172\1\145\2\172\1\153\1\172\1\151\1\145\1\156\1\uffff\1\163\2"+
+ "\uffff\1\172\1\uffff\1\157\1\156\1\164\1\172\1\uffff\1\156\1\164"+
+ "\1\172\1\uffff\1\172\1\105\2\uffff\1\170\1\160\1\162\1\145\2\163"+
+ "\1\151\1\157\1\156\1\172\1\uffff";
+ static final String DFA24_acceptS =
+ "\7\uffff\1\12\2\uffff\1\15\1\16\1\17\10\uffff\1\44\1\45\1\uffff"+
+ "\1\47\1\50\4\uffff\1\61\1\63\1\uffff\1\71\12\uffff\1\150\2\uffff"+
+ "\1\155\1\156\4\uffff\1\150\1\67\1\136\1\5\1\6\1\134\1\37\1\7\1\51"+
+ "\1\135\1\40\1\10\1\20\1\32\1\uffff\1\11\1\12\1\33\1\uffff\1\13\1"+
+ "\14\1\26\1\73\1\15\1\16\1\17\1\21\1\142\1\23\1\22\1\141\1\25\1\143"+
+ "\1\24\1\27\1\43\7\uffff\1\140\1\41\1\137\1\42\1\44\1\45\1\62\1\46"+
+ "\1\47\1\50\10\uffff\1\61\1\63\3\uffff\1\71\17\uffff\1\147\1\uffff"+
+ "\1\154\1\uffff\1\151\1\155\2\uffff\1\113\1\uffff\1\144\1\34\1\uffff"+
+ "\1\145\1\35\2\uffff\1\105\2\uffff\1\74\2\uffff\1\65\1\152\1\70\1"+
+ "\153\4\uffff\1\76\24\uffff\1\103\12\uffff\1\146\1\36\12\uffff\1"+
+ "\127\1\uffff\1\60\6\uffff\1\72\14\uffff\1\104\10\uffff\1\56\1\114"+
+ "\12\uffff\1\55\6\uffff\1\75\1\uffff\1\100\11\uffff\1\112\21\uffff"+
+ "\1\57\15\uffff\1\102\1\uffff\1\115\1\106\6\uffff\1\66\4\uffff\1"+
+ "\52\1\107\1\122\1\uffff\1\77\1\121\1\uffff\1\110\1\uffff\1\126\7"+
+ "\uffff\1\125\10\uffff\1\124\1\31\1\53\1\uffff\1\132\3\uffff\1\123"+
+ "\1\101\10\uffff\1\54\1\130\1\uffff\1\111\4\uffff\1\133\3\uffff\1"+
+ "\4\11\uffff\1\30\1\uffff\1\120\1\116\1\uffff\1\131\4\uffff\1\117"+
+ "\3\uffff\1\64\2\uffff\1\3\1\1\12\uffff\1\2";
+ static final String DFA24_specialS =
+ "\1\0\54\uffff\1\3\1\1\57\uffff\1\2\u0140\uffff}>";
+ static final String[] DFA24_transitionS = {
+ "\11\60\2\57\2\60\1\57\22\60\1\57\1\20\1\56\1\60\1\25\1\24\1"+
+ "\16\1\55\1\12\1\13\1\2\1\3\1\7\1\4\1\27\1\23\1\52\11\53\1\5"+
+ "\1\41\1\6\1\11\1\10\1\14\1\60\32\54\1\30\1\60\1\31\1\17\1\54"+
+ "\1\60\1\40\1\50\1\44\1\45\1\43\1\47\1\54\1\22\1\21\2\54\1\42"+
+ "\1\54\1\34\1\33\1\51\1\54\1\32\1\35\1\1\2\54\1\46\3\54\1\36"+
+ "\1\15\1\37\1\26\uff81\60",
+ "\1\61\2\uffff\1\62\6\uffff\1\63\2\uffff\1\64",
+ "\1\66\15\uffff\1\67",
+ "\1\71\21\uffff\1\72",
+ "\1\74\17\uffff\1\76\1\75",
+ "\1\100",
+ "\1\103\1\102",
+ "",
+ "\1\106\1\107",
+ "\1\112\1\111",
+ "",
+ "",
+ "",
+ "\1\120\76\uffff\1\117",
+ "\1\122\26\uffff\1\123",
+ "\1\125",
+ "\1\127",
+ "\1\133\7\uffff\1\131\4\uffff\1\132\1\134",
+ "\1\135",
+ "\1\136\4\uffff\1\137\15\uffff\1\140",
+ "\1\142",
+ "",
+ "",
+ "\1\146",
+ "",
+ "",
+ "\1\152",
+ "\1\154\3\uffff\1\153",
+ "\1\156\17\uffff\1\155",
+ "\1\161\17\uffff\1\157\1\uffff\1\160",
+ "",
+ "",
+ "\1\165\10\uffff\1\164\6\uffff\1\166",
+ "",
+ "\1\170",
+ "\1\171\13\uffff\1\172",
+ "\1\173\12\uffff\1\174\2\uffff\1\176\2\uffff\1\175",
+ "\1\177\11\uffff\1\u0080",
+ "\1\u0081",
+ "\1\u0084\15\uffff\1\u0082\2\uffff\1\u0083",
+ "\1\u0085",
+ "\1\u0086",
+ "\10\u0088\2\u0089",
+ "\12\u008a",
+ "",
+ "\0\65",
+ "\0\u008b",
+ "",
+ "",
+ "\1\u008d",
+ "\1\u008e",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u0090",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\u0091",
+ "",
+ "",
+ "",
+ "\1\u0094\1\u0093",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\13\65\1\u0097\6"+
+ "\65\1\u0096\7\65",
+ "\1\u0099\31\uffff\1\u009a",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u009c",
+ "\1\u009d",
+ "\100\u009f\1\u009e\uffbf\u009f",
+ "\1\u00a0",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\u00a2\5\uffff\1\u00a4\11\uffff\1\u00a3",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\3\65\1\u00a5\26"+
+ "\65",
+ "\1\u00a7",
+ "\1\u00a8",
+ "\1\u00a9",
+ "\1\u00aa",
+ "\1\u00ab",
+ "\1\u00ac",
+ "",
+ "",
+ "\1\u00ad",
+ "\1\u00ae",
+ "\1\u00af",
+ "",
+ "\1\u00b0",
+ "\1\u00b1",
+ "\1\u00b2",
+ "\1\u00b3",
+ "\1\u00b4\3\uffff\1\u00b5",
+ "\1\u00b6",
+ "\1\u00b7",
+ "\1\u00b8\14\uffff\1\u00b9\1\u00ba",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u00bc",
+ "\1\u00bd",
+ "\1\u00be",
+ "\1\u00bf",
+ "\1\u00c0",
+ "\1\u00c1",
+ "",
+ "\10\u00c2\2\u0089",
+ "",
+ "\12\u008a",
+ "",
+ "",
+ "\1\u00c3",
+ "\1\u00c4",
+ "",
+ "\1\u00c5",
+ "",
+ "",
+ "\1\u00c6",
+ "",
+ "",
+ "\1\u00c8",
+ "\1\u00c9",
+ "",
+ "\1\u00ca",
+ "\1\u00cb",
+ "",
+ "\1\u00cc",
+ "\1\u00cd",
+ "",
+ "",
+ "",
+ "",
+ "\1\u00ce",
+ "\1\u00cf",
+ "\1\u00d0",
+ "\1\u00d1",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u00d3",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u00d5",
+ "\1\u00d6",
+ "\1\u00d7",
+ "\1\u00d8",
+ "\1\u00d9",
+ "\1\u00da",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u00dc",
+ "\1\u00dd",
+ "\1\u00de",
+ "\1\u00df",
+ "\1\u00e0",
+ "\1\u00e1",
+ "\1\u00e2",
+ "\1\u00e3",
+ "\1\u00e4",
+ "\1\u00e5",
+ "",
+ "\1\u00e6",
+ "\12\65\7\uffff\1\u00e7\31\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u00e9",
+ "\1\u00ea",
+ "\1\u00eb",
+ "\1\u00ec",
+ "\10\u00c2\2\u0089",
+ "\1\u00ee\1\u00f0\2\uffff\1\u00ed\15\uffff\1\u00ef",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "",
+ "",
+ "\1\u00f3",
+ "\1\u00f4",
+ "\1\u00f5",
+ "\1\u00f6",
+ "\1\u00f7",
+ "\1\u00f8",
+ "\1\u00f9",
+ "\1\u00fa",
+ "\1\u00fb",
+ "\1\u00fc",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "",
+ "\1\u00fe",
+ "\1\u00ff",
+ "\1\u0100",
+ "\1\u0101",
+ "\1\u0102",
+ "\1\u0103",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u0105",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u0107",
+ "\1\u0108",
+ "\1\u0109",
+ "\1\u010a",
+ "\1\u010b",
+ "\1\u010c",
+ "\1\u010d",
+ "\1\u010e",
+ "\1\u010f",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u0111",
+ "\1\u0112",
+ "\1\u0113",
+ "\1\u0114",
+ "\1\u0115",
+ "\1\u0116",
+ "\1\u0117",
+ "",
+ "",
+ "\1\u0118",
+ "\1\u0119",
+ "\1\u011a",
+ "\1\u011b",
+ "\1\u011c",
+ "\1\u011d",
+ "\1\u011e",
+ "\1\u011f",
+ "\1\u0120",
+ "\1\u0121",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u0123",
+ "\1\u0124",
+ "\1\u0125",
+ "\1\u0126",
+ "\1\u0127",
+ "",
+ "\1\u0128",
+ "",
+ "\1\u0129",
+ "\1\u012a",
+ "\1\u012b",
+ "\1\u012c",
+ "\1\u012d",
+ "\1\u012e",
+ "\1\u012f",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u0131",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u0134",
+ "\1\u0135",
+ "\1\u0136",
+ "\1\u0137",
+ "\1\u0138",
+ "\1\u0139",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u013b",
+ "\1\u013c",
+ "\1\u013d",
+ "\1\u013e",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u0142",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u0145",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u0147",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u0149",
+ "\1\u014a",
+ "\1\u014b",
+ "\1\u014c",
+ "\1\u014d",
+ "\1\u014e",
+ "\1\u014f",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "",
+ "",
+ "\1\u0151",
+ "\1\u0152",
+ "\1\u0153",
+ "\1\u0154",
+ "\1\u0155",
+ "\1\u0156",
+ "",
+ "\1\u0157",
+ "\1\u0158",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "",
+ "",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "",
+ "",
+ "\1\u015c",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "",
+ "\1\u015e",
+ "\1\u015f",
+ "\1\u0160",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u0163",
+ "\1\u0164",
+ "",
+ "\1\u0165",
+ "\1\u0166",
+ "\1\u0167",
+ "\1\u0168",
+ "\1\u0169",
+ "\1\u016a",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "",
+ "",
+ "",
+ "\1\u016d",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u016f",
+ "\1\u0170",
+ "",
+ "",
+ "\1\u0171",
+ "\1\u0172",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u0174",
+ "\1\u0175",
+ "\1\u0176",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u0178",
+ "",
+ "",
+ "\1\u0179",
+ "",
+ "\1\u017a",
+ "\1\u017b",
+ "\1\u017c",
+ "\1\u017d",
+ "",
+ "\1\u017e",
+ "\1\u017f",
+ "\1\u0180",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u0182",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u0185",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u0187",
+ "\1\u0188",
+ "\1\u0189",
+ "",
+ "\1\u018a",
+ "",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "",
+ "\1\u018c",
+ "\1\u018d",
+ "\1\u018e",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "",
+ "\1\u0190",
+ "\1\u0191",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\u0194",
+ "",
+ "",
+ "\1\u0195",
+ "\1\u0196",
+ "\1\u0197",
+ "\1\u0198",
+ "\1\u0199",
+ "\1\u019a",
+ "\1\u019b",
+ "\1\u019c",
+ "\1\u019d",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ ""
+ };
+
+ static final short[] DFA24_eot = DFA.unpackEncodedString(DFA24_eotS);
+ static final short[] DFA24_eof = DFA.unpackEncodedString(DFA24_eofS);
+ static final char[] DFA24_min = DFA.unpackEncodedStringToUnsignedChars(DFA24_minS);
+ static final char[] DFA24_max = DFA.unpackEncodedStringToUnsignedChars(DFA24_maxS);
+ static final short[] DFA24_accept = DFA.unpackEncodedString(DFA24_acceptS);
+ static final short[] DFA24_special = DFA.unpackEncodedString(DFA24_specialS);
+ static final short[][] DFA24_transition;
+
+ static {
+ int numStates = DFA24_transitionS.length;
+ DFA24_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA24_transition[i] = DFA.unpackEncodedString(DFA24_transitionS[i]);
+ }
+ }
+
+ class DFA24 extends DFA {
+
+ public DFA24(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 24;
+ this.eot = DFA24_eot;
+ this.eof = DFA24_eof;
+ this.min = DFA24_min;
+ this.max = DFA24_max;
+ this.accept = DFA24_accept;
+ this.special = DFA24_special;
+ this.transition = DFA24_transition;
+ }
+ public String getDescription() {
+ return "1:1: Tokens : ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | RULE_INTEGERVALUE | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_INT | RULE_WS | RULE_ANY_OTHER );";
+ }
+ public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+ IntStream input = _input;
+ int _s = s;
+ switch ( s ) {
+ case 0 :
+ int LA24_0 = input.LA(1);
+
+ s = -1;
+ if ( (LA24_0=='t') ) {s = 1;}
+
+ else if ( (LA24_0=='*') ) {s = 2;}
+
+ else if ( (LA24_0=='+') ) {s = 3;}
+
+ else if ( (LA24_0=='-') ) {s = 4;}
+
+ else if ( (LA24_0==':') ) {s = 5;}
+
+ else if ( (LA24_0=='<') ) {s = 6;}
+
+ else if ( (LA24_0==',') ) {s = 7;}
+
+ else if ( (LA24_0=='>') ) {s = 8;}
+
+ else if ( (LA24_0=='=') ) {s = 9;}
+
+ else if ( (LA24_0=='(') ) {s = 10;}
+
+ else if ( (LA24_0==')') ) {s = 11;}
+
+ else if ( (LA24_0=='?') ) {s = 12;}
+
+ else if ( (LA24_0=='|') ) {s = 13;}
+
+ else if ( (LA24_0=='&') ) {s = 14;}
+
+ else if ( (LA24_0=='^') ) {s = 15;}
+
+ else if ( (LA24_0=='!') ) {s = 16;}
+
+ else if ( (LA24_0=='i') ) {s = 17;}
+
+ else if ( (LA24_0=='h') ) {s = 18;}
+
+ else if ( (LA24_0=='/') ) {s = 19;}
+
+ else if ( (LA24_0=='%') ) {s = 20;}
+
+ else if ( (LA24_0=='$') ) {s = 21;}
+
+ else if ( (LA24_0=='~') ) {s = 22;}
+
+ else if ( (LA24_0=='.') ) {s = 23;}
+
+ else if ( (LA24_0=='[') ) {s = 24;}
+
+ else if ( (LA24_0==']') ) {s = 25;}
+
+ else if ( (LA24_0=='r') ) {s = 26;}
+
+ else if ( (LA24_0=='o') ) {s = 27;}
+
+ else if ( (LA24_0=='n') ) {s = 28;}
+
+ else if ( (LA24_0=='s') ) {s = 29;}
+
+ else if ( (LA24_0=='{') ) {s = 30;}
+
+ else if ( (LA24_0=='}') ) {s = 31;}
+
+ else if ( (LA24_0=='a') ) {s = 32;}
+
+ else if ( (LA24_0==';') ) {s = 33;}
+
+ else if ( (LA24_0=='l') ) {s = 34;}
+
+ else if ( (LA24_0=='e') ) {s = 35;}
+
+ else if ( (LA24_0=='c') ) {s = 36;}
+
+ else if ( (LA24_0=='d') ) {s = 37;}
+
+ else if ( (LA24_0=='w') ) {s = 38;}
+
+ else if ( (LA24_0=='f') ) {s = 39;}
+
+ else if ( (LA24_0=='b') ) {s = 40;}
+
+ else if ( (LA24_0=='p') ) {s = 41;}
+
+ else if ( (LA24_0=='0') ) {s = 42;}
+
+ else if ( ((LA24_0>='1' && LA24_0<='9')) ) {s = 43;}
+
+ else if ( ((LA24_0>='A' && LA24_0<='Z')||LA24_0=='_'||LA24_0=='g'||(LA24_0>='j' && LA24_0<='k')||LA24_0=='m'||LA24_0=='q'||(LA24_0>='u' && LA24_0<='v')||(LA24_0>='x' && LA24_0<='z')) ) {s = 44;}
+
+ else if ( (LA24_0=='\'') ) {s = 45;}
+
+ else if ( (LA24_0=='\"') ) {s = 46;}
+
+ else if ( ((LA24_0>='\t' && LA24_0<='\n')||LA24_0=='\r'||LA24_0==' ') ) {s = 47;}
+
+ else if ( ((LA24_0>='\u0000' && LA24_0<='\b')||(LA24_0>='\u000B' && LA24_0<='\f')||(LA24_0>='\u000E' && LA24_0<='\u001F')||LA24_0=='#'||LA24_0=='@'||LA24_0=='\\'||LA24_0=='`'||(LA24_0>='\u007F' && LA24_0<='\uFFFF')) ) {s = 48;}
+
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA24_46 = input.LA(1);
+
+ s = -1;
+ if ( ((LA24_46>='\u0000' && LA24_46<='\uFFFF')) ) {s = 139;}
+
+ else s = 48;
+
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA24_94 = input.LA(1);
+
+ s = -1;
+ if ( (LA24_94=='@') ) {s = 158;}
+
+ else if ( ((LA24_94>='\u0000' && LA24_94<='?')||(LA24_94>='A' && LA24_94<='\uFFFF')) ) {s = 159;}
+
+ if ( s>=0 ) return s;
+ break;
+ case 3 :
+ int LA24_45 = input.LA(1);
+
+ s = -1;
+ if ( ((LA24_45>='\u0000' && LA24_45<='\uFFFF')) ) {s = 53;}
+
+ else s = 48;
+
+ if ( s>=0 ) return s;
+ break;
+ }
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 24, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+
+
+} \ No newline at end of file
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlfParser.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlfParser.java
new file mode 100644
index 00000000000..64f25477f8c
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlfParser.java
@@ -0,0 +1,19636 @@
+package org.eclipse.papyrus.alf.parser.antlr.internal;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.common.util.Enumerator;
+import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
+import org.eclipse.papyrus.alf.services.AlfGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalAlfParser extends AbstractInternalAntlrParser {
+ public static final String[] tokenNames = new String[] {
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INTEGERVALUE", "RULE_STRING", "RULE_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_INT", "RULE_WS", "RULE_ANY_OTHER", "'testExpression'", "'testAssignmentExpression'", "'testStatement'", "'testBlock'", "'*'", "'++'", "'--'", "'::'", "'<'", "','", "'>'", "'=>'", "'('", "')'", "'?'", "':'", "'||'", "'&&'", "'|'", "'^'", "'&'", "'=='", "'!='", "'instanceof'", "'hastype'", "'<='", "'>='", "'<<'", "'>>'", "'>>>'", "'+'", "'-'", "'/'", "'%'", "'!'", "'$'", "'~'", "'.'", "'['", "']'", "'->'", "'reduce'", "'ordered'", "'isUnique'", "'null'", "'this'", "'super'", "'new'", "'{'", "'..'", "'}'", "'allInstances'", "'/*@'", "'inline'", "'*/'", "'//@'", "';'", "'let'", "'='", "'if'", "'else'", "'or'", "'switch'", "'case'", "'default'", "'while'", "'do'", "'for'", "'in'", "'break'", "'return'", "'accept'", "'classify'", "'from'", "'to'", "'true'", "'false'", "'createLink'", "'destroyLink'", "'clearAssoc'", "'select'", "'reject'", "'collect'", "'iterate'", "'forAll'", "'exists'", "'one'", "'isolated'", "'determined'", "'assured'", "'parallel'", "'+='", "'-='", "'*='", "'%='", "'/='", "'&='", "'|='", "'^='", "'<<='", "'>>='", "'>>>='"
+ };
+ public static final int RULE_ID=6;
+ public static final int T__29=29;
+ public static final int T__28=28;
+ public static final int T__27=27;
+ public static final int T__26=26;
+ public static final int T__25=25;
+ public static final int T__24=24;
+ public static final int T__23=23;
+ public static final int T__22=22;
+ public static final int RULE_ANY_OTHER=11;
+ public static final int T__21=21;
+ public static final int T__20=20;
+ public static final int EOF=-1;
+ public static final int T__93=93;
+ public static final int T__19=19;
+ public static final int T__94=94;
+ public static final int T__91=91;
+ public static final int T__92=92;
+ public static final int T__16=16;
+ public static final int T__15=15;
+ public static final int T__90=90;
+ public static final int T__18=18;
+ public static final int T__17=17;
+ public static final int T__12=12;
+ public static final int T__14=14;
+ public static final int T__13=13;
+ public static final int T__99=99;
+ public static final int RULE_INTEGERVALUE=4;
+ public static final int T__98=98;
+ public static final int T__97=97;
+ public static final int T__96=96;
+ public static final int T__95=95;
+ public static final int T__80=80;
+ public static final int T__81=81;
+ public static final int T__82=82;
+ public static final int T__83=83;
+ public static final int T__85=85;
+ public static final int T__84=84;
+ public static final int T__87=87;
+ public static final int T__86=86;
+ public static final int T__89=89;
+ public static final int T__88=88;
+ public static final int RULE_ML_COMMENT=7;
+ public static final int RULE_STRING=5;
+ public static final int T__71=71;
+ public static final int T__72=72;
+ public static final int T__70=70;
+ public static final int T__76=76;
+ public static final int T__75=75;
+ public static final int T__74=74;
+ public static final int T__73=73;
+ public static final int T__79=79;
+ public static final int T__78=78;
+ public static final int T__77=77;
+ public static final int T__68=68;
+ public static final int T__69=69;
+ public static final int T__66=66;
+ public static final int T__67=67;
+ public static final int T__64=64;
+ public static final int T__65=65;
+ public static final int T__62=62;
+ public static final int T__63=63;
+ public static final int T__61=61;
+ public static final int T__60=60;
+ public static final int T__55=55;
+ public static final int T__56=56;
+ public static final int T__57=57;
+ public static final int T__58=58;
+ public static final int T__51=51;
+ public static final int T__52=52;
+ public static final int T__53=53;
+ public static final int T__54=54;
+ public static final int T__107=107;
+ public static final int T__108=108;
+ public static final int T__109=109;
+ public static final int T__103=103;
+ public static final int T__59=59;
+ public static final int T__104=104;
+ public static final int T__105=105;
+ public static final int T__106=106;
+ public static final int T__111=111;
+ public static final int T__110=110;
+ public static final int RULE_INT=9;
+ public static final int T__113=113;
+ public static final int T__112=112;
+ public static final int T__50=50;
+ public static final int T__42=42;
+ public static final int T__43=43;
+ public static final int T__40=40;
+ public static final int T__41=41;
+ public static final int T__46=46;
+ public static final int T__47=47;
+ public static final int T__44=44;
+ public static final int T__45=45;
+ public static final int T__48=48;
+ public static final int T__49=49;
+ public static final int T__102=102;
+ public static final int T__101=101;
+ public static final int T__100=100;
+ public static final int RULE_SL_COMMENT=8;
+ public static final int T__30=30;
+ public static final int T__31=31;
+ public static final int T__32=32;
+ public static final int T__33=33;
+ public static final int T__34=34;
+ public static final int T__35=35;
+ public static final int T__36=36;
+ public static final int T__37=37;
+ public static final int T__38=38;
+ public static final int T__39=39;
+ public static final int RULE_WS=10;
+
+ // delegates
+ // delegators
+
+
+ public InternalAlfParser(TokenStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalAlfParser(TokenStream input, RecognizerSharedState state) {
+ super(input, state);
+
+ }
+
+
+ public String[] getTokenNames() { return InternalAlfParser.tokenNames; }
+ public String getGrammarFileName() { return "../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g"; }
+
+
+
+ private AlfGrammarAccess grammarAccess;
+
+ public InternalAlfParser(TokenStream input, AlfGrammarAccess grammarAccess) {
+ this(input);
+ this.grammarAccess = grammarAccess;
+ registerRules(grammarAccess.getGrammar());
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "Test";
+ }
+
+ @Override
+ protected AlfGrammarAccess getGrammarAccess() {
+ return grammarAccess;
+ }
+
+
+
+ // $ANTLR start "entryRuleTest"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:68:1: entryRuleTest returns [EObject current=null] : iv_ruleTest= ruleTest EOF ;
+ public final EObject entryRuleTest() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTest = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:69:2: (iv_ruleTest= ruleTest EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:70:2: iv_ruleTest= ruleTest EOF
+ {
+ newCompositeNode(grammarAccess.getTestRule());
+ pushFollow(FOLLOW_ruleTest_in_entryRuleTest75);
+ iv_ruleTest=ruleTest();
+
+ state._fsp--;
+
+ current =iv_ruleTest;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTest85);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTest"
+
+
+ // $ANTLR start "ruleTest"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:77:1: ruleTest returns [EObject current=null] : ( (otherlv_0= 'testExpression' ( (lv_expression_1_0= ruleExpression ) ) )* (otherlv_2= 'testAssignmentExpression' ( (lv_assignExpression_3_0= ruleAssignmentCompletion ) ) )* (otherlv_4= 'testStatement' ( (lv_statements_5_0= ruleStatement ) ) )* (otherlv_6= 'testBlock' ( (lv_block_7_0= ruleBlock ) ) ) ) ;
+ public final EObject ruleTest() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ Token otherlv_6=null;
+ EObject lv_expression_1_0 = null;
+
+ EObject lv_assignExpression_3_0 = null;
+
+ EObject lv_statements_5_0 = null;
+
+ EObject lv_block_7_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:80:28: ( ( (otherlv_0= 'testExpression' ( (lv_expression_1_0= ruleExpression ) ) )* (otherlv_2= 'testAssignmentExpression' ( (lv_assignExpression_3_0= ruleAssignmentCompletion ) ) )* (otherlv_4= 'testStatement' ( (lv_statements_5_0= ruleStatement ) ) )* (otherlv_6= 'testBlock' ( (lv_block_7_0= ruleBlock ) ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:81:1: ( (otherlv_0= 'testExpression' ( (lv_expression_1_0= ruleExpression ) ) )* (otherlv_2= 'testAssignmentExpression' ( (lv_assignExpression_3_0= ruleAssignmentCompletion ) ) )* (otherlv_4= 'testStatement' ( (lv_statements_5_0= ruleStatement ) ) )* (otherlv_6= 'testBlock' ( (lv_block_7_0= ruleBlock ) ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:81:1: ( (otherlv_0= 'testExpression' ( (lv_expression_1_0= ruleExpression ) ) )* (otherlv_2= 'testAssignmentExpression' ( (lv_assignExpression_3_0= ruleAssignmentCompletion ) ) )* (otherlv_4= 'testStatement' ( (lv_statements_5_0= ruleStatement ) ) )* (otherlv_6= 'testBlock' ( (lv_block_7_0= ruleBlock ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:81:2: (otherlv_0= 'testExpression' ( (lv_expression_1_0= ruleExpression ) ) )* (otherlv_2= 'testAssignmentExpression' ( (lv_assignExpression_3_0= ruleAssignmentCompletion ) ) )* (otherlv_4= 'testStatement' ( (lv_statements_5_0= ruleStatement ) ) )* (otherlv_6= 'testBlock' ( (lv_block_7_0= ruleBlock ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:81:2: (otherlv_0= 'testExpression' ( (lv_expression_1_0= ruleExpression ) ) )*
+ loop1:
+ do {
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==12) ) {
+ alt1=1;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:81:4: otherlv_0= 'testExpression' ( (lv_expression_1_0= ruleExpression ) )
+ {
+ otherlv_0=(Token)match(input,12,FOLLOW_12_in_ruleTest123);
+
+ newLeafNode(otherlv_0, grammarAccess.getTestAccess().getTestExpressionKeyword_0_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:85:1: ( (lv_expression_1_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:86:1: (lv_expression_1_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:86:1: (lv_expression_1_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:87:3: lv_expression_1_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getTestAccess().getExpressionExpressionParserRuleCall_0_1_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleTest144);
+ lv_expression_1_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTestRule());
+ }
+ add(
+ current,
+ "expression",
+ lv_expression_1_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop1;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:103:4: (otherlv_2= 'testAssignmentExpression' ( (lv_assignExpression_3_0= ruleAssignmentCompletion ) ) )*
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0==13) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:103:6: otherlv_2= 'testAssignmentExpression' ( (lv_assignExpression_3_0= ruleAssignmentCompletion ) )
+ {
+ otherlv_2=(Token)match(input,13,FOLLOW_13_in_ruleTest159);
+
+ newLeafNode(otherlv_2, grammarAccess.getTestAccess().getTestAssignmentExpressionKeyword_1_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:107:1: ( (lv_assignExpression_3_0= ruleAssignmentCompletion ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:108:1: (lv_assignExpression_3_0= ruleAssignmentCompletion )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:108:1: (lv_assignExpression_3_0= ruleAssignmentCompletion )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:109:3: lv_assignExpression_3_0= ruleAssignmentCompletion
+ {
+
+ newCompositeNode(grammarAccess.getTestAccess().getAssignExpressionAssignmentCompletionParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleAssignmentCompletion_in_ruleTest180);
+ lv_assignExpression_3_0=ruleAssignmentCompletion();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTestRule());
+ }
+ add(
+ current,
+ "assignExpression",
+ lv_assignExpression_3_0,
+ "AssignmentCompletion");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:125:4: (otherlv_4= 'testStatement' ( (lv_statements_5_0= ruleStatement ) ) )*
+ loop3:
+ do {
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0==14) ) {
+ alt3=1;
+ }
+
+
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:125:6: otherlv_4= 'testStatement' ( (lv_statements_5_0= ruleStatement ) )
+ {
+ otherlv_4=(Token)match(input,14,FOLLOW_14_in_ruleTest195);
+
+ newLeafNode(otherlv_4, grammarAccess.getTestAccess().getTestStatementKeyword_2_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:129:1: ( (lv_statements_5_0= ruleStatement ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:130:1: (lv_statements_5_0= ruleStatement )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:130:1: (lv_statements_5_0= ruleStatement )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:131:3: lv_statements_5_0= ruleStatement
+ {
+
+ newCompositeNode(grammarAccess.getTestAccess().getStatementsStatementParserRuleCall_2_1_0());
+
+ pushFollow(FOLLOW_ruleStatement_in_ruleTest216);
+ lv_statements_5_0=ruleStatement();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTestRule());
+ }
+ add(
+ current,
+ "statements",
+ lv_statements_5_0,
+ "Statement");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop3;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:147:4: (otherlv_6= 'testBlock' ( (lv_block_7_0= ruleBlock ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:147:6: otherlv_6= 'testBlock' ( (lv_block_7_0= ruleBlock ) )
+ {
+ otherlv_6=(Token)match(input,15,FOLLOW_15_in_ruleTest231);
+
+ newLeafNode(otherlv_6, grammarAccess.getTestAccess().getTestBlockKeyword_3_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:151:1: ( (lv_block_7_0= ruleBlock ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:152:1: (lv_block_7_0= ruleBlock )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:152:1: (lv_block_7_0= ruleBlock )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:153:3: lv_block_7_0= ruleBlock
+ {
+
+ newCompositeNode(grammarAccess.getTestAccess().getBlockBlockParserRuleCall_3_1_0());
+
+ pushFollow(FOLLOW_ruleBlock_in_ruleTest252);
+ lv_block_7_0=ruleBlock();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTestRule());
+ }
+ set(
+ current,
+ "block",
+ lv_block_7_0,
+ "Block");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTest"
+
+
+ // $ANTLR start "entryRuleLITERAL"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:177:1: entryRuleLITERAL returns [EObject current=null] : iv_ruleLITERAL= ruleLITERAL EOF ;
+ public final EObject entryRuleLITERAL() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleLITERAL = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:178:2: (iv_ruleLITERAL= ruleLITERAL EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:179:2: iv_ruleLITERAL= ruleLITERAL EOF
+ {
+ newCompositeNode(grammarAccess.getLITERALRule());
+ pushFollow(FOLLOW_ruleLITERAL_in_entryRuleLITERAL289);
+ iv_ruleLITERAL=ruleLITERAL();
+
+ state._fsp--;
+
+ current =iv_ruleLITERAL;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleLITERAL299);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleLITERAL"
+
+
+ // $ANTLR start "ruleLITERAL"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:186:1: ruleLITERAL returns [EObject current=null] : (this_BOOLEAN_LITERAL_0= ruleBOOLEAN_LITERAL | this_NUMBER_LITERAL_1= ruleNUMBER_LITERAL | this_STRING_LITERAL_2= ruleSTRING_LITERAL ) ;
+ public final EObject ruleLITERAL() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_BOOLEAN_LITERAL_0 = null;
+
+ EObject this_NUMBER_LITERAL_1 = null;
+
+ EObject this_STRING_LITERAL_2 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:189:28: ( (this_BOOLEAN_LITERAL_0= ruleBOOLEAN_LITERAL | this_NUMBER_LITERAL_1= ruleNUMBER_LITERAL | this_STRING_LITERAL_2= ruleSTRING_LITERAL ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:190:1: (this_BOOLEAN_LITERAL_0= ruleBOOLEAN_LITERAL | this_NUMBER_LITERAL_1= ruleNUMBER_LITERAL | this_STRING_LITERAL_2= ruleSTRING_LITERAL )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:190:1: (this_BOOLEAN_LITERAL_0= ruleBOOLEAN_LITERAL | this_NUMBER_LITERAL_1= ruleNUMBER_LITERAL | this_STRING_LITERAL_2= ruleSTRING_LITERAL )
+ int alt4=3;
+ switch ( input.LA(1) ) {
+ case 87:
+ case 88:
+ {
+ alt4=1;
+ }
+ break;
+ case RULE_INTEGERVALUE:
+ case 16:
+ {
+ alt4=2;
+ }
+ break;
+ case RULE_STRING:
+ {
+ alt4=3;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 4, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:191:5: this_BOOLEAN_LITERAL_0= ruleBOOLEAN_LITERAL
+ {
+
+ newCompositeNode(grammarAccess.getLITERALAccess().getBOOLEAN_LITERALParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleBOOLEAN_LITERAL_in_ruleLITERAL346);
+ this_BOOLEAN_LITERAL_0=ruleBOOLEAN_LITERAL();
+
+ state._fsp--;
+
+
+ current = this_BOOLEAN_LITERAL_0;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:201:5: this_NUMBER_LITERAL_1= ruleNUMBER_LITERAL
+ {
+
+ newCompositeNode(grammarAccess.getLITERALAccess().getNUMBER_LITERALParserRuleCall_1());
+
+ pushFollow(FOLLOW_ruleNUMBER_LITERAL_in_ruleLITERAL373);
+ this_NUMBER_LITERAL_1=ruleNUMBER_LITERAL();
+
+ state._fsp--;
+
+
+ current = this_NUMBER_LITERAL_1;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:211:5: this_STRING_LITERAL_2= ruleSTRING_LITERAL
+ {
+
+ newCompositeNode(grammarAccess.getLITERALAccess().getSTRING_LITERALParserRuleCall_2());
+
+ pushFollow(FOLLOW_ruleSTRING_LITERAL_in_ruleLITERAL400);
+ this_STRING_LITERAL_2=ruleSTRING_LITERAL();
+
+ state._fsp--;
+
+
+ current = this_STRING_LITERAL_2;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleLITERAL"
+
+
+ // $ANTLR start "entryRuleBOOLEAN_LITERAL"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:227:1: entryRuleBOOLEAN_LITERAL returns [EObject current=null] : iv_ruleBOOLEAN_LITERAL= ruleBOOLEAN_LITERAL EOF ;
+ public final EObject entryRuleBOOLEAN_LITERAL() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleBOOLEAN_LITERAL = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:228:2: (iv_ruleBOOLEAN_LITERAL= ruleBOOLEAN_LITERAL EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:229:2: iv_ruleBOOLEAN_LITERAL= ruleBOOLEAN_LITERAL EOF
+ {
+ newCompositeNode(grammarAccess.getBOOLEAN_LITERALRule());
+ pushFollow(FOLLOW_ruleBOOLEAN_LITERAL_in_entryRuleBOOLEAN_LITERAL435);
+ iv_ruleBOOLEAN_LITERAL=ruleBOOLEAN_LITERAL();
+
+ state._fsp--;
+
+ current =iv_ruleBOOLEAN_LITERAL;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleBOOLEAN_LITERAL445);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleBOOLEAN_LITERAL"
+
+
+ // $ANTLR start "ruleBOOLEAN_LITERAL"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:236:1: ruleBOOLEAN_LITERAL returns [EObject current=null] : ( (lv_value_0_0= ruleBooleanValue ) ) ;
+ public final EObject ruleBOOLEAN_LITERAL() throws RecognitionException {
+ EObject current = null;
+
+ Enumerator lv_value_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:239:28: ( ( (lv_value_0_0= ruleBooleanValue ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:240:1: ( (lv_value_0_0= ruleBooleanValue ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:240:1: ( (lv_value_0_0= ruleBooleanValue ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:241:1: (lv_value_0_0= ruleBooleanValue )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:241:1: (lv_value_0_0= ruleBooleanValue )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:242:3: lv_value_0_0= ruleBooleanValue
+ {
+
+ newCompositeNode(grammarAccess.getBOOLEAN_LITERALAccess().getValueBooleanValueEnumRuleCall_0());
+
+ pushFollow(FOLLOW_ruleBooleanValue_in_ruleBOOLEAN_LITERAL490);
+ lv_value_0_0=ruleBooleanValue();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getBOOLEAN_LITERALRule());
+ }
+ set(
+ current,
+ "value",
+ lv_value_0_0,
+ "BooleanValue");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleBOOLEAN_LITERAL"
+
+
+ // $ANTLR start "entryRuleNUMBER_LITERAL"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:266:1: entryRuleNUMBER_LITERAL returns [EObject current=null] : iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF ;
+ public final EObject entryRuleNUMBER_LITERAL() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNUMBER_LITERAL = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:267:2: (iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:268:2: iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF
+ {
+ newCompositeNode(grammarAccess.getNUMBER_LITERALRule());
+ pushFollow(FOLLOW_ruleNUMBER_LITERAL_in_entryRuleNUMBER_LITERAL525);
+ iv_ruleNUMBER_LITERAL=ruleNUMBER_LITERAL();
+
+ state._fsp--;
+
+ current =iv_ruleNUMBER_LITERAL;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNUMBER_LITERAL535);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNUMBER_LITERAL"
+
+
+ // $ANTLR start "ruleNUMBER_LITERAL"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:275:1: ruleNUMBER_LITERAL returns [EObject current=null] : (this_INTEGER_LITERAL_0= ruleINTEGER_LITERAL | this_UNLIMITED_LITERAL_1= ruleUNLIMITED_LITERAL ) ;
+ public final EObject ruleNUMBER_LITERAL() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_INTEGER_LITERAL_0 = null;
+
+ EObject this_UNLIMITED_LITERAL_1 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:278:28: ( (this_INTEGER_LITERAL_0= ruleINTEGER_LITERAL | this_UNLIMITED_LITERAL_1= ruleUNLIMITED_LITERAL ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:279:1: (this_INTEGER_LITERAL_0= ruleINTEGER_LITERAL | this_UNLIMITED_LITERAL_1= ruleUNLIMITED_LITERAL )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:279:1: (this_INTEGER_LITERAL_0= ruleINTEGER_LITERAL | this_UNLIMITED_LITERAL_1= ruleUNLIMITED_LITERAL )
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0==RULE_INTEGERVALUE) ) {
+ alt5=1;
+ }
+ else if ( (LA5_0==16) ) {
+ alt5=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 5, 0, input);
+
+ throw nvae;
+ }
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:280:5: this_INTEGER_LITERAL_0= ruleINTEGER_LITERAL
+ {
+
+ newCompositeNode(grammarAccess.getNUMBER_LITERALAccess().getINTEGER_LITERALParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleINTEGER_LITERAL_in_ruleNUMBER_LITERAL582);
+ this_INTEGER_LITERAL_0=ruleINTEGER_LITERAL();
+
+ state._fsp--;
+
+
+ current = this_INTEGER_LITERAL_0;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:290:5: this_UNLIMITED_LITERAL_1= ruleUNLIMITED_LITERAL
+ {
+
+ newCompositeNode(grammarAccess.getNUMBER_LITERALAccess().getUNLIMITED_LITERALParserRuleCall_1());
+
+ pushFollow(FOLLOW_ruleUNLIMITED_LITERAL_in_ruleNUMBER_LITERAL609);
+ this_UNLIMITED_LITERAL_1=ruleUNLIMITED_LITERAL();
+
+ state._fsp--;
+
+
+ current = this_UNLIMITED_LITERAL_1;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNUMBER_LITERAL"
+
+
+ // $ANTLR start "entryRuleINTEGER_LITERAL"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:306:1: entryRuleINTEGER_LITERAL returns [EObject current=null] : iv_ruleINTEGER_LITERAL= ruleINTEGER_LITERAL EOF ;
+ public final EObject entryRuleINTEGER_LITERAL() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleINTEGER_LITERAL = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:307:2: (iv_ruleINTEGER_LITERAL= ruleINTEGER_LITERAL EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:308:2: iv_ruleINTEGER_LITERAL= ruleINTEGER_LITERAL EOF
+ {
+ newCompositeNode(grammarAccess.getINTEGER_LITERALRule());
+ pushFollow(FOLLOW_ruleINTEGER_LITERAL_in_entryRuleINTEGER_LITERAL644);
+ iv_ruleINTEGER_LITERAL=ruleINTEGER_LITERAL();
+
+ state._fsp--;
+
+ current =iv_ruleINTEGER_LITERAL;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleINTEGER_LITERAL654);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleINTEGER_LITERAL"
+
+
+ // $ANTLR start "ruleINTEGER_LITERAL"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:315:1: ruleINTEGER_LITERAL returns [EObject current=null] : ( (lv_value_0_0= RULE_INTEGERVALUE ) ) ;
+ public final EObject ruleINTEGER_LITERAL() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_0_0=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:318:28: ( ( (lv_value_0_0= RULE_INTEGERVALUE ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:319:1: ( (lv_value_0_0= RULE_INTEGERVALUE ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:319:1: ( (lv_value_0_0= RULE_INTEGERVALUE ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:320:1: (lv_value_0_0= RULE_INTEGERVALUE )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:320:1: (lv_value_0_0= RULE_INTEGERVALUE )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:321:3: lv_value_0_0= RULE_INTEGERVALUE
+ {
+ lv_value_0_0=(Token)match(input,RULE_INTEGERVALUE,FOLLOW_RULE_INTEGERVALUE_in_ruleINTEGER_LITERAL695);
+
+ newLeafNode(lv_value_0_0, grammarAccess.getINTEGER_LITERALAccess().getValueIntegerValueTerminalRuleCall_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getINTEGER_LITERALRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_0_0,
+ "IntegerValue");
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleINTEGER_LITERAL"
+
+
+ // $ANTLR start "entryRuleUNLIMITED_LITERAL"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:345:1: entryRuleUNLIMITED_LITERAL returns [EObject current=null] : iv_ruleUNLIMITED_LITERAL= ruleUNLIMITED_LITERAL EOF ;
+ public final EObject entryRuleUNLIMITED_LITERAL() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleUNLIMITED_LITERAL = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:346:2: (iv_ruleUNLIMITED_LITERAL= ruleUNLIMITED_LITERAL EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:347:2: iv_ruleUNLIMITED_LITERAL= ruleUNLIMITED_LITERAL EOF
+ {
+ newCompositeNode(grammarAccess.getUNLIMITED_LITERALRule());
+ pushFollow(FOLLOW_ruleUNLIMITED_LITERAL_in_entryRuleUNLIMITED_LITERAL735);
+ iv_ruleUNLIMITED_LITERAL=ruleUNLIMITED_LITERAL();
+
+ state._fsp--;
+
+ current =iv_ruleUNLIMITED_LITERAL;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleUNLIMITED_LITERAL745);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleUNLIMITED_LITERAL"
+
+
+ // $ANTLR start "ruleUNLIMITED_LITERAL"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:354:1: ruleUNLIMITED_LITERAL returns [EObject current=null] : ( (lv_value_0_0= '*' ) ) ;
+ public final EObject ruleUNLIMITED_LITERAL() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_0_0=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:357:28: ( ( (lv_value_0_0= '*' ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:358:1: ( (lv_value_0_0= '*' ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:358:1: ( (lv_value_0_0= '*' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:359:1: (lv_value_0_0= '*' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:359:1: (lv_value_0_0= '*' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:360:3: lv_value_0_0= '*'
+ {
+ lv_value_0_0=(Token)match(input,16,FOLLOW_16_in_ruleUNLIMITED_LITERAL787);
+
+ newLeafNode(lv_value_0_0, grammarAccess.getUNLIMITED_LITERALAccess().getValueAsteriskKeyword_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getUNLIMITED_LITERALRule());
+ }
+ setWithLastConsumed(current, "value", lv_value_0_0, "*");
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleUNLIMITED_LITERAL"
+
+
+ // $ANTLR start "entryRuleSTRING_LITERAL"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:381:1: entryRuleSTRING_LITERAL returns [EObject current=null] : iv_ruleSTRING_LITERAL= ruleSTRING_LITERAL EOF ;
+ public final EObject entryRuleSTRING_LITERAL() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSTRING_LITERAL = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:382:2: (iv_ruleSTRING_LITERAL= ruleSTRING_LITERAL EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:383:2: iv_ruleSTRING_LITERAL= ruleSTRING_LITERAL EOF
+ {
+ newCompositeNode(grammarAccess.getSTRING_LITERALRule());
+ pushFollow(FOLLOW_ruleSTRING_LITERAL_in_entryRuleSTRING_LITERAL835);
+ iv_ruleSTRING_LITERAL=ruleSTRING_LITERAL();
+
+ state._fsp--;
+
+ current =iv_ruleSTRING_LITERAL;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSTRING_LITERAL845);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSTRING_LITERAL"
+
+
+ // $ANTLR start "ruleSTRING_LITERAL"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:390:1: ruleSTRING_LITERAL returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ;
+ public final EObject ruleSTRING_LITERAL() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_0_0=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:393:28: ( ( (lv_value_0_0= RULE_STRING ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:394:1: ( (lv_value_0_0= RULE_STRING ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:394:1: ( (lv_value_0_0= RULE_STRING ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:395:1: (lv_value_0_0= RULE_STRING )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:395:1: (lv_value_0_0= RULE_STRING )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:396:3: lv_value_0_0= RULE_STRING
+ {
+ lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleSTRING_LITERAL886);
+
+ newLeafNode(lv_value_0_0, grammarAccess.getSTRING_LITERALAccess().getValueSTRINGTerminalRuleCall_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getSTRING_LITERALRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_0_0,
+ "STRING");
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSTRING_LITERAL"
+
+
+ // $ANTLR start "entryRuleNameExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:420:1: entryRuleNameExpression returns [EObject current=null] : iv_ruleNameExpression= ruleNameExpression EOF ;
+ public final EObject entryRuleNameExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNameExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:421:2: (iv_ruleNameExpression= ruleNameExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:422:2: iv_ruleNameExpression= ruleNameExpression EOF
+ {
+ newCompositeNode(grammarAccess.getNameExpressionRule());
+ pushFollow(FOLLOW_ruleNameExpression_in_entryRuleNameExpression926);
+ iv_ruleNameExpression=ruleNameExpression();
+
+ state._fsp--;
+
+ current =iv_ruleNameExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNameExpression936);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNameExpression"
+
+
+ // $ANTLR start "ruleNameExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:429:1: ruleNameExpression returns [EObject current=null] : ( ( ( ( ( (lv_prefixOp_0_1= '++' | lv_prefixOp_0_2= '--' ) ) ) ( (lv_path_1_0= ruleQualifiedNamePath ) )? ( (lv_id_2_0= RULE_ID ) ) ) | ( ( (lv_path_3_0= ruleQualifiedNamePath ) )? ( (lv_id_4_0= RULE_ID ) ) ( ( (lv_invocationCompletion_5_0= ruleTuple ) ) | ( (lv_sequenceConstructionCompletion_6_0= ruleSequenceConstructionOrAccessCompletion ) ) | ( ( (lv_postfixOp_7_1= '++' | lv_postfixOp_7_2= '--' ) ) ) )? ) ) ( (lv_suffix_8_0= ruleSuffixExpression ) )? ) ;
+ public final EObject ruleNameExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_prefixOp_0_1=null;
+ Token lv_prefixOp_0_2=null;
+ Token lv_id_2_0=null;
+ Token lv_id_4_0=null;
+ Token lv_postfixOp_7_1=null;
+ Token lv_postfixOp_7_2=null;
+ EObject lv_path_1_0 = null;
+
+ EObject lv_path_3_0 = null;
+
+ EObject lv_invocationCompletion_5_0 = null;
+
+ EObject lv_sequenceConstructionCompletion_6_0 = null;
+
+ EObject lv_suffix_8_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:432:28: ( ( ( ( ( ( (lv_prefixOp_0_1= '++' | lv_prefixOp_0_2= '--' ) ) ) ( (lv_path_1_0= ruleQualifiedNamePath ) )? ( (lv_id_2_0= RULE_ID ) ) ) | ( ( (lv_path_3_0= ruleQualifiedNamePath ) )? ( (lv_id_4_0= RULE_ID ) ) ( ( (lv_invocationCompletion_5_0= ruleTuple ) ) | ( (lv_sequenceConstructionCompletion_6_0= ruleSequenceConstructionOrAccessCompletion ) ) | ( ( (lv_postfixOp_7_1= '++' | lv_postfixOp_7_2= '--' ) ) ) )? ) ) ( (lv_suffix_8_0= ruleSuffixExpression ) )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:433:1: ( ( ( ( ( (lv_prefixOp_0_1= '++' | lv_prefixOp_0_2= '--' ) ) ) ( (lv_path_1_0= ruleQualifiedNamePath ) )? ( (lv_id_2_0= RULE_ID ) ) ) | ( ( (lv_path_3_0= ruleQualifiedNamePath ) )? ( (lv_id_4_0= RULE_ID ) ) ( ( (lv_invocationCompletion_5_0= ruleTuple ) ) | ( (lv_sequenceConstructionCompletion_6_0= ruleSequenceConstructionOrAccessCompletion ) ) | ( ( (lv_postfixOp_7_1= '++' | lv_postfixOp_7_2= '--' ) ) ) )? ) ) ( (lv_suffix_8_0= ruleSuffixExpression ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:433:1: ( ( ( ( ( (lv_prefixOp_0_1= '++' | lv_prefixOp_0_2= '--' ) ) ) ( (lv_path_1_0= ruleQualifiedNamePath ) )? ( (lv_id_2_0= RULE_ID ) ) ) | ( ( (lv_path_3_0= ruleQualifiedNamePath ) )? ( (lv_id_4_0= RULE_ID ) ) ( ( (lv_invocationCompletion_5_0= ruleTuple ) ) | ( (lv_sequenceConstructionCompletion_6_0= ruleSequenceConstructionOrAccessCompletion ) ) | ( ( (lv_postfixOp_7_1= '++' | lv_postfixOp_7_2= '--' ) ) ) )? ) ) ( (lv_suffix_8_0= ruleSuffixExpression ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:433:2: ( ( ( ( (lv_prefixOp_0_1= '++' | lv_prefixOp_0_2= '--' ) ) ) ( (lv_path_1_0= ruleQualifiedNamePath ) )? ( (lv_id_2_0= RULE_ID ) ) ) | ( ( (lv_path_3_0= ruleQualifiedNamePath ) )? ( (lv_id_4_0= RULE_ID ) ) ( ( (lv_invocationCompletion_5_0= ruleTuple ) ) | ( (lv_sequenceConstructionCompletion_6_0= ruleSequenceConstructionOrAccessCompletion ) ) | ( ( (lv_postfixOp_7_1= '++' | lv_postfixOp_7_2= '--' ) ) ) )? ) ) ( (lv_suffix_8_0= ruleSuffixExpression ) )?
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:433:2: ( ( ( ( (lv_prefixOp_0_1= '++' | lv_prefixOp_0_2= '--' ) ) ) ( (lv_path_1_0= ruleQualifiedNamePath ) )? ( (lv_id_2_0= RULE_ID ) ) ) | ( ( (lv_path_3_0= ruleQualifiedNamePath ) )? ( (lv_id_4_0= RULE_ID ) ) ( ( (lv_invocationCompletion_5_0= ruleTuple ) ) | ( (lv_sequenceConstructionCompletion_6_0= ruleSequenceConstructionOrAccessCompletion ) ) | ( ( (lv_postfixOp_7_1= '++' | lv_postfixOp_7_2= '--' ) ) ) )? ) )
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( ((LA11_0>=17 && LA11_0<=18)) ) {
+ alt11=1;
+ }
+ else if ( (LA11_0==RULE_ID) ) {
+ alt11=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 11, 0, input);
+
+ throw nvae;
+ }
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:433:3: ( ( ( (lv_prefixOp_0_1= '++' | lv_prefixOp_0_2= '--' ) ) ) ( (lv_path_1_0= ruleQualifiedNamePath ) )? ( (lv_id_2_0= RULE_ID ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:433:3: ( ( ( (lv_prefixOp_0_1= '++' | lv_prefixOp_0_2= '--' ) ) ) ( (lv_path_1_0= ruleQualifiedNamePath ) )? ( (lv_id_2_0= RULE_ID ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:433:4: ( ( (lv_prefixOp_0_1= '++' | lv_prefixOp_0_2= '--' ) ) ) ( (lv_path_1_0= ruleQualifiedNamePath ) )? ( (lv_id_2_0= RULE_ID ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:433:4: ( ( (lv_prefixOp_0_1= '++' | lv_prefixOp_0_2= '--' ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:434:1: ( (lv_prefixOp_0_1= '++' | lv_prefixOp_0_2= '--' ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:434:1: ( (lv_prefixOp_0_1= '++' | lv_prefixOp_0_2= '--' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:435:1: (lv_prefixOp_0_1= '++' | lv_prefixOp_0_2= '--' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:435:1: (lv_prefixOp_0_1= '++' | lv_prefixOp_0_2= '--' )
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0==17) ) {
+ alt6=1;
+ }
+ else if ( (LA6_0==18) ) {
+ alt6=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 6, 0, input);
+
+ throw nvae;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:436:3: lv_prefixOp_0_1= '++'
+ {
+ lv_prefixOp_0_1=(Token)match(input,17,FOLLOW_17_in_ruleNameExpression983);
+
+ newLeafNode(lv_prefixOp_0_1, grammarAccess.getNameExpressionAccess().getPrefixOpPlusSignPlusSignKeyword_0_0_0_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getNameExpressionRule());
+ }
+ setWithLastConsumed(current, "prefixOp", lv_prefixOp_0_1, null);
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:448:8: lv_prefixOp_0_2= '--'
+ {
+ lv_prefixOp_0_2=(Token)match(input,18,FOLLOW_18_in_ruleNameExpression1012);
+
+ newLeafNode(lv_prefixOp_0_2, grammarAccess.getNameExpressionAccess().getPrefixOpHyphenMinusHyphenMinusKeyword_0_0_0_0_1());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getNameExpressionRule());
+ }
+ setWithLastConsumed(current, "prefixOp", lv_prefixOp_0_2, null);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:463:2: ( (lv_path_1_0= ruleQualifiedNamePath ) )?
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0==RULE_ID) ) {
+ int LA7_1 = input.LA(2);
+
+ if ( (LA7_1==20) ) {
+ int LA7_3 = input.LA(3);
+
+ if ( (LA7_3==RULE_ID) ) {
+ int LA7_5 = input.LA(4);
+
+ if ( (LA7_5==23) ) {
+ alt7=1;
+ }
+ }
+ }
+ else if ( (LA7_1==19) ) {
+ alt7=1;
+ }
+ }
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:464:1: (lv_path_1_0= ruleQualifiedNamePath )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:464:1: (lv_path_1_0= ruleQualifiedNamePath )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:465:3: lv_path_1_0= ruleQualifiedNamePath
+ {
+
+ newCompositeNode(grammarAccess.getNameExpressionAccess().getPathQualifiedNamePathParserRuleCall_0_0_1_0());
+
+ pushFollow(FOLLOW_ruleQualifiedNamePath_in_ruleNameExpression1049);
+ lv_path_1_0=ruleQualifiedNamePath();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNameExpressionRule());
+ }
+ set(
+ current,
+ "path",
+ lv_path_1_0,
+ "QualifiedNamePath");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:481:3: ( (lv_id_2_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:482:1: (lv_id_2_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:482:1: (lv_id_2_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:483:3: lv_id_2_0= RULE_ID
+ {
+ lv_id_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleNameExpression1067);
+
+ newLeafNode(lv_id_2_0, grammarAccess.getNameExpressionAccess().getIdIDTerminalRuleCall_0_0_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getNameExpressionRule());
+ }
+ setWithLastConsumed(
+ current,
+ "id",
+ lv_id_2_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:500:6: ( ( (lv_path_3_0= ruleQualifiedNamePath ) )? ( (lv_id_4_0= RULE_ID ) ) ( ( (lv_invocationCompletion_5_0= ruleTuple ) ) | ( (lv_sequenceConstructionCompletion_6_0= ruleSequenceConstructionOrAccessCompletion ) ) | ( ( (lv_postfixOp_7_1= '++' | lv_postfixOp_7_2= '--' ) ) ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:500:6: ( ( (lv_path_3_0= ruleQualifiedNamePath ) )? ( (lv_id_4_0= RULE_ID ) ) ( ( (lv_invocationCompletion_5_0= ruleTuple ) ) | ( (lv_sequenceConstructionCompletion_6_0= ruleSequenceConstructionOrAccessCompletion ) ) | ( ( (lv_postfixOp_7_1= '++' | lv_postfixOp_7_2= '--' ) ) ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:500:7: ( (lv_path_3_0= ruleQualifiedNamePath ) )? ( (lv_id_4_0= RULE_ID ) ) ( ( (lv_invocationCompletion_5_0= ruleTuple ) ) | ( (lv_sequenceConstructionCompletion_6_0= ruleSequenceConstructionOrAccessCompletion ) ) | ( ( (lv_postfixOp_7_1= '++' | lv_postfixOp_7_2= '--' ) ) ) )?
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:500:7: ( (lv_path_3_0= ruleQualifiedNamePath ) )?
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0==RULE_ID) ) {
+ int LA8_1 = input.LA(2);
+
+ if ( (LA8_1==20) ) {
+ int LA8_3 = input.LA(3);
+
+ if ( (LA8_3==RULE_ID) ) {
+ int LA8_5 = input.LA(4);
+
+ if ( (LA8_5==23) ) {
+ alt8=1;
+ }
+ }
+ }
+ else if ( (LA8_1==19) ) {
+ alt8=1;
+ }
+ }
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:501:1: (lv_path_3_0= ruleQualifiedNamePath )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:501:1: (lv_path_3_0= ruleQualifiedNamePath )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:502:3: lv_path_3_0= ruleQualifiedNamePath
+ {
+
+ newCompositeNode(grammarAccess.getNameExpressionAccess().getPathQualifiedNamePathParserRuleCall_0_1_0_0());
+
+ pushFollow(FOLLOW_ruleQualifiedNamePath_in_ruleNameExpression1101);
+ lv_path_3_0=ruleQualifiedNamePath();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNameExpressionRule());
+ }
+ set(
+ current,
+ "path",
+ lv_path_3_0,
+ "QualifiedNamePath");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:518:3: ( (lv_id_4_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:519:1: (lv_id_4_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:519:1: (lv_id_4_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:520:3: lv_id_4_0= RULE_ID
+ {
+ lv_id_4_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleNameExpression1119);
+
+ newLeafNode(lv_id_4_0, grammarAccess.getNameExpressionAccess().getIdIDTerminalRuleCall_0_1_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getNameExpressionRule());
+ }
+ setWithLastConsumed(
+ current,
+ "id",
+ lv_id_4_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:536:2: ( ( (lv_invocationCompletion_5_0= ruleTuple ) ) | ( (lv_sequenceConstructionCompletion_6_0= ruleSequenceConstructionOrAccessCompletion ) ) | ( ( (lv_postfixOp_7_1= '++' | lv_postfixOp_7_2= '--' ) ) ) )?
+ int alt10=4;
+ switch ( input.LA(1) ) {
+ case 24:
+ {
+ alt10=1;
+ }
+ break;
+ case 50:
+ {
+ int LA10_2 = input.LA(2);
+
+ if ( ((LA10_2>=RULE_INTEGERVALUE && LA10_2<=RULE_ID)||(LA10_2>=16 && LA10_2<=18)||LA10_2==24||(LA10_2>=42 && LA10_2<=43)||(LA10_2>=46 && LA10_2<=48)||(LA10_2>=56 && LA10_2<=59)||(LA10_2>=87 && LA10_2<=88)) ) {
+ alt10=2;
+ }
+ else if ( (LA10_2==51) ) {
+ int LA10_6 = input.LA(3);
+
+ if ( (LA10_6==60) ) {
+ alt10=2;
+ }
+ }
+ }
+ break;
+ case 60:
+ {
+ alt10=2;
+ }
+ break;
+ case 17:
+ case 18:
+ {
+ alt10=3;
+ }
+ break;
+ }
+
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:536:3: ( (lv_invocationCompletion_5_0= ruleTuple ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:536:3: ( (lv_invocationCompletion_5_0= ruleTuple ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:537:1: (lv_invocationCompletion_5_0= ruleTuple )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:537:1: (lv_invocationCompletion_5_0= ruleTuple )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:538:3: lv_invocationCompletion_5_0= ruleTuple
+ {
+
+ newCompositeNode(grammarAccess.getNameExpressionAccess().getInvocationCompletionTupleParserRuleCall_0_1_2_0_0());
+
+ pushFollow(FOLLOW_ruleTuple_in_ruleNameExpression1146);
+ lv_invocationCompletion_5_0=ruleTuple();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNameExpressionRule());
+ }
+ set(
+ current,
+ "invocationCompletion",
+ lv_invocationCompletion_5_0,
+ "Tuple");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:555:6: ( (lv_sequenceConstructionCompletion_6_0= ruleSequenceConstructionOrAccessCompletion ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:555:6: ( (lv_sequenceConstructionCompletion_6_0= ruleSequenceConstructionOrAccessCompletion ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:556:1: (lv_sequenceConstructionCompletion_6_0= ruleSequenceConstructionOrAccessCompletion )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:556:1: (lv_sequenceConstructionCompletion_6_0= ruleSequenceConstructionOrAccessCompletion )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:557:3: lv_sequenceConstructionCompletion_6_0= ruleSequenceConstructionOrAccessCompletion
+ {
+
+ newCompositeNode(grammarAccess.getNameExpressionAccess().getSequenceConstructionCompletionSequenceConstructionOrAccessCompletionParserRuleCall_0_1_2_1_0());
+
+ pushFollow(FOLLOW_ruleSequenceConstructionOrAccessCompletion_in_ruleNameExpression1173);
+ lv_sequenceConstructionCompletion_6_0=ruleSequenceConstructionOrAccessCompletion();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNameExpressionRule());
+ }
+ set(
+ current,
+ "sequenceConstructionCompletion",
+ lv_sequenceConstructionCompletion_6_0,
+ "SequenceConstructionOrAccessCompletion");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:574:6: ( ( (lv_postfixOp_7_1= '++' | lv_postfixOp_7_2= '--' ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:574:6: ( ( (lv_postfixOp_7_1= '++' | lv_postfixOp_7_2= '--' ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:575:1: ( (lv_postfixOp_7_1= '++' | lv_postfixOp_7_2= '--' ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:575:1: ( (lv_postfixOp_7_1= '++' | lv_postfixOp_7_2= '--' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:576:1: (lv_postfixOp_7_1= '++' | lv_postfixOp_7_2= '--' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:576:1: (lv_postfixOp_7_1= '++' | lv_postfixOp_7_2= '--' )
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0==17) ) {
+ alt9=1;
+ }
+ else if ( (LA9_0==18) ) {
+ alt9=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 9, 0, input);
+
+ throw nvae;
+ }
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:577:3: lv_postfixOp_7_1= '++'
+ {
+ lv_postfixOp_7_1=(Token)match(input,17,FOLLOW_17_in_ruleNameExpression1199);
+
+ newLeafNode(lv_postfixOp_7_1, grammarAccess.getNameExpressionAccess().getPostfixOpPlusSignPlusSignKeyword_0_1_2_2_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getNameExpressionRule());
+ }
+ setWithLastConsumed(current, "postfixOp", lv_postfixOp_7_1, null);
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:589:8: lv_postfixOp_7_2= '--'
+ {
+ lv_postfixOp_7_2=(Token)match(input,18,FOLLOW_18_in_ruleNameExpression1228);
+
+ newLeafNode(lv_postfixOp_7_2, grammarAccess.getNameExpressionAccess().getPostfixOpHyphenMinusHyphenMinusKeyword_0_1_2_2_0_1());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getNameExpressionRule());
+ }
+ setWithLastConsumed(current, "postfixOp", lv_postfixOp_7_2, null);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:604:6: ( (lv_suffix_8_0= ruleSuffixExpression ) )?
+ int alt12=2;
+ int LA12_0 = input.LA(1);
+
+ if ( (LA12_0==49||LA12_0==52) ) {
+ alt12=1;
+ }
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:605:1: (lv_suffix_8_0= ruleSuffixExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:605:1: (lv_suffix_8_0= ruleSuffixExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:606:3: lv_suffix_8_0= ruleSuffixExpression
+ {
+
+ newCompositeNode(grammarAccess.getNameExpressionAccess().getSuffixSuffixExpressionParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleSuffixExpression_in_ruleNameExpression1269);
+ lv_suffix_8_0=ruleSuffixExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNameExpressionRule());
+ }
+ set(
+ current,
+ "suffix",
+ lv_suffix_8_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNameExpression"
+
+
+ // $ANTLR start "entryRuleQualifiedNamePath"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:630:1: entryRuleQualifiedNamePath returns [EObject current=null] : iv_ruleQualifiedNamePath= ruleQualifiedNamePath EOF ;
+ public final EObject entryRuleQualifiedNamePath() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleQualifiedNamePath = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:631:2: (iv_ruleQualifiedNamePath= ruleQualifiedNamePath EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:632:2: iv_ruleQualifiedNamePath= ruleQualifiedNamePath EOF
+ {
+ newCompositeNode(grammarAccess.getQualifiedNamePathRule());
+ pushFollow(FOLLOW_ruleQualifiedNamePath_in_entryRuleQualifiedNamePath1306);
+ iv_ruleQualifiedNamePath=ruleQualifiedNamePath();
+
+ state._fsp--;
+
+ current =iv_ruleQualifiedNamePath;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedNamePath1316);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleQualifiedNamePath"
+
+
+ // $ANTLR start "ruleQualifiedNamePath"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:639:1: ruleQualifiedNamePath returns [EObject current=null] : ( ( (lv_namespace_0_0= ruleUnqualifiedName ) ) otherlv_1= '::' )+ ;
+ public final EObject ruleQualifiedNamePath() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ EObject lv_namespace_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:642:28: ( ( ( (lv_namespace_0_0= ruleUnqualifiedName ) ) otherlv_1= '::' )+ )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:643:1: ( ( (lv_namespace_0_0= ruleUnqualifiedName ) ) otherlv_1= '::' )+
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:643:1: ( ( (lv_namespace_0_0= ruleUnqualifiedName ) ) otherlv_1= '::' )+
+ int cnt13=0;
+ loop13:
+ do {
+ int alt13=2;
+ int LA13_0 = input.LA(1);
+
+ if ( (LA13_0==RULE_ID) ) {
+ int LA13_1 = input.LA(2);
+
+ if ( (LA13_1==20) ) {
+ int LA13_3 = input.LA(3);
+
+ if ( (LA13_3==RULE_ID) ) {
+ int LA13_5 = input.LA(4);
+
+ if ( (LA13_5==23) ) {
+ alt13=1;
+ }
+
+
+ }
+
+
+ }
+ else if ( (LA13_1==19) ) {
+ alt13=1;
+ }
+
+
+ }
+
+
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:643:2: ( (lv_namespace_0_0= ruleUnqualifiedName ) ) otherlv_1= '::'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:643:2: ( (lv_namespace_0_0= ruleUnqualifiedName ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:644:1: (lv_namespace_0_0= ruleUnqualifiedName )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:644:1: (lv_namespace_0_0= ruleUnqualifiedName )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:645:3: lv_namespace_0_0= ruleUnqualifiedName
+ {
+
+ newCompositeNode(grammarAccess.getQualifiedNamePathAccess().getNamespaceUnqualifiedNameParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleUnqualifiedName_in_ruleQualifiedNamePath1362);
+ lv_namespace_0_0=ruleUnqualifiedName();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getQualifiedNamePathRule());
+ }
+ add(
+ current,
+ "namespace",
+ lv_namespace_0_0,
+ "UnqualifiedName");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,19,FOLLOW_19_in_ruleQualifiedNamePath1374);
+
+ newLeafNode(otherlv_1, grammarAccess.getQualifiedNamePathAccess().getColonColonKeyword_1());
+
+
+ }
+ break;
+
+ default :
+ if ( cnt13 >= 1 ) break loop13;
+ EarlyExitException eee =
+ new EarlyExitException(13, input);
+ throw eee;
+ }
+ cnt13++;
+ } while (true);
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleQualifiedNamePath"
+
+
+ // $ANTLR start "entryRuleUnqualifiedName"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:673:1: entryRuleUnqualifiedName returns [EObject current=null] : iv_ruleUnqualifiedName= ruleUnqualifiedName EOF ;
+ public final EObject entryRuleUnqualifiedName() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleUnqualifiedName = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:674:2: (iv_ruleUnqualifiedName= ruleUnqualifiedName EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:675:2: iv_ruleUnqualifiedName= ruleUnqualifiedName EOF
+ {
+ newCompositeNode(grammarAccess.getUnqualifiedNameRule());
+ pushFollow(FOLLOW_ruleUnqualifiedName_in_entryRuleUnqualifiedName1411);
+ iv_ruleUnqualifiedName=ruleUnqualifiedName();
+
+ state._fsp--;
+
+ current =iv_ruleUnqualifiedName;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleUnqualifiedName1421);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleUnqualifiedName"
+
+
+ // $ANTLR start "ruleUnqualifiedName"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:682:1: ruleUnqualifiedName returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) ( (lv_templateBinding_1_0= ruleTemplateBinding ) )? ) ;
+ public final EObject ruleUnqualifiedName() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_name_0_0=null;
+ EObject lv_templateBinding_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:685:28: ( ( ( (lv_name_0_0= RULE_ID ) ) ( (lv_templateBinding_1_0= ruleTemplateBinding ) )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:686:1: ( ( (lv_name_0_0= RULE_ID ) ) ( (lv_templateBinding_1_0= ruleTemplateBinding ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:686:1: ( ( (lv_name_0_0= RULE_ID ) ) ( (lv_templateBinding_1_0= ruleTemplateBinding ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:686:2: ( (lv_name_0_0= RULE_ID ) ) ( (lv_templateBinding_1_0= ruleTemplateBinding ) )?
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:686:2: ( (lv_name_0_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:687:1: (lv_name_0_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:687:1: (lv_name_0_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:688:3: lv_name_0_0= RULE_ID
+ {
+ lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleUnqualifiedName1463);
+
+ newLeafNode(lv_name_0_0, grammarAccess.getUnqualifiedNameAccess().getNameIDTerminalRuleCall_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getUnqualifiedNameRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_0_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:704:2: ( (lv_templateBinding_1_0= ruleTemplateBinding ) )?
+ int alt14=2;
+ int LA14_0 = input.LA(1);
+
+ if ( (LA14_0==20) ) {
+ alt14=1;
+ }
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:705:1: (lv_templateBinding_1_0= ruleTemplateBinding )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:705:1: (lv_templateBinding_1_0= ruleTemplateBinding )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:706:3: lv_templateBinding_1_0= ruleTemplateBinding
+ {
+
+ newCompositeNode(grammarAccess.getUnqualifiedNameAccess().getTemplateBindingTemplateBindingParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleTemplateBinding_in_ruleUnqualifiedName1489);
+ lv_templateBinding_1_0=ruleTemplateBinding();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getUnqualifiedNameRule());
+ }
+ set(
+ current,
+ "templateBinding",
+ lv_templateBinding_1_0,
+ "TemplateBinding");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleUnqualifiedName"
+
+
+ // $ANTLR start "entryRuleTemplateBinding"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:730:1: entryRuleTemplateBinding returns [EObject current=null] : iv_ruleTemplateBinding= ruleTemplateBinding EOF ;
+ public final EObject entryRuleTemplateBinding() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTemplateBinding = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:731:2: (iv_ruleTemplateBinding= ruleTemplateBinding EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:732:2: iv_ruleTemplateBinding= ruleTemplateBinding EOF
+ {
+ newCompositeNode(grammarAccess.getTemplateBindingRule());
+ pushFollow(FOLLOW_ruleTemplateBinding_in_entryRuleTemplateBinding1526);
+ iv_ruleTemplateBinding=ruleTemplateBinding();
+
+ state._fsp--;
+
+ current =iv_ruleTemplateBinding;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTemplateBinding1536);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTemplateBinding"
+
+
+ // $ANTLR start "ruleTemplateBinding"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:739:1: ruleTemplateBinding returns [EObject current=null] : (otherlv_0= '<' ( (lv_bindings_1_0= ruleNamedTemplateBinding ) ) (otherlv_2= ',' ( (lv_bindings_3_0= ruleNamedTemplateBinding ) ) )* otherlv_4= '>' ) ;
+ public final EObject ruleTemplateBinding() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ EObject lv_bindings_1_0 = null;
+
+ EObject lv_bindings_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:742:28: ( (otherlv_0= '<' ( (lv_bindings_1_0= ruleNamedTemplateBinding ) ) (otherlv_2= ',' ( (lv_bindings_3_0= ruleNamedTemplateBinding ) ) )* otherlv_4= '>' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:743:1: (otherlv_0= '<' ( (lv_bindings_1_0= ruleNamedTemplateBinding ) ) (otherlv_2= ',' ( (lv_bindings_3_0= ruleNamedTemplateBinding ) ) )* otherlv_4= '>' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:743:1: (otherlv_0= '<' ( (lv_bindings_1_0= ruleNamedTemplateBinding ) ) (otherlv_2= ',' ( (lv_bindings_3_0= ruleNamedTemplateBinding ) ) )* otherlv_4= '>' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:743:3: otherlv_0= '<' ( (lv_bindings_1_0= ruleNamedTemplateBinding ) ) (otherlv_2= ',' ( (lv_bindings_3_0= ruleNamedTemplateBinding ) ) )* otherlv_4= '>'
+ {
+ otherlv_0=(Token)match(input,20,FOLLOW_20_in_ruleTemplateBinding1573);
+
+ newLeafNode(otherlv_0, grammarAccess.getTemplateBindingAccess().getLessThanSignKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:747:1: ( (lv_bindings_1_0= ruleNamedTemplateBinding ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:748:1: (lv_bindings_1_0= ruleNamedTemplateBinding )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:748:1: (lv_bindings_1_0= ruleNamedTemplateBinding )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:749:3: lv_bindings_1_0= ruleNamedTemplateBinding
+ {
+
+ newCompositeNode(grammarAccess.getTemplateBindingAccess().getBindingsNamedTemplateBindingParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleNamedTemplateBinding_in_ruleTemplateBinding1594);
+ lv_bindings_1_0=ruleNamedTemplateBinding();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTemplateBindingRule());
+ }
+ add(
+ current,
+ "bindings",
+ lv_bindings_1_0,
+ "NamedTemplateBinding");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:765:2: (otherlv_2= ',' ( (lv_bindings_3_0= ruleNamedTemplateBinding ) ) )*
+ loop15:
+ do {
+ int alt15=2;
+ int LA15_0 = input.LA(1);
+
+ if ( (LA15_0==21) ) {
+ alt15=1;
+ }
+
+
+ switch (alt15) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:765:4: otherlv_2= ',' ( (lv_bindings_3_0= ruleNamedTemplateBinding ) )
+ {
+ otherlv_2=(Token)match(input,21,FOLLOW_21_in_ruleTemplateBinding1607);
+
+ newLeafNode(otherlv_2, grammarAccess.getTemplateBindingAccess().getCommaKeyword_2_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:769:1: ( (lv_bindings_3_0= ruleNamedTemplateBinding ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:770:1: (lv_bindings_3_0= ruleNamedTemplateBinding )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:770:1: (lv_bindings_3_0= ruleNamedTemplateBinding )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:771:3: lv_bindings_3_0= ruleNamedTemplateBinding
+ {
+
+ newCompositeNode(grammarAccess.getTemplateBindingAccess().getBindingsNamedTemplateBindingParserRuleCall_2_1_0());
+
+ pushFollow(FOLLOW_ruleNamedTemplateBinding_in_ruleTemplateBinding1628);
+ lv_bindings_3_0=ruleNamedTemplateBinding();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTemplateBindingRule());
+ }
+ add(
+ current,
+ "bindings",
+ lv_bindings_3_0,
+ "NamedTemplateBinding");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop15;
+ }
+ } while (true);
+
+ otherlv_4=(Token)match(input,22,FOLLOW_22_in_ruleTemplateBinding1642);
+
+ newLeafNode(otherlv_4, grammarAccess.getTemplateBindingAccess().getGreaterThanSignKeyword_3());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTemplateBinding"
+
+
+ // $ANTLR start "entryRuleNamedTemplateBinding"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:799:1: entryRuleNamedTemplateBinding returns [EObject current=null] : iv_ruleNamedTemplateBinding= ruleNamedTemplateBinding EOF ;
+ public final EObject entryRuleNamedTemplateBinding() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNamedTemplateBinding = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:800:2: (iv_ruleNamedTemplateBinding= ruleNamedTemplateBinding EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:801:2: iv_ruleNamedTemplateBinding= ruleNamedTemplateBinding EOF
+ {
+ newCompositeNode(grammarAccess.getNamedTemplateBindingRule());
+ pushFollow(FOLLOW_ruleNamedTemplateBinding_in_entryRuleNamedTemplateBinding1678);
+ iv_ruleNamedTemplateBinding=ruleNamedTemplateBinding();
+
+ state._fsp--;
+
+ current =iv_ruleNamedTemplateBinding;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNamedTemplateBinding1688);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNamedTemplateBinding"
+
+
+ // $ANTLR start "ruleNamedTemplateBinding"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:808:1: ruleNamedTemplateBinding returns [EObject current=null] : ( ( (lv_formal_0_0= RULE_ID ) ) otherlv_1= '=>' ( (lv_actual_2_0= ruleQualifiedNameWithBinding ) ) ) ;
+ public final EObject ruleNamedTemplateBinding() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_formal_0_0=null;
+ Token otherlv_1=null;
+ EObject lv_actual_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:811:28: ( ( ( (lv_formal_0_0= RULE_ID ) ) otherlv_1= '=>' ( (lv_actual_2_0= ruleQualifiedNameWithBinding ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:812:1: ( ( (lv_formal_0_0= RULE_ID ) ) otherlv_1= '=>' ( (lv_actual_2_0= ruleQualifiedNameWithBinding ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:812:1: ( ( (lv_formal_0_0= RULE_ID ) ) otherlv_1= '=>' ( (lv_actual_2_0= ruleQualifiedNameWithBinding ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:812:2: ( (lv_formal_0_0= RULE_ID ) ) otherlv_1= '=>' ( (lv_actual_2_0= ruleQualifiedNameWithBinding ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:812:2: ( (lv_formal_0_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:813:1: (lv_formal_0_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:813:1: (lv_formal_0_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:814:3: lv_formal_0_0= RULE_ID
+ {
+ lv_formal_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleNamedTemplateBinding1730);
+
+ newLeafNode(lv_formal_0_0, grammarAccess.getNamedTemplateBindingAccess().getFormalIDTerminalRuleCall_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getNamedTemplateBindingRule());
+ }
+ setWithLastConsumed(
+ current,
+ "formal",
+ lv_formal_0_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,23,FOLLOW_23_in_ruleNamedTemplateBinding1747);
+
+ newLeafNode(otherlv_1, grammarAccess.getNamedTemplateBindingAccess().getEqualsSignGreaterThanSignKeyword_1());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:834:1: ( (lv_actual_2_0= ruleQualifiedNameWithBinding ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:835:1: (lv_actual_2_0= ruleQualifiedNameWithBinding )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:835:1: (lv_actual_2_0= ruleQualifiedNameWithBinding )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:836:3: lv_actual_2_0= ruleQualifiedNameWithBinding
+ {
+
+ newCompositeNode(grammarAccess.getNamedTemplateBindingAccess().getActualQualifiedNameWithBindingParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleQualifiedNameWithBinding_in_ruleNamedTemplateBinding1768);
+ lv_actual_2_0=ruleQualifiedNameWithBinding();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNamedTemplateBindingRule());
+ }
+ set(
+ current,
+ "actual",
+ lv_actual_2_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNamedTemplateBinding"
+
+
+ // $ANTLR start "entryRuleQualifiedNameWithBinding"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:860:1: entryRuleQualifiedNameWithBinding returns [EObject current=null] : iv_ruleQualifiedNameWithBinding= ruleQualifiedNameWithBinding EOF ;
+ public final EObject entryRuleQualifiedNameWithBinding() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleQualifiedNameWithBinding = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:861:2: (iv_ruleQualifiedNameWithBinding= ruleQualifiedNameWithBinding EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:862:2: iv_ruleQualifiedNameWithBinding= ruleQualifiedNameWithBinding EOF
+ {
+ newCompositeNode(grammarAccess.getQualifiedNameWithBindingRule());
+ pushFollow(FOLLOW_ruleQualifiedNameWithBinding_in_entryRuleQualifiedNameWithBinding1804);
+ iv_ruleQualifiedNameWithBinding=ruleQualifiedNameWithBinding();
+
+ state._fsp--;
+
+ current =iv_ruleQualifiedNameWithBinding;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedNameWithBinding1814);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleQualifiedNameWithBinding"
+
+
+ // $ANTLR start "ruleQualifiedNameWithBinding"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:869:1: ruleQualifiedNameWithBinding returns [EObject current=null] : ( ( (lv_id_0_0= RULE_ID ) ) ( (lv_binding_1_0= ruleTemplateBinding ) )? (otherlv_2= '::' ( (lv_remaining_3_0= ruleQualifiedNameWithBinding ) ) )? ) ;
+ public final EObject ruleQualifiedNameWithBinding() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_id_0_0=null;
+ Token otherlv_2=null;
+ EObject lv_binding_1_0 = null;
+
+ EObject lv_remaining_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:872:28: ( ( ( (lv_id_0_0= RULE_ID ) ) ( (lv_binding_1_0= ruleTemplateBinding ) )? (otherlv_2= '::' ( (lv_remaining_3_0= ruleQualifiedNameWithBinding ) ) )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:873:1: ( ( (lv_id_0_0= RULE_ID ) ) ( (lv_binding_1_0= ruleTemplateBinding ) )? (otherlv_2= '::' ( (lv_remaining_3_0= ruleQualifiedNameWithBinding ) ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:873:1: ( ( (lv_id_0_0= RULE_ID ) ) ( (lv_binding_1_0= ruleTemplateBinding ) )? (otherlv_2= '::' ( (lv_remaining_3_0= ruleQualifiedNameWithBinding ) ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:873:2: ( (lv_id_0_0= RULE_ID ) ) ( (lv_binding_1_0= ruleTemplateBinding ) )? (otherlv_2= '::' ( (lv_remaining_3_0= ruleQualifiedNameWithBinding ) ) )?
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:873:2: ( (lv_id_0_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:874:1: (lv_id_0_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:874:1: (lv_id_0_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:875:3: lv_id_0_0= RULE_ID
+ {
+ lv_id_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleQualifiedNameWithBinding1856);
+
+ newLeafNode(lv_id_0_0, grammarAccess.getQualifiedNameWithBindingAccess().getIdIDTerminalRuleCall_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getQualifiedNameWithBindingRule());
+ }
+ setWithLastConsumed(
+ current,
+ "id",
+ lv_id_0_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:891:2: ( (lv_binding_1_0= ruleTemplateBinding ) )?
+ int alt16=2;
+ int LA16_0 = input.LA(1);
+
+ if ( (LA16_0==20) ) {
+ int LA16_1 = input.LA(2);
+
+ if ( (LA16_1==RULE_ID) ) {
+ int LA16_3 = input.LA(3);
+
+ if ( (LA16_3==23) ) {
+ alt16=1;
+ }
+ }
+ }
+ switch (alt16) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:892:1: (lv_binding_1_0= ruleTemplateBinding )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:892:1: (lv_binding_1_0= ruleTemplateBinding )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:893:3: lv_binding_1_0= ruleTemplateBinding
+ {
+
+ newCompositeNode(grammarAccess.getQualifiedNameWithBindingAccess().getBindingTemplateBindingParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleTemplateBinding_in_ruleQualifiedNameWithBinding1882);
+ lv_binding_1_0=ruleTemplateBinding();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getQualifiedNameWithBindingRule());
+ }
+ set(
+ current,
+ "binding",
+ lv_binding_1_0,
+ "TemplateBinding");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:909:3: (otherlv_2= '::' ( (lv_remaining_3_0= ruleQualifiedNameWithBinding ) ) )?
+ int alt17=2;
+ int LA17_0 = input.LA(1);
+
+ if ( (LA17_0==19) ) {
+ alt17=1;
+ }
+ switch (alt17) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:909:5: otherlv_2= '::' ( (lv_remaining_3_0= ruleQualifiedNameWithBinding ) )
+ {
+ otherlv_2=(Token)match(input,19,FOLLOW_19_in_ruleQualifiedNameWithBinding1896);
+
+ newLeafNode(otherlv_2, grammarAccess.getQualifiedNameWithBindingAccess().getColonColonKeyword_2_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:913:1: ( (lv_remaining_3_0= ruleQualifiedNameWithBinding ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:914:1: (lv_remaining_3_0= ruleQualifiedNameWithBinding )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:914:1: (lv_remaining_3_0= ruleQualifiedNameWithBinding )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:915:3: lv_remaining_3_0= ruleQualifiedNameWithBinding
+ {
+
+ newCompositeNode(grammarAccess.getQualifiedNameWithBindingAccess().getRemainingQualifiedNameWithBindingParserRuleCall_2_1_0());
+
+ pushFollow(FOLLOW_ruleQualifiedNameWithBinding_in_ruleQualifiedNameWithBinding1917);
+ lv_remaining_3_0=ruleQualifiedNameWithBinding();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getQualifiedNameWithBindingRule());
+ }
+ set(
+ current,
+ "remaining",
+ lv_remaining_3_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleQualifiedNameWithBinding"
+
+
+ // $ANTLR start "entryRuleTuple"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:939:1: entryRuleTuple returns [EObject current=null] : iv_ruleTuple= ruleTuple EOF ;
+ public final EObject entryRuleTuple() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTuple = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:940:2: (iv_ruleTuple= ruleTuple EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:941:2: iv_ruleTuple= ruleTuple EOF
+ {
+ newCompositeNode(grammarAccess.getTupleRule());
+ pushFollow(FOLLOW_ruleTuple_in_entryRuleTuple1955);
+ iv_ruleTuple=ruleTuple();
+
+ state._fsp--;
+
+ current =iv_ruleTuple;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTuple1965);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTuple"
+
+
+ // $ANTLR start "ruleTuple"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:948:1: ruleTuple returns [EObject current=null] : ( () otherlv_1= '(' ( ( (lv_tupleElements_2_0= ruleTupleElement ) ) (otherlv_3= ',' ( (lv_tupleElements_4_0= ruleTupleElement ) ) )* )? otherlv_5= ')' ) ;
+ public final EObject ruleTuple() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ EObject lv_tupleElements_2_0 = null;
+
+ EObject lv_tupleElements_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:951:28: ( ( () otherlv_1= '(' ( ( (lv_tupleElements_2_0= ruleTupleElement ) ) (otherlv_3= ',' ( (lv_tupleElements_4_0= ruleTupleElement ) ) )* )? otherlv_5= ')' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:952:1: ( () otherlv_1= '(' ( ( (lv_tupleElements_2_0= ruleTupleElement ) ) (otherlv_3= ',' ( (lv_tupleElements_4_0= ruleTupleElement ) ) )* )? otherlv_5= ')' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:952:1: ( () otherlv_1= '(' ( ( (lv_tupleElements_2_0= ruleTupleElement ) ) (otherlv_3= ',' ( (lv_tupleElements_4_0= ruleTupleElement ) ) )* )? otherlv_5= ')' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:952:2: () otherlv_1= '(' ( ( (lv_tupleElements_2_0= ruleTupleElement ) ) (otherlv_3= ',' ( (lv_tupleElements_4_0= ruleTupleElement ) ) )* )? otherlv_5= ')'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:952:2: ()
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:953:5:
+ {
+
+ current = forceCreateModelElement(
+ grammarAccess.getTupleAccess().getTupleAction_0(),
+ current);
+
+
+ }
+
+ otherlv_1=(Token)match(input,24,FOLLOW_24_in_ruleTuple2011);
+
+ newLeafNode(otherlv_1, grammarAccess.getTupleAccess().getLeftParenthesisKeyword_1());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:962:1: ( ( (lv_tupleElements_2_0= ruleTupleElement ) ) (otherlv_3= ',' ( (lv_tupleElements_4_0= ruleTupleElement ) ) )* )?
+ int alt19=2;
+ int LA19_0 = input.LA(1);
+
+ if ( ((LA19_0>=RULE_INTEGERVALUE && LA19_0<=RULE_ID)||(LA19_0>=16 && LA19_0<=18)||LA19_0==24||(LA19_0>=42 && LA19_0<=43)||(LA19_0>=46 && LA19_0<=48)||(LA19_0>=56 && LA19_0<=59)||(LA19_0>=87 && LA19_0<=88)) ) {
+ alt19=1;
+ }
+ switch (alt19) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:962:2: ( (lv_tupleElements_2_0= ruleTupleElement ) ) (otherlv_3= ',' ( (lv_tupleElements_4_0= ruleTupleElement ) ) )*
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:962:2: ( (lv_tupleElements_2_0= ruleTupleElement ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:963:1: (lv_tupleElements_2_0= ruleTupleElement )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:963:1: (lv_tupleElements_2_0= ruleTupleElement )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:964:3: lv_tupleElements_2_0= ruleTupleElement
+ {
+
+ newCompositeNode(grammarAccess.getTupleAccess().getTupleElementsTupleElementParserRuleCall_2_0_0());
+
+ pushFollow(FOLLOW_ruleTupleElement_in_ruleTuple2033);
+ lv_tupleElements_2_0=ruleTupleElement();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTupleRule());
+ }
+ add(
+ current,
+ "tupleElements",
+ lv_tupleElements_2_0,
+ "TupleElement");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:980:2: (otherlv_3= ',' ( (lv_tupleElements_4_0= ruleTupleElement ) ) )*
+ loop18:
+ do {
+ int alt18=2;
+ int LA18_0 = input.LA(1);
+
+ if ( (LA18_0==21) ) {
+ alt18=1;
+ }
+
+
+ switch (alt18) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:980:4: otherlv_3= ',' ( (lv_tupleElements_4_0= ruleTupleElement ) )
+ {
+ otherlv_3=(Token)match(input,21,FOLLOW_21_in_ruleTuple2046);
+
+ newLeafNode(otherlv_3, grammarAccess.getTupleAccess().getCommaKeyword_2_1_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:984:1: ( (lv_tupleElements_4_0= ruleTupleElement ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:985:1: (lv_tupleElements_4_0= ruleTupleElement )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:985:1: (lv_tupleElements_4_0= ruleTupleElement )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:986:3: lv_tupleElements_4_0= ruleTupleElement
+ {
+
+ newCompositeNode(grammarAccess.getTupleAccess().getTupleElementsTupleElementParserRuleCall_2_1_1_0());
+
+ pushFollow(FOLLOW_ruleTupleElement_in_ruleTuple2067);
+ lv_tupleElements_4_0=ruleTupleElement();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTupleRule());
+ }
+ add(
+ current,
+ "tupleElements",
+ lv_tupleElements_4_0,
+ "TupleElement");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop18;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+ otherlv_5=(Token)match(input,25,FOLLOW_25_in_ruleTuple2083);
+
+ newLeafNode(otherlv_5, grammarAccess.getTupleAccess().getRightParenthesisKeyword_3());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTuple"
+
+
+ // $ANTLR start "entryRuleTupleElement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1014:1: entryRuleTupleElement returns [EObject current=null] : iv_ruleTupleElement= ruleTupleElement EOF ;
+ public final EObject entryRuleTupleElement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTupleElement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1015:2: (iv_ruleTupleElement= ruleTupleElement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1016:2: iv_ruleTupleElement= ruleTupleElement EOF
+ {
+ newCompositeNode(grammarAccess.getTupleElementRule());
+ pushFollow(FOLLOW_ruleTupleElement_in_entryRuleTupleElement2119);
+ iv_ruleTupleElement=ruleTupleElement();
+
+ state._fsp--;
+
+ current =iv_ruleTupleElement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTupleElement2129);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTupleElement"
+
+
+ // $ANTLR start "ruleTupleElement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1023:1: ruleTupleElement returns [EObject current=null] : ( (lv_argument_0_0= ruleExpression ) ) ;
+ public final EObject ruleTupleElement() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_argument_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1026:28: ( ( (lv_argument_0_0= ruleExpression ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1027:1: ( (lv_argument_0_0= ruleExpression ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1027:1: ( (lv_argument_0_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1028:1: (lv_argument_0_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1028:1: (lv_argument_0_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1029:3: lv_argument_0_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getTupleElementAccess().getArgumentExpressionParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleTupleElement2174);
+ lv_argument_0_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTupleElementRule());
+ }
+ set(
+ current,
+ "argument",
+ lv_argument_0_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTupleElement"
+
+
+ // $ANTLR start "entryRuleExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1053:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ;
+ public final EObject entryRuleExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1054:2: (iv_ruleExpression= ruleExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1055:2: iv_ruleExpression= ruleExpression EOF
+ {
+ newCompositeNode(grammarAccess.getExpressionRule());
+ pushFollow(FOLLOW_ruleExpression_in_entryRuleExpression2209);
+ iv_ruleExpression=ruleExpression();
+
+ state._fsp--;
+
+ current =iv_ruleExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleExpression2219);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleExpression"
+
+
+ // $ANTLR start "ruleExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1062:1: ruleExpression returns [EObject current=null] : this_ConditionalTestExpression_0= ruleConditionalTestExpression ;
+ public final EObject ruleExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_ConditionalTestExpression_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1065:28: (this_ConditionalTestExpression_0= ruleConditionalTestExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1067:5: this_ConditionalTestExpression_0= ruleConditionalTestExpression
+ {
+
+ newCompositeNode(grammarAccess.getExpressionAccess().getConditionalTestExpressionParserRuleCall());
+
+ pushFollow(FOLLOW_ruleConditionalTestExpression_in_ruleExpression2265);
+ this_ConditionalTestExpression_0=ruleConditionalTestExpression();
+
+ state._fsp--;
+
+
+ current = this_ConditionalTestExpression_0;
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleExpression"
+
+
+ // $ANTLR start "entryRuleConditionalTestExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1083:1: entryRuleConditionalTestExpression returns [EObject current=null] : iv_ruleConditionalTestExpression= ruleConditionalTestExpression EOF ;
+ public final EObject entryRuleConditionalTestExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleConditionalTestExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1084:2: (iv_ruleConditionalTestExpression= ruleConditionalTestExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1085:2: iv_ruleConditionalTestExpression= ruleConditionalTestExpression EOF
+ {
+ newCompositeNode(grammarAccess.getConditionalTestExpressionRule());
+ pushFollow(FOLLOW_ruleConditionalTestExpression_in_entryRuleConditionalTestExpression2299);
+ iv_ruleConditionalTestExpression=ruleConditionalTestExpression();
+
+ state._fsp--;
+
+ current =iv_ruleConditionalTestExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleConditionalTestExpression2309);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleConditionalTestExpression"
+
+
+ // $ANTLR start "ruleConditionalTestExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1092:1: ruleConditionalTestExpression returns [EObject current=null] : ( ( (lv_exp_0_0= ruleConditionalOrExpression ) ) (otherlv_1= '?' ( (lv_whenTrue_2_0= ruleConditionalTestExpression ) ) otherlv_3= ':' ( (lv_whenFalse_4_0= ruleConditionalTestExpression ) ) )? ) ;
+ public final EObject ruleConditionalTestExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ EObject lv_exp_0_0 = null;
+
+ EObject lv_whenTrue_2_0 = null;
+
+ EObject lv_whenFalse_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1095:28: ( ( ( (lv_exp_0_0= ruleConditionalOrExpression ) ) (otherlv_1= '?' ( (lv_whenTrue_2_0= ruleConditionalTestExpression ) ) otherlv_3= ':' ( (lv_whenFalse_4_0= ruleConditionalTestExpression ) ) )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1096:1: ( ( (lv_exp_0_0= ruleConditionalOrExpression ) ) (otherlv_1= '?' ( (lv_whenTrue_2_0= ruleConditionalTestExpression ) ) otherlv_3= ':' ( (lv_whenFalse_4_0= ruleConditionalTestExpression ) ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1096:1: ( ( (lv_exp_0_0= ruleConditionalOrExpression ) ) (otherlv_1= '?' ( (lv_whenTrue_2_0= ruleConditionalTestExpression ) ) otherlv_3= ':' ( (lv_whenFalse_4_0= ruleConditionalTestExpression ) ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1096:2: ( (lv_exp_0_0= ruleConditionalOrExpression ) ) (otherlv_1= '?' ( (lv_whenTrue_2_0= ruleConditionalTestExpression ) ) otherlv_3= ':' ( (lv_whenFalse_4_0= ruleConditionalTestExpression ) ) )?
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1096:2: ( (lv_exp_0_0= ruleConditionalOrExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1097:1: (lv_exp_0_0= ruleConditionalOrExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1097:1: (lv_exp_0_0= ruleConditionalOrExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1098:3: lv_exp_0_0= ruleConditionalOrExpression
+ {
+
+ newCompositeNode(grammarAccess.getConditionalTestExpressionAccess().getExpConditionalOrExpressionParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleConditionalOrExpression_in_ruleConditionalTestExpression2355);
+ lv_exp_0_0=ruleConditionalOrExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getConditionalTestExpressionRule());
+ }
+ set(
+ current,
+ "exp",
+ lv_exp_0_0,
+ "ConditionalOrExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1114:2: (otherlv_1= '?' ( (lv_whenTrue_2_0= ruleConditionalTestExpression ) ) otherlv_3= ':' ( (lv_whenFalse_4_0= ruleConditionalTestExpression ) ) )?
+ int alt20=2;
+ int LA20_0 = input.LA(1);
+
+ if ( (LA20_0==26) ) {
+ alt20=1;
+ }
+ switch (alt20) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1114:4: otherlv_1= '?' ( (lv_whenTrue_2_0= ruleConditionalTestExpression ) ) otherlv_3= ':' ( (lv_whenFalse_4_0= ruleConditionalTestExpression ) )
+ {
+ otherlv_1=(Token)match(input,26,FOLLOW_26_in_ruleConditionalTestExpression2368);
+
+ newLeafNode(otherlv_1, grammarAccess.getConditionalTestExpressionAccess().getQuestionMarkKeyword_1_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1118:1: ( (lv_whenTrue_2_0= ruleConditionalTestExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1119:1: (lv_whenTrue_2_0= ruleConditionalTestExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1119:1: (lv_whenTrue_2_0= ruleConditionalTestExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1120:3: lv_whenTrue_2_0= ruleConditionalTestExpression
+ {
+
+ newCompositeNode(grammarAccess.getConditionalTestExpressionAccess().getWhenTrueConditionalTestExpressionParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleConditionalTestExpression_in_ruleConditionalTestExpression2389);
+ lv_whenTrue_2_0=ruleConditionalTestExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getConditionalTestExpressionRule());
+ }
+ set(
+ current,
+ "whenTrue",
+ lv_whenTrue_2_0,
+ "ConditionalTestExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,27,FOLLOW_27_in_ruleConditionalTestExpression2401);
+
+ newLeafNode(otherlv_3, grammarAccess.getConditionalTestExpressionAccess().getColonKeyword_1_2());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1140:1: ( (lv_whenFalse_4_0= ruleConditionalTestExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1141:1: (lv_whenFalse_4_0= ruleConditionalTestExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1141:1: (lv_whenFalse_4_0= ruleConditionalTestExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1142:3: lv_whenFalse_4_0= ruleConditionalTestExpression
+ {
+
+ newCompositeNode(grammarAccess.getConditionalTestExpressionAccess().getWhenFalseConditionalTestExpressionParserRuleCall_1_3_0());
+
+ pushFollow(FOLLOW_ruleConditionalTestExpression_in_ruleConditionalTestExpression2422);
+ lv_whenFalse_4_0=ruleConditionalTestExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getConditionalTestExpressionRule());
+ }
+ set(
+ current,
+ "whenFalse",
+ lv_whenFalse_4_0,
+ "ConditionalTestExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleConditionalTestExpression"
+
+
+ // $ANTLR start "entryRuleConditionalOrExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1166:1: entryRuleConditionalOrExpression returns [EObject current=null] : iv_ruleConditionalOrExpression= ruleConditionalOrExpression EOF ;
+ public final EObject entryRuleConditionalOrExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleConditionalOrExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1167:2: (iv_ruleConditionalOrExpression= ruleConditionalOrExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1168:2: iv_ruleConditionalOrExpression= ruleConditionalOrExpression EOF
+ {
+ newCompositeNode(grammarAccess.getConditionalOrExpressionRule());
+ pushFollow(FOLLOW_ruleConditionalOrExpression_in_entryRuleConditionalOrExpression2460);
+ iv_ruleConditionalOrExpression=ruleConditionalOrExpression();
+
+ state._fsp--;
+
+ current =iv_ruleConditionalOrExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleConditionalOrExpression2470);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleConditionalOrExpression"
+
+
+ // $ANTLR start "ruleConditionalOrExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1175:1: ruleConditionalOrExpression returns [EObject current=null] : ( ( (lv_exp_0_0= ruleConditionalAndExpression ) ) (otherlv_1= '||' ( (lv_exp_2_0= ruleConditionalAndExpression ) ) )* ) ;
+ public final EObject ruleConditionalOrExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ EObject lv_exp_0_0 = null;
+
+ EObject lv_exp_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1178:28: ( ( ( (lv_exp_0_0= ruleConditionalAndExpression ) ) (otherlv_1= '||' ( (lv_exp_2_0= ruleConditionalAndExpression ) ) )* ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1179:1: ( ( (lv_exp_0_0= ruleConditionalAndExpression ) ) (otherlv_1= '||' ( (lv_exp_2_0= ruleConditionalAndExpression ) ) )* )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1179:1: ( ( (lv_exp_0_0= ruleConditionalAndExpression ) ) (otherlv_1= '||' ( (lv_exp_2_0= ruleConditionalAndExpression ) ) )* )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1179:2: ( (lv_exp_0_0= ruleConditionalAndExpression ) ) (otherlv_1= '||' ( (lv_exp_2_0= ruleConditionalAndExpression ) ) )*
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1179:2: ( (lv_exp_0_0= ruleConditionalAndExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1180:1: (lv_exp_0_0= ruleConditionalAndExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1180:1: (lv_exp_0_0= ruleConditionalAndExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1181:3: lv_exp_0_0= ruleConditionalAndExpression
+ {
+
+ newCompositeNode(grammarAccess.getConditionalOrExpressionAccess().getExpConditionalAndExpressionParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleConditionalAndExpression_in_ruleConditionalOrExpression2516);
+ lv_exp_0_0=ruleConditionalAndExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getConditionalOrExpressionRule());
+ }
+ add(
+ current,
+ "exp",
+ lv_exp_0_0,
+ "ConditionalAndExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1197:2: (otherlv_1= '||' ( (lv_exp_2_0= ruleConditionalAndExpression ) ) )*
+ loop21:
+ do {
+ int alt21=2;
+ int LA21_0 = input.LA(1);
+
+ if ( (LA21_0==28) ) {
+ alt21=1;
+ }
+
+
+ switch (alt21) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1197:4: otherlv_1= '||' ( (lv_exp_2_0= ruleConditionalAndExpression ) )
+ {
+ otherlv_1=(Token)match(input,28,FOLLOW_28_in_ruleConditionalOrExpression2529);
+
+ newLeafNode(otherlv_1, grammarAccess.getConditionalOrExpressionAccess().getVerticalLineVerticalLineKeyword_1_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1201:1: ( (lv_exp_2_0= ruleConditionalAndExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1202:1: (lv_exp_2_0= ruleConditionalAndExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1202:1: (lv_exp_2_0= ruleConditionalAndExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1203:3: lv_exp_2_0= ruleConditionalAndExpression
+ {
+
+ newCompositeNode(grammarAccess.getConditionalOrExpressionAccess().getExpConditionalAndExpressionParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleConditionalAndExpression_in_ruleConditionalOrExpression2550);
+ lv_exp_2_0=ruleConditionalAndExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getConditionalOrExpressionRule());
+ }
+ add(
+ current,
+ "exp",
+ lv_exp_2_0,
+ "ConditionalAndExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop21;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleConditionalOrExpression"
+
+
+ // $ANTLR start "entryRuleConditionalAndExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1227:1: entryRuleConditionalAndExpression returns [EObject current=null] : iv_ruleConditionalAndExpression= ruleConditionalAndExpression EOF ;
+ public final EObject entryRuleConditionalAndExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleConditionalAndExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1228:2: (iv_ruleConditionalAndExpression= ruleConditionalAndExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1229:2: iv_ruleConditionalAndExpression= ruleConditionalAndExpression EOF
+ {
+ newCompositeNode(grammarAccess.getConditionalAndExpressionRule());
+ pushFollow(FOLLOW_ruleConditionalAndExpression_in_entryRuleConditionalAndExpression2588);
+ iv_ruleConditionalAndExpression=ruleConditionalAndExpression();
+
+ state._fsp--;
+
+ current =iv_ruleConditionalAndExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleConditionalAndExpression2598);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleConditionalAndExpression"
+
+
+ // $ANTLR start "ruleConditionalAndExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1236:1: ruleConditionalAndExpression returns [EObject current=null] : ( ( (lv_exp_0_0= ruleInclusiveOrExpression ) ) (otherlv_1= '&&' ( (lv_exp_2_0= ruleInclusiveOrExpression ) ) )* ) ;
+ public final EObject ruleConditionalAndExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ EObject lv_exp_0_0 = null;
+
+ EObject lv_exp_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1239:28: ( ( ( (lv_exp_0_0= ruleInclusiveOrExpression ) ) (otherlv_1= '&&' ( (lv_exp_2_0= ruleInclusiveOrExpression ) ) )* ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1240:1: ( ( (lv_exp_0_0= ruleInclusiveOrExpression ) ) (otherlv_1= '&&' ( (lv_exp_2_0= ruleInclusiveOrExpression ) ) )* )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1240:1: ( ( (lv_exp_0_0= ruleInclusiveOrExpression ) ) (otherlv_1= '&&' ( (lv_exp_2_0= ruleInclusiveOrExpression ) ) )* )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1240:2: ( (lv_exp_0_0= ruleInclusiveOrExpression ) ) (otherlv_1= '&&' ( (lv_exp_2_0= ruleInclusiveOrExpression ) ) )*
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1240:2: ( (lv_exp_0_0= ruleInclusiveOrExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1241:1: (lv_exp_0_0= ruleInclusiveOrExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1241:1: (lv_exp_0_0= ruleInclusiveOrExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1242:3: lv_exp_0_0= ruleInclusiveOrExpression
+ {
+
+ newCompositeNode(grammarAccess.getConditionalAndExpressionAccess().getExpInclusiveOrExpressionParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleInclusiveOrExpression_in_ruleConditionalAndExpression2644);
+ lv_exp_0_0=ruleInclusiveOrExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getConditionalAndExpressionRule());
+ }
+ add(
+ current,
+ "exp",
+ lv_exp_0_0,
+ "InclusiveOrExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1258:2: (otherlv_1= '&&' ( (lv_exp_2_0= ruleInclusiveOrExpression ) ) )*
+ loop22:
+ do {
+ int alt22=2;
+ int LA22_0 = input.LA(1);
+
+ if ( (LA22_0==29) ) {
+ alt22=1;
+ }
+
+
+ switch (alt22) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1258:4: otherlv_1= '&&' ( (lv_exp_2_0= ruleInclusiveOrExpression ) )
+ {
+ otherlv_1=(Token)match(input,29,FOLLOW_29_in_ruleConditionalAndExpression2657);
+
+ newLeafNode(otherlv_1, grammarAccess.getConditionalAndExpressionAccess().getAmpersandAmpersandKeyword_1_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1262:1: ( (lv_exp_2_0= ruleInclusiveOrExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1263:1: (lv_exp_2_0= ruleInclusiveOrExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1263:1: (lv_exp_2_0= ruleInclusiveOrExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1264:3: lv_exp_2_0= ruleInclusiveOrExpression
+ {
+
+ newCompositeNode(grammarAccess.getConditionalAndExpressionAccess().getExpInclusiveOrExpressionParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleInclusiveOrExpression_in_ruleConditionalAndExpression2678);
+ lv_exp_2_0=ruleInclusiveOrExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getConditionalAndExpressionRule());
+ }
+ add(
+ current,
+ "exp",
+ lv_exp_2_0,
+ "InclusiveOrExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop22;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleConditionalAndExpression"
+
+
+ // $ANTLR start "entryRuleInclusiveOrExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1288:1: entryRuleInclusiveOrExpression returns [EObject current=null] : iv_ruleInclusiveOrExpression= ruleInclusiveOrExpression EOF ;
+ public final EObject entryRuleInclusiveOrExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleInclusiveOrExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1289:2: (iv_ruleInclusiveOrExpression= ruleInclusiveOrExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1290:2: iv_ruleInclusiveOrExpression= ruleInclusiveOrExpression EOF
+ {
+ newCompositeNode(grammarAccess.getInclusiveOrExpressionRule());
+ pushFollow(FOLLOW_ruleInclusiveOrExpression_in_entryRuleInclusiveOrExpression2716);
+ iv_ruleInclusiveOrExpression=ruleInclusiveOrExpression();
+
+ state._fsp--;
+
+ current =iv_ruleInclusiveOrExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleInclusiveOrExpression2726);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleInclusiveOrExpression"
+
+
+ // $ANTLR start "ruleInclusiveOrExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1297:1: ruleInclusiveOrExpression returns [EObject current=null] : ( ( (lv_exp_0_0= ruleExclusiveOrExpression ) ) (otherlv_1= '|' ( (lv_exp_2_0= ruleExclusiveOrExpression ) ) )* ) ;
+ public final EObject ruleInclusiveOrExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ EObject lv_exp_0_0 = null;
+
+ EObject lv_exp_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1300:28: ( ( ( (lv_exp_0_0= ruleExclusiveOrExpression ) ) (otherlv_1= '|' ( (lv_exp_2_0= ruleExclusiveOrExpression ) ) )* ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1301:1: ( ( (lv_exp_0_0= ruleExclusiveOrExpression ) ) (otherlv_1= '|' ( (lv_exp_2_0= ruleExclusiveOrExpression ) ) )* )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1301:1: ( ( (lv_exp_0_0= ruleExclusiveOrExpression ) ) (otherlv_1= '|' ( (lv_exp_2_0= ruleExclusiveOrExpression ) ) )* )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1301:2: ( (lv_exp_0_0= ruleExclusiveOrExpression ) ) (otherlv_1= '|' ( (lv_exp_2_0= ruleExclusiveOrExpression ) ) )*
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1301:2: ( (lv_exp_0_0= ruleExclusiveOrExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1302:1: (lv_exp_0_0= ruleExclusiveOrExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1302:1: (lv_exp_0_0= ruleExclusiveOrExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1303:3: lv_exp_0_0= ruleExclusiveOrExpression
+ {
+
+ newCompositeNode(grammarAccess.getInclusiveOrExpressionAccess().getExpExclusiveOrExpressionParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleExclusiveOrExpression_in_ruleInclusiveOrExpression2772);
+ lv_exp_0_0=ruleExclusiveOrExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getInclusiveOrExpressionRule());
+ }
+ add(
+ current,
+ "exp",
+ lv_exp_0_0,
+ "ExclusiveOrExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1319:2: (otherlv_1= '|' ( (lv_exp_2_0= ruleExclusiveOrExpression ) ) )*
+ loop23:
+ do {
+ int alt23=2;
+ int LA23_0 = input.LA(1);
+
+ if ( (LA23_0==30) ) {
+ alt23=1;
+ }
+
+
+ switch (alt23) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1319:4: otherlv_1= '|' ( (lv_exp_2_0= ruleExclusiveOrExpression ) )
+ {
+ otherlv_1=(Token)match(input,30,FOLLOW_30_in_ruleInclusiveOrExpression2785);
+
+ newLeafNode(otherlv_1, grammarAccess.getInclusiveOrExpressionAccess().getVerticalLineKeyword_1_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1323:1: ( (lv_exp_2_0= ruleExclusiveOrExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1324:1: (lv_exp_2_0= ruleExclusiveOrExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1324:1: (lv_exp_2_0= ruleExclusiveOrExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1325:3: lv_exp_2_0= ruleExclusiveOrExpression
+ {
+
+ newCompositeNode(grammarAccess.getInclusiveOrExpressionAccess().getExpExclusiveOrExpressionParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleExclusiveOrExpression_in_ruleInclusiveOrExpression2806);
+ lv_exp_2_0=ruleExclusiveOrExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getInclusiveOrExpressionRule());
+ }
+ add(
+ current,
+ "exp",
+ lv_exp_2_0,
+ "ExclusiveOrExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop23;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleInclusiveOrExpression"
+
+
+ // $ANTLR start "entryRuleExclusiveOrExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1349:1: entryRuleExclusiveOrExpression returns [EObject current=null] : iv_ruleExclusiveOrExpression= ruleExclusiveOrExpression EOF ;
+ public final EObject entryRuleExclusiveOrExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleExclusiveOrExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1350:2: (iv_ruleExclusiveOrExpression= ruleExclusiveOrExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1351:2: iv_ruleExclusiveOrExpression= ruleExclusiveOrExpression EOF
+ {
+ newCompositeNode(grammarAccess.getExclusiveOrExpressionRule());
+ pushFollow(FOLLOW_ruleExclusiveOrExpression_in_entryRuleExclusiveOrExpression2844);
+ iv_ruleExclusiveOrExpression=ruleExclusiveOrExpression();
+
+ state._fsp--;
+
+ current =iv_ruleExclusiveOrExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleExclusiveOrExpression2854);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleExclusiveOrExpression"
+
+
+ // $ANTLR start "ruleExclusiveOrExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1358:1: ruleExclusiveOrExpression returns [EObject current=null] : ( ( (lv_exp_0_0= ruleAndExpression ) ) (otherlv_1= '^' ( (lv_exp_2_0= ruleAndExpression ) ) )* ) ;
+ public final EObject ruleExclusiveOrExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ EObject lv_exp_0_0 = null;
+
+ EObject lv_exp_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1361:28: ( ( ( (lv_exp_0_0= ruleAndExpression ) ) (otherlv_1= '^' ( (lv_exp_2_0= ruleAndExpression ) ) )* ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1362:1: ( ( (lv_exp_0_0= ruleAndExpression ) ) (otherlv_1= '^' ( (lv_exp_2_0= ruleAndExpression ) ) )* )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1362:1: ( ( (lv_exp_0_0= ruleAndExpression ) ) (otherlv_1= '^' ( (lv_exp_2_0= ruleAndExpression ) ) )* )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1362:2: ( (lv_exp_0_0= ruleAndExpression ) ) (otherlv_1= '^' ( (lv_exp_2_0= ruleAndExpression ) ) )*
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1362:2: ( (lv_exp_0_0= ruleAndExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1363:1: (lv_exp_0_0= ruleAndExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1363:1: (lv_exp_0_0= ruleAndExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1364:3: lv_exp_0_0= ruleAndExpression
+ {
+
+ newCompositeNode(grammarAccess.getExclusiveOrExpressionAccess().getExpAndExpressionParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleAndExpression_in_ruleExclusiveOrExpression2900);
+ lv_exp_0_0=ruleAndExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getExclusiveOrExpressionRule());
+ }
+ add(
+ current,
+ "exp",
+ lv_exp_0_0,
+ "AndExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1380:2: (otherlv_1= '^' ( (lv_exp_2_0= ruleAndExpression ) ) )*
+ loop24:
+ do {
+ int alt24=2;
+ int LA24_0 = input.LA(1);
+
+ if ( (LA24_0==31) ) {
+ alt24=1;
+ }
+
+
+ switch (alt24) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1380:4: otherlv_1= '^' ( (lv_exp_2_0= ruleAndExpression ) )
+ {
+ otherlv_1=(Token)match(input,31,FOLLOW_31_in_ruleExclusiveOrExpression2913);
+
+ newLeafNode(otherlv_1, grammarAccess.getExclusiveOrExpressionAccess().getCircumflexAccentKeyword_1_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1384:1: ( (lv_exp_2_0= ruleAndExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1385:1: (lv_exp_2_0= ruleAndExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1385:1: (lv_exp_2_0= ruleAndExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1386:3: lv_exp_2_0= ruleAndExpression
+ {
+
+ newCompositeNode(grammarAccess.getExclusiveOrExpressionAccess().getExpAndExpressionParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleAndExpression_in_ruleExclusiveOrExpression2934);
+ lv_exp_2_0=ruleAndExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getExclusiveOrExpressionRule());
+ }
+ add(
+ current,
+ "exp",
+ lv_exp_2_0,
+ "AndExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop24;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleExclusiveOrExpression"
+
+
+ // $ANTLR start "entryRuleAndExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1410:1: entryRuleAndExpression returns [EObject current=null] : iv_ruleAndExpression= ruleAndExpression EOF ;
+ public final EObject entryRuleAndExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleAndExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1411:2: (iv_ruleAndExpression= ruleAndExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1412:2: iv_ruleAndExpression= ruleAndExpression EOF
+ {
+ newCompositeNode(grammarAccess.getAndExpressionRule());
+ pushFollow(FOLLOW_ruleAndExpression_in_entryRuleAndExpression2972);
+ iv_ruleAndExpression=ruleAndExpression();
+
+ state._fsp--;
+
+ current =iv_ruleAndExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAndExpression2982);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleAndExpression"
+
+
+ // $ANTLR start "ruleAndExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1419:1: ruleAndExpression returns [EObject current=null] : ( ( (lv_exp_0_0= ruleEqualityExpression ) ) (otherlv_1= '&' ( (lv_exp_2_0= ruleEqualityExpression ) ) )* ) ;
+ public final EObject ruleAndExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ EObject lv_exp_0_0 = null;
+
+ EObject lv_exp_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1422:28: ( ( ( (lv_exp_0_0= ruleEqualityExpression ) ) (otherlv_1= '&' ( (lv_exp_2_0= ruleEqualityExpression ) ) )* ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1423:1: ( ( (lv_exp_0_0= ruleEqualityExpression ) ) (otherlv_1= '&' ( (lv_exp_2_0= ruleEqualityExpression ) ) )* )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1423:1: ( ( (lv_exp_0_0= ruleEqualityExpression ) ) (otherlv_1= '&' ( (lv_exp_2_0= ruleEqualityExpression ) ) )* )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1423:2: ( (lv_exp_0_0= ruleEqualityExpression ) ) (otherlv_1= '&' ( (lv_exp_2_0= ruleEqualityExpression ) ) )*
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1423:2: ( (lv_exp_0_0= ruleEqualityExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1424:1: (lv_exp_0_0= ruleEqualityExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1424:1: (lv_exp_0_0= ruleEqualityExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1425:3: lv_exp_0_0= ruleEqualityExpression
+ {
+
+ newCompositeNode(grammarAccess.getAndExpressionAccess().getExpEqualityExpressionParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleEqualityExpression_in_ruleAndExpression3028);
+ lv_exp_0_0=ruleEqualityExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAndExpressionRule());
+ }
+ add(
+ current,
+ "exp",
+ lv_exp_0_0,
+ "EqualityExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1441:2: (otherlv_1= '&' ( (lv_exp_2_0= ruleEqualityExpression ) ) )*
+ loop25:
+ do {
+ int alt25=2;
+ int LA25_0 = input.LA(1);
+
+ if ( (LA25_0==32) ) {
+ alt25=1;
+ }
+
+
+ switch (alt25) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1441:4: otherlv_1= '&' ( (lv_exp_2_0= ruleEqualityExpression ) )
+ {
+ otherlv_1=(Token)match(input,32,FOLLOW_32_in_ruleAndExpression3041);
+
+ newLeafNode(otherlv_1, grammarAccess.getAndExpressionAccess().getAmpersandKeyword_1_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1445:1: ( (lv_exp_2_0= ruleEqualityExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1446:1: (lv_exp_2_0= ruleEqualityExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1446:1: (lv_exp_2_0= ruleEqualityExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1447:3: lv_exp_2_0= ruleEqualityExpression
+ {
+
+ newCompositeNode(grammarAccess.getAndExpressionAccess().getExpEqualityExpressionParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleEqualityExpression_in_ruleAndExpression3062);
+ lv_exp_2_0=ruleEqualityExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAndExpressionRule());
+ }
+ add(
+ current,
+ "exp",
+ lv_exp_2_0,
+ "EqualityExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop25;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleAndExpression"
+
+
+ // $ANTLR start "entryRuleEqualityExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1471:1: entryRuleEqualityExpression returns [EObject current=null] : iv_ruleEqualityExpression= ruleEqualityExpression EOF ;
+ public final EObject entryRuleEqualityExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleEqualityExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1472:2: (iv_ruleEqualityExpression= ruleEqualityExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1473:2: iv_ruleEqualityExpression= ruleEqualityExpression EOF
+ {
+ newCompositeNode(grammarAccess.getEqualityExpressionRule());
+ pushFollow(FOLLOW_ruleEqualityExpression_in_entryRuleEqualityExpression3100);
+ iv_ruleEqualityExpression=ruleEqualityExpression();
+
+ state._fsp--;
+
+ current =iv_ruleEqualityExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleEqualityExpression3110);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleEqualityExpression"
+
+
+ // $ANTLR start "ruleEqualityExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1480:1: ruleEqualityExpression returns [EObject current=null] : ( ( (lv_exp_0_0= ruleClassificationExpression ) ) ( ( ( (lv_op_1_1= '==' | lv_op_1_2= '!=' ) ) ) ( (lv_exp_2_0= ruleClassificationExpression ) ) )* ) ;
+ public final EObject ruleEqualityExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_op_1_1=null;
+ Token lv_op_1_2=null;
+ EObject lv_exp_0_0 = null;
+
+ EObject lv_exp_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1483:28: ( ( ( (lv_exp_0_0= ruleClassificationExpression ) ) ( ( ( (lv_op_1_1= '==' | lv_op_1_2= '!=' ) ) ) ( (lv_exp_2_0= ruleClassificationExpression ) ) )* ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1484:1: ( ( (lv_exp_0_0= ruleClassificationExpression ) ) ( ( ( (lv_op_1_1= '==' | lv_op_1_2= '!=' ) ) ) ( (lv_exp_2_0= ruleClassificationExpression ) ) )* )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1484:1: ( ( (lv_exp_0_0= ruleClassificationExpression ) ) ( ( ( (lv_op_1_1= '==' | lv_op_1_2= '!=' ) ) ) ( (lv_exp_2_0= ruleClassificationExpression ) ) )* )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1484:2: ( (lv_exp_0_0= ruleClassificationExpression ) ) ( ( ( (lv_op_1_1= '==' | lv_op_1_2= '!=' ) ) ) ( (lv_exp_2_0= ruleClassificationExpression ) ) )*
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1484:2: ( (lv_exp_0_0= ruleClassificationExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1485:1: (lv_exp_0_0= ruleClassificationExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1485:1: (lv_exp_0_0= ruleClassificationExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1486:3: lv_exp_0_0= ruleClassificationExpression
+ {
+
+ newCompositeNode(grammarAccess.getEqualityExpressionAccess().getExpClassificationExpressionParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleClassificationExpression_in_ruleEqualityExpression3156);
+ lv_exp_0_0=ruleClassificationExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getEqualityExpressionRule());
+ }
+ add(
+ current,
+ "exp",
+ lv_exp_0_0,
+ "ClassificationExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1502:2: ( ( ( (lv_op_1_1= '==' | lv_op_1_2= '!=' ) ) ) ( (lv_exp_2_0= ruleClassificationExpression ) ) )*
+ loop27:
+ do {
+ int alt27=2;
+ int LA27_0 = input.LA(1);
+
+ if ( ((LA27_0>=33 && LA27_0<=34)) ) {
+ alt27=1;
+ }
+
+
+ switch (alt27) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1502:3: ( ( (lv_op_1_1= '==' | lv_op_1_2= '!=' ) ) ) ( (lv_exp_2_0= ruleClassificationExpression ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1502:3: ( ( (lv_op_1_1= '==' | lv_op_1_2= '!=' ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1503:1: ( (lv_op_1_1= '==' | lv_op_1_2= '!=' ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1503:1: ( (lv_op_1_1= '==' | lv_op_1_2= '!=' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1504:1: (lv_op_1_1= '==' | lv_op_1_2= '!=' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1504:1: (lv_op_1_1= '==' | lv_op_1_2= '!=' )
+ int alt26=2;
+ int LA26_0 = input.LA(1);
+
+ if ( (LA26_0==33) ) {
+ alt26=1;
+ }
+ else if ( (LA26_0==34) ) {
+ alt26=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 26, 0, input);
+
+ throw nvae;
+ }
+ switch (alt26) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1505:3: lv_op_1_1= '=='
+ {
+ lv_op_1_1=(Token)match(input,33,FOLLOW_33_in_ruleEqualityExpression3177);
+
+ newLeafNode(lv_op_1_1, grammarAccess.getEqualityExpressionAccess().getOpEqualsSignEqualsSignKeyword_1_0_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getEqualityExpressionRule());
+ }
+ addWithLastConsumed(current, "op", lv_op_1_1, null);
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1517:8: lv_op_1_2= '!='
+ {
+ lv_op_1_2=(Token)match(input,34,FOLLOW_34_in_ruleEqualityExpression3206);
+
+ newLeafNode(lv_op_1_2, grammarAccess.getEqualityExpressionAccess().getOpExclamationMarkEqualsSignKeyword_1_0_0_1());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getEqualityExpressionRule());
+ }
+ addWithLastConsumed(current, "op", lv_op_1_2, null);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1532:2: ( (lv_exp_2_0= ruleClassificationExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1533:1: (lv_exp_2_0= ruleClassificationExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1533:1: (lv_exp_2_0= ruleClassificationExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1534:3: lv_exp_2_0= ruleClassificationExpression
+ {
+
+ newCompositeNode(grammarAccess.getEqualityExpressionAccess().getExpClassificationExpressionParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleClassificationExpression_in_ruleEqualityExpression3243);
+ lv_exp_2_0=ruleClassificationExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getEqualityExpressionRule());
+ }
+ add(
+ current,
+ "exp",
+ lv_exp_2_0,
+ "ClassificationExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop27;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleEqualityExpression"
+
+
+ // $ANTLR start "entryRuleClassificationExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1558:1: entryRuleClassificationExpression returns [EObject current=null] : iv_ruleClassificationExpression= ruleClassificationExpression EOF ;
+ public final EObject entryRuleClassificationExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleClassificationExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1559:2: (iv_ruleClassificationExpression= ruleClassificationExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1560:2: iv_ruleClassificationExpression= ruleClassificationExpression EOF
+ {
+ newCompositeNode(grammarAccess.getClassificationExpressionRule());
+ pushFollow(FOLLOW_ruleClassificationExpression_in_entryRuleClassificationExpression3281);
+ iv_ruleClassificationExpression=ruleClassificationExpression();
+
+ state._fsp--;
+
+ current =iv_ruleClassificationExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleClassificationExpression3291);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleClassificationExpression"
+
+
+ // $ANTLR start "ruleClassificationExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1567:1: ruleClassificationExpression returns [EObject current=null] : ( ( (lv_exp_0_0= ruleRelationalExpression ) ) ( ( ( (lv_op_1_1= 'instanceof' | lv_op_1_2= 'hastype' ) ) ) ( (lv_typeName_2_0= ruleNameExpression ) ) )? ) ;
+ public final EObject ruleClassificationExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_op_1_1=null;
+ Token lv_op_1_2=null;
+ EObject lv_exp_0_0 = null;
+
+ EObject lv_typeName_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1570:28: ( ( ( (lv_exp_0_0= ruleRelationalExpression ) ) ( ( ( (lv_op_1_1= 'instanceof' | lv_op_1_2= 'hastype' ) ) ) ( (lv_typeName_2_0= ruleNameExpression ) ) )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1571:1: ( ( (lv_exp_0_0= ruleRelationalExpression ) ) ( ( ( (lv_op_1_1= 'instanceof' | lv_op_1_2= 'hastype' ) ) ) ( (lv_typeName_2_0= ruleNameExpression ) ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1571:1: ( ( (lv_exp_0_0= ruleRelationalExpression ) ) ( ( ( (lv_op_1_1= 'instanceof' | lv_op_1_2= 'hastype' ) ) ) ( (lv_typeName_2_0= ruleNameExpression ) ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1571:2: ( (lv_exp_0_0= ruleRelationalExpression ) ) ( ( ( (lv_op_1_1= 'instanceof' | lv_op_1_2= 'hastype' ) ) ) ( (lv_typeName_2_0= ruleNameExpression ) ) )?
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1571:2: ( (lv_exp_0_0= ruleRelationalExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1572:1: (lv_exp_0_0= ruleRelationalExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1572:1: (lv_exp_0_0= ruleRelationalExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1573:3: lv_exp_0_0= ruleRelationalExpression
+ {
+
+ newCompositeNode(grammarAccess.getClassificationExpressionAccess().getExpRelationalExpressionParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleRelationalExpression_in_ruleClassificationExpression3337);
+ lv_exp_0_0=ruleRelationalExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getClassificationExpressionRule());
+ }
+ set(
+ current,
+ "exp",
+ lv_exp_0_0,
+ "RelationalExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1589:2: ( ( ( (lv_op_1_1= 'instanceof' | lv_op_1_2= 'hastype' ) ) ) ( (lv_typeName_2_0= ruleNameExpression ) ) )?
+ int alt29=2;
+ int LA29_0 = input.LA(1);
+
+ if ( ((LA29_0>=35 && LA29_0<=36)) ) {
+ alt29=1;
+ }
+ switch (alt29) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1589:3: ( ( (lv_op_1_1= 'instanceof' | lv_op_1_2= 'hastype' ) ) ) ( (lv_typeName_2_0= ruleNameExpression ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1589:3: ( ( (lv_op_1_1= 'instanceof' | lv_op_1_2= 'hastype' ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1590:1: ( (lv_op_1_1= 'instanceof' | lv_op_1_2= 'hastype' ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1590:1: ( (lv_op_1_1= 'instanceof' | lv_op_1_2= 'hastype' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1591:1: (lv_op_1_1= 'instanceof' | lv_op_1_2= 'hastype' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1591:1: (lv_op_1_1= 'instanceof' | lv_op_1_2= 'hastype' )
+ int alt28=2;
+ int LA28_0 = input.LA(1);
+
+ if ( (LA28_0==35) ) {
+ alt28=1;
+ }
+ else if ( (LA28_0==36) ) {
+ alt28=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 28, 0, input);
+
+ throw nvae;
+ }
+ switch (alt28) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1592:3: lv_op_1_1= 'instanceof'
+ {
+ lv_op_1_1=(Token)match(input,35,FOLLOW_35_in_ruleClassificationExpression3358);
+
+ newLeafNode(lv_op_1_1, grammarAccess.getClassificationExpressionAccess().getOpInstanceofKeyword_1_0_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getClassificationExpressionRule());
+ }
+ setWithLastConsumed(current, "op", lv_op_1_1, null);
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1604:8: lv_op_1_2= 'hastype'
+ {
+ lv_op_1_2=(Token)match(input,36,FOLLOW_36_in_ruleClassificationExpression3387);
+
+ newLeafNode(lv_op_1_2, grammarAccess.getClassificationExpressionAccess().getOpHastypeKeyword_1_0_0_1());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getClassificationExpressionRule());
+ }
+ setWithLastConsumed(current, "op", lv_op_1_2, null);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1619:2: ( (lv_typeName_2_0= ruleNameExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1620:1: (lv_typeName_2_0= ruleNameExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1620:1: (lv_typeName_2_0= ruleNameExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1621:3: lv_typeName_2_0= ruleNameExpression
+ {
+
+ newCompositeNode(grammarAccess.getClassificationExpressionAccess().getTypeNameNameExpressionParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleNameExpression_in_ruleClassificationExpression3424);
+ lv_typeName_2_0=ruleNameExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getClassificationExpressionRule());
+ }
+ set(
+ current,
+ "typeName",
+ lv_typeName_2_0,
+ "NameExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleClassificationExpression"
+
+
+ // $ANTLR start "entryRuleRelationalExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1645:1: entryRuleRelationalExpression returns [EObject current=null] : iv_ruleRelationalExpression= ruleRelationalExpression EOF ;
+ public final EObject entryRuleRelationalExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleRelationalExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1646:2: (iv_ruleRelationalExpression= ruleRelationalExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1647:2: iv_ruleRelationalExpression= ruleRelationalExpression EOF
+ {
+ newCompositeNode(grammarAccess.getRelationalExpressionRule());
+ pushFollow(FOLLOW_ruleRelationalExpression_in_entryRuleRelationalExpression3462);
+ iv_ruleRelationalExpression=ruleRelationalExpression();
+
+ state._fsp--;
+
+ current =iv_ruleRelationalExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRelationalExpression3472);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleRelationalExpression"
+
+
+ // $ANTLR start "ruleRelationalExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1654:1: ruleRelationalExpression returns [EObject current=null] : ( ( (lv_left_0_0= ruleShiftExpression ) ) ( ( ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) ) ) ( (lv_right_2_0= ruleShiftExpression ) ) )? ) ;
+ public final EObject ruleRelationalExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_op_1_1=null;
+ Token lv_op_1_2=null;
+ Token lv_op_1_3=null;
+ Token lv_op_1_4=null;
+ EObject lv_left_0_0 = null;
+
+ EObject lv_right_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1657:28: ( ( ( (lv_left_0_0= ruleShiftExpression ) ) ( ( ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) ) ) ( (lv_right_2_0= ruleShiftExpression ) ) )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1658:1: ( ( (lv_left_0_0= ruleShiftExpression ) ) ( ( ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) ) ) ( (lv_right_2_0= ruleShiftExpression ) ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1658:1: ( ( (lv_left_0_0= ruleShiftExpression ) ) ( ( ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) ) ) ( (lv_right_2_0= ruleShiftExpression ) ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1658:2: ( (lv_left_0_0= ruleShiftExpression ) ) ( ( ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) ) ) ( (lv_right_2_0= ruleShiftExpression ) ) )?
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1658:2: ( (lv_left_0_0= ruleShiftExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1659:1: (lv_left_0_0= ruleShiftExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1659:1: (lv_left_0_0= ruleShiftExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1660:3: lv_left_0_0= ruleShiftExpression
+ {
+
+ newCompositeNode(grammarAccess.getRelationalExpressionAccess().getLeftShiftExpressionParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleShiftExpression_in_ruleRelationalExpression3518);
+ lv_left_0_0=ruleShiftExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRelationalExpressionRule());
+ }
+ set(
+ current,
+ "left",
+ lv_left_0_0,
+ "ShiftExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1676:2: ( ( ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) ) ) ( (lv_right_2_0= ruleShiftExpression ) ) )?
+ int alt31=2;
+ int LA31_0 = input.LA(1);
+
+ if ( (LA31_0==20||LA31_0==22||(LA31_0>=37 && LA31_0<=38)) ) {
+ alt31=1;
+ }
+ switch (alt31) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1676:3: ( ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) ) ) ( (lv_right_2_0= ruleShiftExpression ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1676:3: ( ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1677:1: ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1677:1: ( (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1678:1: (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1678:1: (lv_op_1_1= '<' | lv_op_1_2= '>' | lv_op_1_3= '<=' | lv_op_1_4= '>=' )
+ int alt30=4;
+ switch ( input.LA(1) ) {
+ case 20:
+ {
+ alt30=1;
+ }
+ break;
+ case 22:
+ {
+ alt30=2;
+ }
+ break;
+ case 37:
+ {
+ alt30=3;
+ }
+ break;
+ case 38:
+ {
+ alt30=4;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 30, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt30) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1679:3: lv_op_1_1= '<'
+ {
+ lv_op_1_1=(Token)match(input,20,FOLLOW_20_in_ruleRelationalExpression3539);
+
+ newLeafNode(lv_op_1_1, grammarAccess.getRelationalExpressionAccess().getOpLessThanSignKeyword_1_0_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getRelationalExpressionRule());
+ }
+ setWithLastConsumed(current, "op", lv_op_1_1, null);
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1691:8: lv_op_1_2= '>'
+ {
+ lv_op_1_2=(Token)match(input,22,FOLLOW_22_in_ruleRelationalExpression3568);
+
+ newLeafNode(lv_op_1_2, grammarAccess.getRelationalExpressionAccess().getOpGreaterThanSignKeyword_1_0_0_1());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getRelationalExpressionRule());
+ }
+ setWithLastConsumed(current, "op", lv_op_1_2, null);
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1703:8: lv_op_1_3= '<='
+ {
+ lv_op_1_3=(Token)match(input,37,FOLLOW_37_in_ruleRelationalExpression3597);
+
+ newLeafNode(lv_op_1_3, grammarAccess.getRelationalExpressionAccess().getOpLessThanSignEqualsSignKeyword_1_0_0_2());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getRelationalExpressionRule());
+ }
+ setWithLastConsumed(current, "op", lv_op_1_3, null);
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1715:8: lv_op_1_4= '>='
+ {
+ lv_op_1_4=(Token)match(input,38,FOLLOW_38_in_ruleRelationalExpression3626);
+
+ newLeafNode(lv_op_1_4, grammarAccess.getRelationalExpressionAccess().getOpGreaterThanSignEqualsSignKeyword_1_0_0_3());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getRelationalExpressionRule());
+ }
+ setWithLastConsumed(current, "op", lv_op_1_4, null);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1730:2: ( (lv_right_2_0= ruleShiftExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1731:1: (lv_right_2_0= ruleShiftExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1731:1: (lv_right_2_0= ruleShiftExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1732:3: lv_right_2_0= ruleShiftExpression
+ {
+
+ newCompositeNode(grammarAccess.getRelationalExpressionAccess().getRightShiftExpressionParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleShiftExpression_in_ruleRelationalExpression3663);
+ lv_right_2_0=ruleShiftExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRelationalExpressionRule());
+ }
+ set(
+ current,
+ "right",
+ lv_right_2_0,
+ "ShiftExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleRelationalExpression"
+
+
+ // $ANTLR start "entryRuleShiftExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1756:1: entryRuleShiftExpression returns [EObject current=null] : iv_ruleShiftExpression= ruleShiftExpression EOF ;
+ public final EObject entryRuleShiftExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleShiftExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1757:2: (iv_ruleShiftExpression= ruleShiftExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1758:2: iv_ruleShiftExpression= ruleShiftExpression EOF
+ {
+ newCompositeNode(grammarAccess.getShiftExpressionRule());
+ pushFollow(FOLLOW_ruleShiftExpression_in_entryRuleShiftExpression3701);
+ iv_ruleShiftExpression=ruleShiftExpression();
+
+ state._fsp--;
+
+ current =iv_ruleShiftExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleShiftExpression3711);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleShiftExpression"
+
+
+ // $ANTLR start "ruleShiftExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1765:1: ruleShiftExpression returns [EObject current=null] : ( ( (lv_exp_0_0= ruleAdditiveExpression ) ) ( ( ( (lv_op_1_1= '<<' | lv_op_1_2= '>>' | lv_op_1_3= '>>>' ) ) ) ( (lv_exp_2_0= ruleAdditiveExpression ) ) )? ) ;
+ public final EObject ruleShiftExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_op_1_1=null;
+ Token lv_op_1_2=null;
+ Token lv_op_1_3=null;
+ EObject lv_exp_0_0 = null;
+
+ EObject lv_exp_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1768:28: ( ( ( (lv_exp_0_0= ruleAdditiveExpression ) ) ( ( ( (lv_op_1_1= '<<' | lv_op_1_2= '>>' | lv_op_1_3= '>>>' ) ) ) ( (lv_exp_2_0= ruleAdditiveExpression ) ) )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1769:1: ( ( (lv_exp_0_0= ruleAdditiveExpression ) ) ( ( ( (lv_op_1_1= '<<' | lv_op_1_2= '>>' | lv_op_1_3= '>>>' ) ) ) ( (lv_exp_2_0= ruleAdditiveExpression ) ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1769:1: ( ( (lv_exp_0_0= ruleAdditiveExpression ) ) ( ( ( (lv_op_1_1= '<<' | lv_op_1_2= '>>' | lv_op_1_3= '>>>' ) ) ) ( (lv_exp_2_0= ruleAdditiveExpression ) ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1769:2: ( (lv_exp_0_0= ruleAdditiveExpression ) ) ( ( ( (lv_op_1_1= '<<' | lv_op_1_2= '>>' | lv_op_1_3= '>>>' ) ) ) ( (lv_exp_2_0= ruleAdditiveExpression ) ) )?
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1769:2: ( (lv_exp_0_0= ruleAdditiveExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1770:1: (lv_exp_0_0= ruleAdditiveExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1770:1: (lv_exp_0_0= ruleAdditiveExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1771:3: lv_exp_0_0= ruleAdditiveExpression
+ {
+
+ newCompositeNode(grammarAccess.getShiftExpressionAccess().getExpAdditiveExpressionParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleAdditiveExpression_in_ruleShiftExpression3757);
+ lv_exp_0_0=ruleAdditiveExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getShiftExpressionRule());
+ }
+ add(
+ current,
+ "exp",
+ lv_exp_0_0,
+ "AdditiveExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1787:2: ( ( ( (lv_op_1_1= '<<' | lv_op_1_2= '>>' | lv_op_1_3= '>>>' ) ) ) ( (lv_exp_2_0= ruleAdditiveExpression ) ) )?
+ int alt33=2;
+ int LA33_0 = input.LA(1);
+
+ if ( ((LA33_0>=39 && LA33_0<=41)) ) {
+ alt33=1;
+ }
+ switch (alt33) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1787:3: ( ( (lv_op_1_1= '<<' | lv_op_1_2= '>>' | lv_op_1_3= '>>>' ) ) ) ( (lv_exp_2_0= ruleAdditiveExpression ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1787:3: ( ( (lv_op_1_1= '<<' | lv_op_1_2= '>>' | lv_op_1_3= '>>>' ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1788:1: ( (lv_op_1_1= '<<' | lv_op_1_2= '>>' | lv_op_1_3= '>>>' ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1788:1: ( (lv_op_1_1= '<<' | lv_op_1_2= '>>' | lv_op_1_3= '>>>' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1789:1: (lv_op_1_1= '<<' | lv_op_1_2= '>>' | lv_op_1_3= '>>>' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1789:1: (lv_op_1_1= '<<' | lv_op_1_2= '>>' | lv_op_1_3= '>>>' )
+ int alt32=3;
+ switch ( input.LA(1) ) {
+ case 39:
+ {
+ alt32=1;
+ }
+ break;
+ case 40:
+ {
+ alt32=2;
+ }
+ break;
+ case 41:
+ {
+ alt32=3;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 32, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt32) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1790:3: lv_op_1_1= '<<'
+ {
+ lv_op_1_1=(Token)match(input,39,FOLLOW_39_in_ruleShiftExpression3778);
+
+ newLeafNode(lv_op_1_1, grammarAccess.getShiftExpressionAccess().getOpLessThanSignLessThanSignKeyword_1_0_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getShiftExpressionRule());
+ }
+ setWithLastConsumed(current, "op", lv_op_1_1, null);
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1802:8: lv_op_1_2= '>>'
+ {
+ lv_op_1_2=(Token)match(input,40,FOLLOW_40_in_ruleShiftExpression3807);
+
+ newLeafNode(lv_op_1_2, grammarAccess.getShiftExpressionAccess().getOpGreaterThanSignGreaterThanSignKeyword_1_0_0_1());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getShiftExpressionRule());
+ }
+ setWithLastConsumed(current, "op", lv_op_1_2, null);
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1814:8: lv_op_1_3= '>>>'
+ {
+ lv_op_1_3=(Token)match(input,41,FOLLOW_41_in_ruleShiftExpression3836);
+
+ newLeafNode(lv_op_1_3, grammarAccess.getShiftExpressionAccess().getOpGreaterThanSignGreaterThanSignGreaterThanSignKeyword_1_0_0_2());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getShiftExpressionRule());
+ }
+ setWithLastConsumed(current, "op", lv_op_1_3, null);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1829:2: ( (lv_exp_2_0= ruleAdditiveExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1830:1: (lv_exp_2_0= ruleAdditiveExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1830:1: (lv_exp_2_0= ruleAdditiveExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1831:3: lv_exp_2_0= ruleAdditiveExpression
+ {
+
+ newCompositeNode(grammarAccess.getShiftExpressionAccess().getExpAdditiveExpressionParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleAdditiveExpression_in_ruleShiftExpression3873);
+ lv_exp_2_0=ruleAdditiveExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getShiftExpressionRule());
+ }
+ add(
+ current,
+ "exp",
+ lv_exp_2_0,
+ "AdditiveExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleShiftExpression"
+
+
+ // $ANTLR start "entryRuleAdditiveExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1855:1: entryRuleAdditiveExpression returns [EObject current=null] : iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ;
+ public final EObject entryRuleAdditiveExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleAdditiveExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1856:2: (iv_ruleAdditiveExpression= ruleAdditiveExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1857:2: iv_ruleAdditiveExpression= ruleAdditiveExpression EOF
+ {
+ newCompositeNode(grammarAccess.getAdditiveExpressionRule());
+ pushFollow(FOLLOW_ruleAdditiveExpression_in_entryRuleAdditiveExpression3911);
+ iv_ruleAdditiveExpression=ruleAdditiveExpression();
+
+ state._fsp--;
+
+ current =iv_ruleAdditiveExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAdditiveExpression3921);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleAdditiveExpression"
+
+
+ // $ANTLR start "ruleAdditiveExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1864:1: ruleAdditiveExpression returns [EObject current=null] : ( ( (lv_exp_0_0= ruleMultiplicativeExpression ) ) ( ( ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) ) ) ( (lv_exp_2_0= ruleMultiplicativeExpression ) ) )* ) ;
+ public final EObject ruleAdditiveExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_op_1_1=null;
+ Token lv_op_1_2=null;
+ EObject lv_exp_0_0 = null;
+
+ EObject lv_exp_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1867:28: ( ( ( (lv_exp_0_0= ruleMultiplicativeExpression ) ) ( ( ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) ) ) ( (lv_exp_2_0= ruleMultiplicativeExpression ) ) )* ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1868:1: ( ( (lv_exp_0_0= ruleMultiplicativeExpression ) ) ( ( ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) ) ) ( (lv_exp_2_0= ruleMultiplicativeExpression ) ) )* )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1868:1: ( ( (lv_exp_0_0= ruleMultiplicativeExpression ) ) ( ( ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) ) ) ( (lv_exp_2_0= ruleMultiplicativeExpression ) ) )* )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1868:2: ( (lv_exp_0_0= ruleMultiplicativeExpression ) ) ( ( ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) ) ) ( (lv_exp_2_0= ruleMultiplicativeExpression ) ) )*
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1868:2: ( (lv_exp_0_0= ruleMultiplicativeExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1869:1: (lv_exp_0_0= ruleMultiplicativeExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1869:1: (lv_exp_0_0= ruleMultiplicativeExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1870:3: lv_exp_0_0= ruleMultiplicativeExpression
+ {
+
+ newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getExpMultiplicativeExpressionParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleMultiplicativeExpression_in_ruleAdditiveExpression3967);
+ lv_exp_0_0=ruleMultiplicativeExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule());
+ }
+ add(
+ current,
+ "exp",
+ lv_exp_0_0,
+ "MultiplicativeExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1886:2: ( ( ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) ) ) ( (lv_exp_2_0= ruleMultiplicativeExpression ) ) )*
+ loop35:
+ do {
+ int alt35=2;
+ int LA35_0 = input.LA(1);
+
+ if ( ((LA35_0>=42 && LA35_0<=43)) ) {
+ alt35=1;
+ }
+
+
+ switch (alt35) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1886:3: ( ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) ) ) ( (lv_exp_2_0= ruleMultiplicativeExpression ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1886:3: ( ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1887:1: ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1887:1: ( (lv_op_1_1= '+' | lv_op_1_2= '-' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1888:1: (lv_op_1_1= '+' | lv_op_1_2= '-' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1888:1: (lv_op_1_1= '+' | lv_op_1_2= '-' )
+ int alt34=2;
+ int LA34_0 = input.LA(1);
+
+ if ( (LA34_0==42) ) {
+ alt34=1;
+ }
+ else if ( (LA34_0==43) ) {
+ alt34=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 34, 0, input);
+
+ throw nvae;
+ }
+ switch (alt34) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1889:3: lv_op_1_1= '+'
+ {
+ lv_op_1_1=(Token)match(input,42,FOLLOW_42_in_ruleAdditiveExpression3988);
+
+ newLeafNode(lv_op_1_1, grammarAccess.getAdditiveExpressionAccess().getOpPlusSignKeyword_1_0_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getAdditiveExpressionRule());
+ }
+ addWithLastConsumed(current, "op", lv_op_1_1, null);
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1901:8: lv_op_1_2= '-'
+ {
+ lv_op_1_2=(Token)match(input,43,FOLLOW_43_in_ruleAdditiveExpression4017);
+
+ newLeafNode(lv_op_1_2, grammarAccess.getAdditiveExpressionAccess().getOpHyphenMinusKeyword_1_0_0_1());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getAdditiveExpressionRule());
+ }
+ addWithLastConsumed(current, "op", lv_op_1_2, null);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1916:2: ( (lv_exp_2_0= ruleMultiplicativeExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1917:1: (lv_exp_2_0= ruleMultiplicativeExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1917:1: (lv_exp_2_0= ruleMultiplicativeExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1918:3: lv_exp_2_0= ruleMultiplicativeExpression
+ {
+
+ newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getExpMultiplicativeExpressionParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleMultiplicativeExpression_in_ruleAdditiveExpression4054);
+ lv_exp_2_0=ruleMultiplicativeExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAdditiveExpressionRule());
+ }
+ add(
+ current,
+ "exp",
+ lv_exp_2_0,
+ "MultiplicativeExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop35;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleAdditiveExpression"
+
+
+ // $ANTLR start "entryRuleMultiplicativeExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1942:1: entryRuleMultiplicativeExpression returns [EObject current=null] : iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ;
+ public final EObject entryRuleMultiplicativeExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleMultiplicativeExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1943:2: (iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1944:2: iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF
+ {
+ newCompositeNode(grammarAccess.getMultiplicativeExpressionRule());
+ pushFollow(FOLLOW_ruleMultiplicativeExpression_in_entryRuleMultiplicativeExpression4092);
+ iv_ruleMultiplicativeExpression=ruleMultiplicativeExpression();
+
+ state._fsp--;
+
+ current =iv_ruleMultiplicativeExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleMultiplicativeExpression4102);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleMultiplicativeExpression"
+
+
+ // $ANTLR start "ruleMultiplicativeExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1951:1: ruleMultiplicativeExpression returns [EObject current=null] : ( ( (lv_exp_0_0= ruleUnaryExpression ) ) ( ( ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= '%' ) ) ) ( (lv_exp_2_0= ruleUnaryExpression ) ) )* ) ;
+ public final EObject ruleMultiplicativeExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_op_1_1=null;
+ Token lv_op_1_2=null;
+ Token lv_op_1_3=null;
+ EObject lv_exp_0_0 = null;
+
+ EObject lv_exp_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1954:28: ( ( ( (lv_exp_0_0= ruleUnaryExpression ) ) ( ( ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= '%' ) ) ) ( (lv_exp_2_0= ruleUnaryExpression ) ) )* ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1955:1: ( ( (lv_exp_0_0= ruleUnaryExpression ) ) ( ( ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= '%' ) ) ) ( (lv_exp_2_0= ruleUnaryExpression ) ) )* )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1955:1: ( ( (lv_exp_0_0= ruleUnaryExpression ) ) ( ( ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= '%' ) ) ) ( (lv_exp_2_0= ruleUnaryExpression ) ) )* )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1955:2: ( (lv_exp_0_0= ruleUnaryExpression ) ) ( ( ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= '%' ) ) ) ( (lv_exp_2_0= ruleUnaryExpression ) ) )*
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1955:2: ( (lv_exp_0_0= ruleUnaryExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1956:1: (lv_exp_0_0= ruleUnaryExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1956:1: (lv_exp_0_0= ruleUnaryExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1957:3: lv_exp_0_0= ruleUnaryExpression
+ {
+
+ newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExpUnaryExpressionParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleUnaryExpression_in_ruleMultiplicativeExpression4148);
+ lv_exp_0_0=ruleUnaryExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule());
+ }
+ add(
+ current,
+ "exp",
+ lv_exp_0_0,
+ "UnaryExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1973:2: ( ( ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= '%' ) ) ) ( (lv_exp_2_0= ruleUnaryExpression ) ) )*
+ loop37:
+ do {
+ int alt37=2;
+ int LA37_0 = input.LA(1);
+
+ if ( (LA37_0==16||(LA37_0>=44 && LA37_0<=45)) ) {
+ alt37=1;
+ }
+
+
+ switch (alt37) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1973:3: ( ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= '%' ) ) ) ( (lv_exp_2_0= ruleUnaryExpression ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1973:3: ( ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= '%' ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1974:1: ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= '%' ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1974:1: ( (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= '%' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1975:1: (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= '%' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1975:1: (lv_op_1_1= '*' | lv_op_1_2= '/' | lv_op_1_3= '%' )
+ int alt36=3;
+ switch ( input.LA(1) ) {
+ case 16:
+ {
+ alt36=1;
+ }
+ break;
+ case 44:
+ {
+ alt36=2;
+ }
+ break;
+ case 45:
+ {
+ alt36=3;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 36, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt36) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1976:3: lv_op_1_1= '*'
+ {
+ lv_op_1_1=(Token)match(input,16,FOLLOW_16_in_ruleMultiplicativeExpression4169);
+
+ newLeafNode(lv_op_1_1, grammarAccess.getMultiplicativeExpressionAccess().getOpAsteriskKeyword_1_0_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getMultiplicativeExpressionRule());
+ }
+ addWithLastConsumed(current, "op", lv_op_1_1, null);
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:1988:8: lv_op_1_2= '/'
+ {
+ lv_op_1_2=(Token)match(input,44,FOLLOW_44_in_ruleMultiplicativeExpression4198);
+
+ newLeafNode(lv_op_1_2, grammarAccess.getMultiplicativeExpressionAccess().getOpSolidusKeyword_1_0_0_1());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getMultiplicativeExpressionRule());
+ }
+ addWithLastConsumed(current, "op", lv_op_1_2, null);
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2000:8: lv_op_1_3= '%'
+ {
+ lv_op_1_3=(Token)match(input,45,FOLLOW_45_in_ruleMultiplicativeExpression4227);
+
+ newLeafNode(lv_op_1_3, grammarAccess.getMultiplicativeExpressionAccess().getOpPercentSignKeyword_1_0_0_2());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getMultiplicativeExpressionRule());
+ }
+ addWithLastConsumed(current, "op", lv_op_1_3, null);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2015:2: ( (lv_exp_2_0= ruleUnaryExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2016:1: (lv_exp_2_0= ruleUnaryExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2016:1: (lv_exp_2_0= ruleUnaryExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2017:3: lv_exp_2_0= ruleUnaryExpression
+ {
+
+ newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExpUnaryExpressionParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleUnaryExpression_in_ruleMultiplicativeExpression4264);
+ lv_exp_2_0=ruleUnaryExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getMultiplicativeExpressionRule());
+ }
+ add(
+ current,
+ "exp",
+ lv_exp_2_0,
+ "UnaryExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop37;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleMultiplicativeExpression"
+
+
+ // $ANTLR start "entryRuleUnaryExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2041:1: entryRuleUnaryExpression returns [EObject current=null] : iv_ruleUnaryExpression= ruleUnaryExpression EOF ;
+ public final EObject entryRuleUnaryExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleUnaryExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2042:2: (iv_ruleUnaryExpression= ruleUnaryExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2043:2: iv_ruleUnaryExpression= ruleUnaryExpression EOF
+ {
+ newCompositeNode(grammarAccess.getUnaryExpressionRule());
+ pushFollow(FOLLOW_ruleUnaryExpression_in_entryRuleUnaryExpression4302);
+ iv_ruleUnaryExpression=ruleUnaryExpression();
+
+ state._fsp--;
+
+ current =iv_ruleUnaryExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleUnaryExpression4312);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleUnaryExpression"
+
+
+ // $ANTLR start "ruleUnaryExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2050:1: ruleUnaryExpression returns [EObject current=null] : ( ( ( (lv_op_0_1= '!' | lv_op_0_2= '-' | lv_op_0_3= '+' | lv_op_0_4= '$' | lv_op_0_5= '~' ) ) )? ( (lv_exp_1_0= rulePrimaryExpression ) ) ) ;
+ public final EObject ruleUnaryExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_op_0_1=null;
+ Token lv_op_0_2=null;
+ Token lv_op_0_3=null;
+ Token lv_op_0_4=null;
+ Token lv_op_0_5=null;
+ EObject lv_exp_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2053:28: ( ( ( ( (lv_op_0_1= '!' | lv_op_0_2= '-' | lv_op_0_3= '+' | lv_op_0_4= '$' | lv_op_0_5= '~' ) ) )? ( (lv_exp_1_0= rulePrimaryExpression ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2054:1: ( ( ( (lv_op_0_1= '!' | lv_op_0_2= '-' | lv_op_0_3= '+' | lv_op_0_4= '$' | lv_op_0_5= '~' ) ) )? ( (lv_exp_1_0= rulePrimaryExpression ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2054:1: ( ( ( (lv_op_0_1= '!' | lv_op_0_2= '-' | lv_op_0_3= '+' | lv_op_0_4= '$' | lv_op_0_5= '~' ) ) )? ( (lv_exp_1_0= rulePrimaryExpression ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2054:2: ( ( (lv_op_0_1= '!' | lv_op_0_2= '-' | lv_op_0_3= '+' | lv_op_0_4= '$' | lv_op_0_5= '~' ) ) )? ( (lv_exp_1_0= rulePrimaryExpression ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2054:2: ( ( (lv_op_0_1= '!' | lv_op_0_2= '-' | lv_op_0_3= '+' | lv_op_0_4= '$' | lv_op_0_5= '~' ) ) )?
+ int alt39=2;
+ int LA39_0 = input.LA(1);
+
+ if ( ((LA39_0>=42 && LA39_0<=43)||(LA39_0>=46 && LA39_0<=48)) ) {
+ alt39=1;
+ }
+ switch (alt39) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2055:1: ( (lv_op_0_1= '!' | lv_op_0_2= '-' | lv_op_0_3= '+' | lv_op_0_4= '$' | lv_op_0_5= '~' ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2055:1: ( (lv_op_0_1= '!' | lv_op_0_2= '-' | lv_op_0_3= '+' | lv_op_0_4= '$' | lv_op_0_5= '~' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2056:1: (lv_op_0_1= '!' | lv_op_0_2= '-' | lv_op_0_3= '+' | lv_op_0_4= '$' | lv_op_0_5= '~' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2056:1: (lv_op_0_1= '!' | lv_op_0_2= '-' | lv_op_0_3= '+' | lv_op_0_4= '$' | lv_op_0_5= '~' )
+ int alt38=5;
+ switch ( input.LA(1) ) {
+ case 46:
+ {
+ alt38=1;
+ }
+ break;
+ case 43:
+ {
+ alt38=2;
+ }
+ break;
+ case 42:
+ {
+ alt38=3;
+ }
+ break;
+ case 47:
+ {
+ alt38=4;
+ }
+ break;
+ case 48:
+ {
+ alt38=5;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 38, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt38) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2057:3: lv_op_0_1= '!'
+ {
+ lv_op_0_1=(Token)match(input,46,FOLLOW_46_in_ruleUnaryExpression4357);
+
+ newLeafNode(lv_op_0_1, grammarAccess.getUnaryExpressionAccess().getOpExclamationMarkKeyword_0_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getUnaryExpressionRule());
+ }
+ setWithLastConsumed(current, "op", lv_op_0_1, null);
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2069:8: lv_op_0_2= '-'
+ {
+ lv_op_0_2=(Token)match(input,43,FOLLOW_43_in_ruleUnaryExpression4386);
+
+ newLeafNode(lv_op_0_2, grammarAccess.getUnaryExpressionAccess().getOpHyphenMinusKeyword_0_0_1());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getUnaryExpressionRule());
+ }
+ setWithLastConsumed(current, "op", lv_op_0_2, null);
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2081:8: lv_op_0_3= '+'
+ {
+ lv_op_0_3=(Token)match(input,42,FOLLOW_42_in_ruleUnaryExpression4415);
+
+ newLeafNode(lv_op_0_3, grammarAccess.getUnaryExpressionAccess().getOpPlusSignKeyword_0_0_2());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getUnaryExpressionRule());
+ }
+ setWithLastConsumed(current, "op", lv_op_0_3, null);
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2093:8: lv_op_0_4= '$'
+ {
+ lv_op_0_4=(Token)match(input,47,FOLLOW_47_in_ruleUnaryExpression4444);
+
+ newLeafNode(lv_op_0_4, grammarAccess.getUnaryExpressionAccess().getOpDollarSignKeyword_0_0_3());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getUnaryExpressionRule());
+ }
+ setWithLastConsumed(current, "op", lv_op_0_4, null);
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2105:8: lv_op_0_5= '~'
+ {
+ lv_op_0_5=(Token)match(input,48,FOLLOW_48_in_ruleUnaryExpression4473);
+
+ newLeafNode(lv_op_0_5, grammarAccess.getUnaryExpressionAccess().getOpTildeKeyword_0_0_4());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getUnaryExpressionRule());
+ }
+ setWithLastConsumed(current, "op", lv_op_0_5, null);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2120:3: ( (lv_exp_1_0= rulePrimaryExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2121:1: (lv_exp_1_0= rulePrimaryExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2121:1: (lv_exp_1_0= rulePrimaryExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2122:3: lv_exp_1_0= rulePrimaryExpression
+ {
+
+ newCompositeNode(grammarAccess.getUnaryExpressionAccess().getExpPrimaryExpressionParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_rulePrimaryExpression_in_ruleUnaryExpression4511);
+ lv_exp_1_0=rulePrimaryExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getUnaryExpressionRule());
+ }
+ set(
+ current,
+ "exp",
+ lv_exp_1_0,
+ "PrimaryExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleUnaryExpression"
+
+
+ // $ANTLR start "entryRulePrimaryExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2146:1: entryRulePrimaryExpression returns [EObject current=null] : iv_rulePrimaryExpression= rulePrimaryExpression EOF ;
+ public final EObject entryRulePrimaryExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulePrimaryExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2147:2: (iv_rulePrimaryExpression= rulePrimaryExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2148:2: iv_rulePrimaryExpression= rulePrimaryExpression EOF
+ {
+ newCompositeNode(grammarAccess.getPrimaryExpressionRule());
+ pushFollow(FOLLOW_rulePrimaryExpression_in_entryRulePrimaryExpression4547);
+ iv_rulePrimaryExpression=rulePrimaryExpression();
+
+ state._fsp--;
+
+ current =iv_rulePrimaryExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRulePrimaryExpression4557);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePrimaryExpression"
+
+
+ // $ANTLR start "rulePrimaryExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2155:1: rulePrimaryExpression returns [EObject current=null] : ( (lv_prefix_0_0= ruleValueSpecification ) ) ;
+ public final EObject rulePrimaryExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_prefix_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2158:28: ( ( (lv_prefix_0_0= ruleValueSpecification ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2159:1: ( (lv_prefix_0_0= ruleValueSpecification ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2159:1: ( (lv_prefix_0_0= ruleValueSpecification ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2160:1: (lv_prefix_0_0= ruleValueSpecification )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2160:1: (lv_prefix_0_0= ruleValueSpecification )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2161:3: lv_prefix_0_0= ruleValueSpecification
+ {
+
+ newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getPrefixValueSpecificationParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleValueSpecification_in_rulePrimaryExpression4602);
+ lv_prefix_0_0=ruleValueSpecification();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule());
+ }
+ set(
+ current,
+ "prefix",
+ lv_prefix_0_0,
+ "ValueSpecification");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePrimaryExpression"
+
+
+ // $ANTLR start "entryRuleSuffixExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2185:1: entryRuleSuffixExpression returns [EObject current=null] : iv_ruleSuffixExpression= ruleSuffixExpression EOF ;
+ public final EObject entryRuleSuffixExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSuffixExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2186:2: (iv_ruleSuffixExpression= ruleSuffixExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2187:2: iv_ruleSuffixExpression= ruleSuffixExpression EOF
+ {
+ newCompositeNode(grammarAccess.getSuffixExpressionRule());
+ pushFollow(FOLLOW_ruleSuffixExpression_in_entryRuleSuffixExpression4637);
+ iv_ruleSuffixExpression=ruleSuffixExpression();
+
+ state._fsp--;
+
+ current =iv_ruleSuffixExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSuffixExpression4647);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSuffixExpression"
+
+
+ // $ANTLR start "ruleSuffixExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2194:1: ruleSuffixExpression returns [EObject current=null] : (this_OperationCallExpression_0= ruleOperationCallExpression | this_PropertyCallExpression_1= rulePropertyCallExpression | this_LinkOperationExpression_2= ruleLinkOperationExpression | this_SequenceOperationExpression_3= ruleSequenceOperationExpression | this_SequenceReductionExpression_4= ruleSequenceReductionExpression | this_SequenceExpansionExpression_5= ruleSequenceExpansionExpression | this_ClassExtentExpression_6= ruleClassExtentExpression ) ;
+ public final EObject ruleSuffixExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_OperationCallExpression_0 = null;
+
+ EObject this_PropertyCallExpression_1 = null;
+
+ EObject this_LinkOperationExpression_2 = null;
+
+ EObject this_SequenceOperationExpression_3 = null;
+
+ EObject this_SequenceReductionExpression_4 = null;
+
+ EObject this_SequenceExpansionExpression_5 = null;
+
+ EObject this_ClassExtentExpression_6 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2197:28: ( (this_OperationCallExpression_0= ruleOperationCallExpression | this_PropertyCallExpression_1= rulePropertyCallExpression | this_LinkOperationExpression_2= ruleLinkOperationExpression | this_SequenceOperationExpression_3= ruleSequenceOperationExpression | this_SequenceReductionExpression_4= ruleSequenceReductionExpression | this_SequenceExpansionExpression_5= ruleSequenceExpansionExpression | this_ClassExtentExpression_6= ruleClassExtentExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2198:1: (this_OperationCallExpression_0= ruleOperationCallExpression | this_PropertyCallExpression_1= rulePropertyCallExpression | this_LinkOperationExpression_2= ruleLinkOperationExpression | this_SequenceOperationExpression_3= ruleSequenceOperationExpression | this_SequenceReductionExpression_4= ruleSequenceReductionExpression | this_SequenceExpansionExpression_5= ruleSequenceExpansionExpression | this_ClassExtentExpression_6= ruleClassExtentExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2198:1: (this_OperationCallExpression_0= ruleOperationCallExpression | this_PropertyCallExpression_1= rulePropertyCallExpression | this_LinkOperationExpression_2= ruleLinkOperationExpression | this_SequenceOperationExpression_3= ruleSequenceOperationExpression | this_SequenceReductionExpression_4= ruleSequenceReductionExpression | this_SequenceExpansionExpression_5= ruleSequenceExpansionExpression | this_ClassExtentExpression_6= ruleClassExtentExpression )
+ int alt40=7;
+ alt40 = dfa40.predict(input);
+ switch (alt40) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2199:5: this_OperationCallExpression_0= ruleOperationCallExpression
+ {
+
+ newCompositeNode(grammarAccess.getSuffixExpressionAccess().getOperationCallExpressionParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleOperationCallExpression_in_ruleSuffixExpression4694);
+ this_OperationCallExpression_0=ruleOperationCallExpression();
+
+ state._fsp--;
+
+
+ current = this_OperationCallExpression_0;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2209:5: this_PropertyCallExpression_1= rulePropertyCallExpression
+ {
+
+ newCompositeNode(grammarAccess.getSuffixExpressionAccess().getPropertyCallExpressionParserRuleCall_1());
+
+ pushFollow(FOLLOW_rulePropertyCallExpression_in_ruleSuffixExpression4721);
+ this_PropertyCallExpression_1=rulePropertyCallExpression();
+
+ state._fsp--;
+
+
+ current = this_PropertyCallExpression_1;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2219:5: this_LinkOperationExpression_2= ruleLinkOperationExpression
+ {
+
+ newCompositeNode(grammarAccess.getSuffixExpressionAccess().getLinkOperationExpressionParserRuleCall_2());
+
+ pushFollow(FOLLOW_ruleLinkOperationExpression_in_ruleSuffixExpression4748);
+ this_LinkOperationExpression_2=ruleLinkOperationExpression();
+
+ state._fsp--;
+
+
+ current = this_LinkOperationExpression_2;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2229:5: this_SequenceOperationExpression_3= ruleSequenceOperationExpression
+ {
+
+ newCompositeNode(grammarAccess.getSuffixExpressionAccess().getSequenceOperationExpressionParserRuleCall_3());
+
+ pushFollow(FOLLOW_ruleSequenceOperationExpression_in_ruleSuffixExpression4775);
+ this_SequenceOperationExpression_3=ruleSequenceOperationExpression();
+
+ state._fsp--;
+
+
+ current = this_SequenceOperationExpression_3;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2239:5: this_SequenceReductionExpression_4= ruleSequenceReductionExpression
+ {
+
+ newCompositeNode(grammarAccess.getSuffixExpressionAccess().getSequenceReductionExpressionParserRuleCall_4());
+
+ pushFollow(FOLLOW_ruleSequenceReductionExpression_in_ruleSuffixExpression4802);
+ this_SequenceReductionExpression_4=ruleSequenceReductionExpression();
+
+ state._fsp--;
+
+
+ current = this_SequenceReductionExpression_4;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2249:5: this_SequenceExpansionExpression_5= ruleSequenceExpansionExpression
+ {
+
+ newCompositeNode(grammarAccess.getSuffixExpressionAccess().getSequenceExpansionExpressionParserRuleCall_5());
+
+ pushFollow(FOLLOW_ruleSequenceExpansionExpression_in_ruleSuffixExpression4829);
+ this_SequenceExpansionExpression_5=ruleSequenceExpansionExpression();
+
+ state._fsp--;
+
+
+ current = this_SequenceExpansionExpression_5;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2259:5: this_ClassExtentExpression_6= ruleClassExtentExpression
+ {
+
+ newCompositeNode(grammarAccess.getSuffixExpressionAccess().getClassExtentExpressionParserRuleCall_6());
+
+ pushFollow(FOLLOW_ruleClassExtentExpression_in_ruleSuffixExpression4856);
+ this_ClassExtentExpression_6=ruleClassExtentExpression();
+
+ state._fsp--;
+
+
+ current = this_ClassExtentExpression_6;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSuffixExpression"
+
+
+ // $ANTLR start "entryRuleOperationCallExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2275:1: entryRuleOperationCallExpression returns [EObject current=null] : iv_ruleOperationCallExpression= ruleOperationCallExpression EOF ;
+ public final EObject entryRuleOperationCallExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleOperationCallExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2276:2: (iv_ruleOperationCallExpression= ruleOperationCallExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2277:2: iv_ruleOperationCallExpression= ruleOperationCallExpression EOF
+ {
+ newCompositeNode(grammarAccess.getOperationCallExpressionRule());
+ pushFollow(FOLLOW_ruleOperationCallExpression_in_entryRuleOperationCallExpression4891);
+ iv_ruleOperationCallExpression=ruleOperationCallExpression();
+
+ state._fsp--;
+
+ current =iv_ruleOperationCallExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOperationCallExpression4901);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleOperationCallExpression"
+
+
+ // $ANTLR start "ruleOperationCallExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2284:1: ruleOperationCallExpression returns [EObject current=null] : (otherlv_0= '.' ( (lv_operationName_1_0= RULE_ID ) ) ( (lv_tuple_2_0= ruleTuple ) ) ( (lv_suffix_3_0= ruleSuffixExpression ) )? ) ;
+ public final EObject ruleOperationCallExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token lv_operationName_1_0=null;
+ EObject lv_tuple_2_0 = null;
+
+ EObject lv_suffix_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2287:28: ( (otherlv_0= '.' ( (lv_operationName_1_0= RULE_ID ) ) ( (lv_tuple_2_0= ruleTuple ) ) ( (lv_suffix_3_0= ruleSuffixExpression ) )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2288:1: (otherlv_0= '.' ( (lv_operationName_1_0= RULE_ID ) ) ( (lv_tuple_2_0= ruleTuple ) ) ( (lv_suffix_3_0= ruleSuffixExpression ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2288:1: (otherlv_0= '.' ( (lv_operationName_1_0= RULE_ID ) ) ( (lv_tuple_2_0= ruleTuple ) ) ( (lv_suffix_3_0= ruleSuffixExpression ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2288:3: otherlv_0= '.' ( (lv_operationName_1_0= RULE_ID ) ) ( (lv_tuple_2_0= ruleTuple ) ) ( (lv_suffix_3_0= ruleSuffixExpression ) )?
+ {
+ otherlv_0=(Token)match(input,49,FOLLOW_49_in_ruleOperationCallExpression4938);
+
+ newLeafNode(otherlv_0, grammarAccess.getOperationCallExpressionAccess().getFullStopKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2292:1: ( (lv_operationName_1_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2293:1: (lv_operationName_1_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2293:1: (lv_operationName_1_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2294:3: lv_operationName_1_0= RULE_ID
+ {
+ lv_operationName_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleOperationCallExpression4955);
+
+ newLeafNode(lv_operationName_1_0, grammarAccess.getOperationCallExpressionAccess().getOperationNameIDTerminalRuleCall_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getOperationCallExpressionRule());
+ }
+ setWithLastConsumed(
+ current,
+ "operationName",
+ lv_operationName_1_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2310:2: ( (lv_tuple_2_0= ruleTuple ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2311:1: (lv_tuple_2_0= ruleTuple )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2311:1: (lv_tuple_2_0= ruleTuple )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2312:3: lv_tuple_2_0= ruleTuple
+ {
+
+ newCompositeNode(grammarAccess.getOperationCallExpressionAccess().getTupleTupleParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleTuple_in_ruleOperationCallExpression4981);
+ lv_tuple_2_0=ruleTuple();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getOperationCallExpressionRule());
+ }
+ set(
+ current,
+ "tuple",
+ lv_tuple_2_0,
+ "Tuple");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2328:2: ( (lv_suffix_3_0= ruleSuffixExpression ) )?
+ int alt41=2;
+ int LA41_0 = input.LA(1);
+
+ if ( (LA41_0==49||LA41_0==52) ) {
+ alt41=1;
+ }
+ switch (alt41) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2329:1: (lv_suffix_3_0= ruleSuffixExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2329:1: (lv_suffix_3_0= ruleSuffixExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2330:3: lv_suffix_3_0= ruleSuffixExpression
+ {
+
+ newCompositeNode(grammarAccess.getOperationCallExpressionAccess().getSuffixSuffixExpressionParserRuleCall_3_0());
+
+ pushFollow(FOLLOW_ruleSuffixExpression_in_ruleOperationCallExpression5002);
+ lv_suffix_3_0=ruleSuffixExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getOperationCallExpressionRule());
+ }
+ set(
+ current,
+ "suffix",
+ lv_suffix_3_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleOperationCallExpression"
+
+
+ // $ANTLR start "entryRulePropertyCallExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2354:1: entryRulePropertyCallExpression returns [EObject current=null] : iv_rulePropertyCallExpression= rulePropertyCallExpression EOF ;
+ public final EObject entryRulePropertyCallExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulePropertyCallExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2355:2: (iv_rulePropertyCallExpression= rulePropertyCallExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2356:2: iv_rulePropertyCallExpression= rulePropertyCallExpression EOF
+ {
+ newCompositeNode(grammarAccess.getPropertyCallExpressionRule());
+ pushFollow(FOLLOW_rulePropertyCallExpression_in_entryRulePropertyCallExpression5039);
+ iv_rulePropertyCallExpression=rulePropertyCallExpression();
+
+ state._fsp--;
+
+ current =iv_rulePropertyCallExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRulePropertyCallExpression5049);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePropertyCallExpression"
+
+
+ // $ANTLR start "rulePropertyCallExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2363:1: rulePropertyCallExpression returns [EObject current=null] : (otherlv_0= '.' ( (lv_propertyName_1_0= RULE_ID ) ) (otherlv_2= '[' ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' )? ( (lv_suffix_5_0= ruleSuffixExpression ) )? ) ;
+ public final EObject rulePropertyCallExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token lv_propertyName_1_0=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ EObject lv_index_3_0 = null;
+
+ EObject lv_suffix_5_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2366:28: ( (otherlv_0= '.' ( (lv_propertyName_1_0= RULE_ID ) ) (otherlv_2= '[' ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' )? ( (lv_suffix_5_0= ruleSuffixExpression ) )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2367:1: (otherlv_0= '.' ( (lv_propertyName_1_0= RULE_ID ) ) (otherlv_2= '[' ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' )? ( (lv_suffix_5_0= ruleSuffixExpression ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2367:1: (otherlv_0= '.' ( (lv_propertyName_1_0= RULE_ID ) ) (otherlv_2= '[' ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' )? ( (lv_suffix_5_0= ruleSuffixExpression ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2367:3: otherlv_0= '.' ( (lv_propertyName_1_0= RULE_ID ) ) (otherlv_2= '[' ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' )? ( (lv_suffix_5_0= ruleSuffixExpression ) )?
+ {
+ otherlv_0=(Token)match(input,49,FOLLOW_49_in_rulePropertyCallExpression5086);
+
+ newLeafNode(otherlv_0, grammarAccess.getPropertyCallExpressionAccess().getFullStopKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2371:1: ( (lv_propertyName_1_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2372:1: (lv_propertyName_1_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2372:1: (lv_propertyName_1_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2373:3: lv_propertyName_1_0= RULE_ID
+ {
+ lv_propertyName_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePropertyCallExpression5103);
+
+ newLeafNode(lv_propertyName_1_0, grammarAccess.getPropertyCallExpressionAccess().getPropertyNameIDTerminalRuleCall_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getPropertyCallExpressionRule());
+ }
+ setWithLastConsumed(
+ current,
+ "propertyName",
+ lv_propertyName_1_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2389:2: (otherlv_2= '[' ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' )?
+ int alt42=2;
+ int LA42_0 = input.LA(1);
+
+ if ( (LA42_0==50) ) {
+ int LA42_1 = input.LA(2);
+
+ if ( ((LA42_1>=RULE_INTEGERVALUE && LA42_1<=RULE_ID)||(LA42_1>=16 && LA42_1<=18)||LA42_1==24||(LA42_1>=42 && LA42_1<=43)||(LA42_1>=46 && LA42_1<=48)||(LA42_1>=56 && LA42_1<=59)||(LA42_1>=87 && LA42_1<=88)) ) {
+ alt42=1;
+ }
+ }
+ switch (alt42) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2389:4: otherlv_2= '[' ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']'
+ {
+ otherlv_2=(Token)match(input,50,FOLLOW_50_in_rulePropertyCallExpression5121);
+
+ newLeafNode(otherlv_2, grammarAccess.getPropertyCallExpressionAccess().getLeftSquareBracketKeyword_2_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2393:1: ( (lv_index_3_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2394:1: (lv_index_3_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2394:1: (lv_index_3_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2395:3: lv_index_3_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getPropertyCallExpressionAccess().getIndexExpressionParserRuleCall_2_1_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_rulePropertyCallExpression5142);
+ lv_index_3_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPropertyCallExpressionRule());
+ }
+ set(
+ current,
+ "index",
+ lv_index_3_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_4=(Token)match(input,51,FOLLOW_51_in_rulePropertyCallExpression5154);
+
+ newLeafNode(otherlv_4, grammarAccess.getPropertyCallExpressionAccess().getRightSquareBracketKeyword_2_2());
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2415:3: ( (lv_suffix_5_0= ruleSuffixExpression ) )?
+ int alt43=2;
+ int LA43_0 = input.LA(1);
+
+ if ( (LA43_0==49||LA43_0==52) ) {
+ alt43=1;
+ }
+ switch (alt43) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2416:1: (lv_suffix_5_0= ruleSuffixExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2416:1: (lv_suffix_5_0= ruleSuffixExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2417:3: lv_suffix_5_0= ruleSuffixExpression
+ {
+
+ newCompositeNode(grammarAccess.getPropertyCallExpressionAccess().getSuffixSuffixExpressionParserRuleCall_3_0());
+
+ pushFollow(FOLLOW_ruleSuffixExpression_in_rulePropertyCallExpression5177);
+ lv_suffix_5_0=ruleSuffixExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPropertyCallExpressionRule());
+ }
+ set(
+ current,
+ "suffix",
+ lv_suffix_5_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePropertyCallExpression"
+
+
+ // $ANTLR start "entryRuleLinkOperationExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2441:1: entryRuleLinkOperationExpression returns [EObject current=null] : iv_ruleLinkOperationExpression= ruleLinkOperationExpression EOF ;
+ public final EObject entryRuleLinkOperationExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleLinkOperationExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2442:2: (iv_ruleLinkOperationExpression= ruleLinkOperationExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2443:2: iv_ruleLinkOperationExpression= ruleLinkOperationExpression EOF
+ {
+ newCompositeNode(grammarAccess.getLinkOperationExpressionRule());
+ pushFollow(FOLLOW_ruleLinkOperationExpression_in_entryRuleLinkOperationExpression5214);
+ iv_ruleLinkOperationExpression=ruleLinkOperationExpression();
+
+ state._fsp--;
+
+ current =iv_ruleLinkOperationExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleLinkOperationExpression5224);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleLinkOperationExpression"
+
+
+ // $ANTLR start "ruleLinkOperationExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2450:1: ruleLinkOperationExpression returns [EObject current=null] : (otherlv_0= '.' ( (lv_kind_1_0= ruleLinkOperationKind ) ) ( (lv_tuple_2_0= ruleLinkOperationTuple ) ) ) ;
+ public final EObject ruleLinkOperationExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Enumerator lv_kind_1_0 = null;
+
+ EObject lv_tuple_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2453:28: ( (otherlv_0= '.' ( (lv_kind_1_0= ruleLinkOperationKind ) ) ( (lv_tuple_2_0= ruleLinkOperationTuple ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2454:1: (otherlv_0= '.' ( (lv_kind_1_0= ruleLinkOperationKind ) ) ( (lv_tuple_2_0= ruleLinkOperationTuple ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2454:1: (otherlv_0= '.' ( (lv_kind_1_0= ruleLinkOperationKind ) ) ( (lv_tuple_2_0= ruleLinkOperationTuple ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2454:3: otherlv_0= '.' ( (lv_kind_1_0= ruleLinkOperationKind ) ) ( (lv_tuple_2_0= ruleLinkOperationTuple ) )
+ {
+ otherlv_0=(Token)match(input,49,FOLLOW_49_in_ruleLinkOperationExpression5261);
+
+ newLeafNode(otherlv_0, grammarAccess.getLinkOperationExpressionAccess().getFullStopKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2458:1: ( (lv_kind_1_0= ruleLinkOperationKind ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2459:1: (lv_kind_1_0= ruleLinkOperationKind )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2459:1: (lv_kind_1_0= ruleLinkOperationKind )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2460:3: lv_kind_1_0= ruleLinkOperationKind
+ {
+
+ newCompositeNode(grammarAccess.getLinkOperationExpressionAccess().getKindLinkOperationKindEnumRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleLinkOperationKind_in_ruleLinkOperationExpression5282);
+ lv_kind_1_0=ruleLinkOperationKind();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLinkOperationExpressionRule());
+ }
+ set(
+ current,
+ "kind",
+ lv_kind_1_0,
+ "LinkOperationKind");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2476:2: ( (lv_tuple_2_0= ruleLinkOperationTuple ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2477:1: (lv_tuple_2_0= ruleLinkOperationTuple )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2477:1: (lv_tuple_2_0= ruleLinkOperationTuple )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2478:3: lv_tuple_2_0= ruleLinkOperationTuple
+ {
+
+ newCompositeNode(grammarAccess.getLinkOperationExpressionAccess().getTupleLinkOperationTupleParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleLinkOperationTuple_in_ruleLinkOperationExpression5303);
+ lv_tuple_2_0=ruleLinkOperationTuple();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLinkOperationExpressionRule());
+ }
+ set(
+ current,
+ "tuple",
+ lv_tuple_2_0,
+ "LinkOperationTuple");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleLinkOperationExpression"
+
+
+ // $ANTLR start "entryRuleLinkOperationTuple"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2502:1: entryRuleLinkOperationTuple returns [EObject current=null] : iv_ruleLinkOperationTuple= ruleLinkOperationTuple EOF ;
+ public final EObject entryRuleLinkOperationTuple() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleLinkOperationTuple = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2503:2: (iv_ruleLinkOperationTuple= ruleLinkOperationTuple EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2504:2: iv_ruleLinkOperationTuple= ruleLinkOperationTuple EOF
+ {
+ newCompositeNode(grammarAccess.getLinkOperationTupleRule());
+ pushFollow(FOLLOW_ruleLinkOperationTuple_in_entryRuleLinkOperationTuple5339);
+ iv_ruleLinkOperationTuple=ruleLinkOperationTuple();
+
+ state._fsp--;
+
+ current =iv_ruleLinkOperationTuple;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleLinkOperationTuple5349);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleLinkOperationTuple"
+
+
+ // $ANTLR start "ruleLinkOperationTuple"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2511:1: ruleLinkOperationTuple returns [EObject current=null] : (otherlv_0= '(' ( (lv_linkOperationTupleElement_1_0= ruleLinkOperationTupleElement ) ) (otherlv_2= ',' ( (lv_linkOperationTupleElement_3_0= ruleLinkOperationTupleElement ) ) )* otherlv_4= ')' ) ;
+ public final EObject ruleLinkOperationTuple() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ EObject lv_linkOperationTupleElement_1_0 = null;
+
+ EObject lv_linkOperationTupleElement_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2514:28: ( (otherlv_0= '(' ( (lv_linkOperationTupleElement_1_0= ruleLinkOperationTupleElement ) ) (otherlv_2= ',' ( (lv_linkOperationTupleElement_3_0= ruleLinkOperationTupleElement ) ) )* otherlv_4= ')' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2515:1: (otherlv_0= '(' ( (lv_linkOperationTupleElement_1_0= ruleLinkOperationTupleElement ) ) (otherlv_2= ',' ( (lv_linkOperationTupleElement_3_0= ruleLinkOperationTupleElement ) ) )* otherlv_4= ')' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2515:1: (otherlv_0= '(' ( (lv_linkOperationTupleElement_1_0= ruleLinkOperationTupleElement ) ) (otherlv_2= ',' ( (lv_linkOperationTupleElement_3_0= ruleLinkOperationTupleElement ) ) )* otherlv_4= ')' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2515:3: otherlv_0= '(' ( (lv_linkOperationTupleElement_1_0= ruleLinkOperationTupleElement ) ) (otherlv_2= ',' ( (lv_linkOperationTupleElement_3_0= ruleLinkOperationTupleElement ) ) )* otherlv_4= ')'
+ {
+ otherlv_0=(Token)match(input,24,FOLLOW_24_in_ruleLinkOperationTuple5386);
+
+ newLeafNode(otherlv_0, grammarAccess.getLinkOperationTupleAccess().getLeftParenthesisKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2519:1: ( (lv_linkOperationTupleElement_1_0= ruleLinkOperationTupleElement ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2520:1: (lv_linkOperationTupleElement_1_0= ruleLinkOperationTupleElement )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2520:1: (lv_linkOperationTupleElement_1_0= ruleLinkOperationTupleElement )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2521:3: lv_linkOperationTupleElement_1_0= ruleLinkOperationTupleElement
+ {
+
+ newCompositeNode(grammarAccess.getLinkOperationTupleAccess().getLinkOperationTupleElementLinkOperationTupleElementParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleLinkOperationTupleElement_in_ruleLinkOperationTuple5407);
+ lv_linkOperationTupleElement_1_0=ruleLinkOperationTupleElement();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLinkOperationTupleRule());
+ }
+ add(
+ current,
+ "linkOperationTupleElement",
+ lv_linkOperationTupleElement_1_0,
+ "LinkOperationTupleElement");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2537:2: (otherlv_2= ',' ( (lv_linkOperationTupleElement_3_0= ruleLinkOperationTupleElement ) ) )*
+ loop44:
+ do {
+ int alt44=2;
+ int LA44_0 = input.LA(1);
+
+ if ( (LA44_0==21) ) {
+ alt44=1;
+ }
+
+
+ switch (alt44) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2537:4: otherlv_2= ',' ( (lv_linkOperationTupleElement_3_0= ruleLinkOperationTupleElement ) )
+ {
+ otherlv_2=(Token)match(input,21,FOLLOW_21_in_ruleLinkOperationTuple5420);
+
+ newLeafNode(otherlv_2, grammarAccess.getLinkOperationTupleAccess().getCommaKeyword_2_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2541:1: ( (lv_linkOperationTupleElement_3_0= ruleLinkOperationTupleElement ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2542:1: (lv_linkOperationTupleElement_3_0= ruleLinkOperationTupleElement )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2542:1: (lv_linkOperationTupleElement_3_0= ruleLinkOperationTupleElement )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2543:3: lv_linkOperationTupleElement_3_0= ruleLinkOperationTupleElement
+ {
+
+ newCompositeNode(grammarAccess.getLinkOperationTupleAccess().getLinkOperationTupleElementLinkOperationTupleElementParserRuleCall_2_1_0());
+
+ pushFollow(FOLLOW_ruleLinkOperationTupleElement_in_ruleLinkOperationTuple5441);
+ lv_linkOperationTupleElement_3_0=ruleLinkOperationTupleElement();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLinkOperationTupleRule());
+ }
+ add(
+ current,
+ "linkOperationTupleElement",
+ lv_linkOperationTupleElement_3_0,
+ "LinkOperationTupleElement");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop44;
+ }
+ } while (true);
+
+ otherlv_4=(Token)match(input,25,FOLLOW_25_in_ruleLinkOperationTuple5455);
+
+ newLeafNode(otherlv_4, grammarAccess.getLinkOperationTupleAccess().getRightParenthesisKeyword_3());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleLinkOperationTuple"
+
+
+ // $ANTLR start "entryRuleLinkOperationTupleElement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2571:1: entryRuleLinkOperationTupleElement returns [EObject current=null] : iv_ruleLinkOperationTupleElement= ruleLinkOperationTupleElement EOF ;
+ public final EObject entryRuleLinkOperationTupleElement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleLinkOperationTupleElement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2572:2: (iv_ruleLinkOperationTupleElement= ruleLinkOperationTupleElement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2573:2: iv_ruleLinkOperationTupleElement= ruleLinkOperationTupleElement EOF
+ {
+ newCompositeNode(grammarAccess.getLinkOperationTupleElementRule());
+ pushFollow(FOLLOW_ruleLinkOperationTupleElement_in_entryRuleLinkOperationTupleElement5491);
+ iv_ruleLinkOperationTupleElement=ruleLinkOperationTupleElement();
+
+ state._fsp--;
+
+ current =iv_ruleLinkOperationTupleElement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleLinkOperationTupleElement5501);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleLinkOperationTupleElement"
+
+
+ // $ANTLR start "ruleLinkOperationTupleElement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2580:1: ruleLinkOperationTupleElement returns [EObject current=null] : ( ( (lv_role_0_0= RULE_ID ) ) (otherlv_1= '[' ( (lv_roleIndex_2_0= ruleExpression ) ) otherlv_3= ']' )? otherlv_4= '=>' ( (lv_object_5_0= ruleExpression ) ) ) ;
+ public final EObject ruleLinkOperationTupleElement() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_role_0_0=null;
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ Token otherlv_4=null;
+ EObject lv_roleIndex_2_0 = null;
+
+ EObject lv_object_5_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2583:28: ( ( ( (lv_role_0_0= RULE_ID ) ) (otherlv_1= '[' ( (lv_roleIndex_2_0= ruleExpression ) ) otherlv_3= ']' )? otherlv_4= '=>' ( (lv_object_5_0= ruleExpression ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2584:1: ( ( (lv_role_0_0= RULE_ID ) ) (otherlv_1= '[' ( (lv_roleIndex_2_0= ruleExpression ) ) otherlv_3= ']' )? otherlv_4= '=>' ( (lv_object_5_0= ruleExpression ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2584:1: ( ( (lv_role_0_0= RULE_ID ) ) (otherlv_1= '[' ( (lv_roleIndex_2_0= ruleExpression ) ) otherlv_3= ']' )? otherlv_4= '=>' ( (lv_object_5_0= ruleExpression ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2584:2: ( (lv_role_0_0= RULE_ID ) ) (otherlv_1= '[' ( (lv_roleIndex_2_0= ruleExpression ) ) otherlv_3= ']' )? otherlv_4= '=>' ( (lv_object_5_0= ruleExpression ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2584:2: ( (lv_role_0_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2585:1: (lv_role_0_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2585:1: (lv_role_0_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2586:3: lv_role_0_0= RULE_ID
+ {
+ lv_role_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleLinkOperationTupleElement5543);
+
+ newLeafNode(lv_role_0_0, grammarAccess.getLinkOperationTupleElementAccess().getRoleIDTerminalRuleCall_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getLinkOperationTupleElementRule());
+ }
+ setWithLastConsumed(
+ current,
+ "role",
+ lv_role_0_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2602:2: (otherlv_1= '[' ( (lv_roleIndex_2_0= ruleExpression ) ) otherlv_3= ']' )?
+ int alt45=2;
+ int LA45_0 = input.LA(1);
+
+ if ( (LA45_0==50) ) {
+ alt45=1;
+ }
+ switch (alt45) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2602:4: otherlv_1= '[' ( (lv_roleIndex_2_0= ruleExpression ) ) otherlv_3= ']'
+ {
+ otherlv_1=(Token)match(input,50,FOLLOW_50_in_ruleLinkOperationTupleElement5561);
+
+ newLeafNode(otherlv_1, grammarAccess.getLinkOperationTupleElementAccess().getLeftSquareBracketKeyword_1_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2606:1: ( (lv_roleIndex_2_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2607:1: (lv_roleIndex_2_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2607:1: (lv_roleIndex_2_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2608:3: lv_roleIndex_2_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getLinkOperationTupleElementAccess().getRoleIndexExpressionParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleLinkOperationTupleElement5582);
+ lv_roleIndex_2_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLinkOperationTupleElementRule());
+ }
+ set(
+ current,
+ "roleIndex",
+ lv_roleIndex_2_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,51,FOLLOW_51_in_ruleLinkOperationTupleElement5594);
+
+ newLeafNode(otherlv_3, grammarAccess.getLinkOperationTupleElementAccess().getRightSquareBracketKeyword_1_2());
+
+
+ }
+ break;
+
+ }
+
+ otherlv_4=(Token)match(input,23,FOLLOW_23_in_ruleLinkOperationTupleElement5608);
+
+ newLeafNode(otherlv_4, grammarAccess.getLinkOperationTupleElementAccess().getEqualsSignGreaterThanSignKeyword_2());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2632:1: ( (lv_object_5_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2633:1: (lv_object_5_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2633:1: (lv_object_5_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2634:3: lv_object_5_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getLinkOperationTupleElementAccess().getObjectExpressionParserRuleCall_3_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleLinkOperationTupleElement5629);
+ lv_object_5_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLinkOperationTupleElementRule());
+ }
+ set(
+ current,
+ "object",
+ lv_object_5_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleLinkOperationTupleElement"
+
+
+ // $ANTLR start "entryRuleSequenceOperationExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2658:1: entryRuleSequenceOperationExpression returns [EObject current=null] : iv_ruleSequenceOperationExpression= ruleSequenceOperationExpression EOF ;
+ public final EObject entryRuleSequenceOperationExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSequenceOperationExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2659:2: (iv_ruleSequenceOperationExpression= ruleSequenceOperationExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2660:2: iv_ruleSequenceOperationExpression= ruleSequenceOperationExpression EOF
+ {
+ newCompositeNode(grammarAccess.getSequenceOperationExpressionRule());
+ pushFollow(FOLLOW_ruleSequenceOperationExpression_in_entryRuleSequenceOperationExpression5665);
+ iv_ruleSequenceOperationExpression=ruleSequenceOperationExpression();
+
+ state._fsp--;
+
+ current =iv_ruleSequenceOperationExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSequenceOperationExpression5675);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSequenceOperationExpression"
+
+
+ // $ANTLR start "ruleSequenceOperationExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2667:1: ruleSequenceOperationExpression returns [EObject current=null] : (otherlv_0= '->' ( (lv_operationName_1_0= ruleQualifiedNameWithBinding ) ) ( (lv_tuple_2_0= ruleTuple ) ) ( (lv_suffix_3_0= ruleSuffixExpression ) )? ) ;
+ public final EObject ruleSequenceOperationExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ EObject lv_operationName_1_0 = null;
+
+ EObject lv_tuple_2_0 = null;
+
+ EObject lv_suffix_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2670:28: ( (otherlv_0= '->' ( (lv_operationName_1_0= ruleQualifiedNameWithBinding ) ) ( (lv_tuple_2_0= ruleTuple ) ) ( (lv_suffix_3_0= ruleSuffixExpression ) )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2671:1: (otherlv_0= '->' ( (lv_operationName_1_0= ruleQualifiedNameWithBinding ) ) ( (lv_tuple_2_0= ruleTuple ) ) ( (lv_suffix_3_0= ruleSuffixExpression ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2671:1: (otherlv_0= '->' ( (lv_operationName_1_0= ruleQualifiedNameWithBinding ) ) ( (lv_tuple_2_0= ruleTuple ) ) ( (lv_suffix_3_0= ruleSuffixExpression ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2671:3: otherlv_0= '->' ( (lv_operationName_1_0= ruleQualifiedNameWithBinding ) ) ( (lv_tuple_2_0= ruleTuple ) ) ( (lv_suffix_3_0= ruleSuffixExpression ) )?
+ {
+ otherlv_0=(Token)match(input,52,FOLLOW_52_in_ruleSequenceOperationExpression5712);
+
+ newLeafNode(otherlv_0, grammarAccess.getSequenceOperationExpressionAccess().getHyphenMinusGreaterThanSignKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2675:1: ( (lv_operationName_1_0= ruleQualifiedNameWithBinding ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2676:1: (lv_operationName_1_0= ruleQualifiedNameWithBinding )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2676:1: (lv_operationName_1_0= ruleQualifiedNameWithBinding )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2677:3: lv_operationName_1_0= ruleQualifiedNameWithBinding
+ {
+
+ newCompositeNode(grammarAccess.getSequenceOperationExpressionAccess().getOperationNameQualifiedNameWithBindingParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleQualifiedNameWithBinding_in_ruleSequenceOperationExpression5733);
+ lv_operationName_1_0=ruleQualifiedNameWithBinding();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSequenceOperationExpressionRule());
+ }
+ set(
+ current,
+ "operationName",
+ lv_operationName_1_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2693:2: ( (lv_tuple_2_0= ruleTuple ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2694:1: (lv_tuple_2_0= ruleTuple )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2694:1: (lv_tuple_2_0= ruleTuple )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2695:3: lv_tuple_2_0= ruleTuple
+ {
+
+ newCompositeNode(grammarAccess.getSequenceOperationExpressionAccess().getTupleTupleParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleTuple_in_ruleSequenceOperationExpression5754);
+ lv_tuple_2_0=ruleTuple();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSequenceOperationExpressionRule());
+ }
+ set(
+ current,
+ "tuple",
+ lv_tuple_2_0,
+ "Tuple");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2711:2: ( (lv_suffix_3_0= ruleSuffixExpression ) )?
+ int alt46=2;
+ int LA46_0 = input.LA(1);
+
+ if ( (LA46_0==49||LA46_0==52) ) {
+ alt46=1;
+ }
+ switch (alt46) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2712:1: (lv_suffix_3_0= ruleSuffixExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2712:1: (lv_suffix_3_0= ruleSuffixExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2713:3: lv_suffix_3_0= ruleSuffixExpression
+ {
+
+ newCompositeNode(grammarAccess.getSequenceOperationExpressionAccess().getSuffixSuffixExpressionParserRuleCall_3_0());
+
+ pushFollow(FOLLOW_ruleSuffixExpression_in_ruleSequenceOperationExpression5775);
+ lv_suffix_3_0=ruleSuffixExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSequenceOperationExpressionRule());
+ }
+ set(
+ current,
+ "suffix",
+ lv_suffix_3_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSequenceOperationExpression"
+
+
+ // $ANTLR start "entryRuleSequenceReductionExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2737:1: entryRuleSequenceReductionExpression returns [EObject current=null] : iv_ruleSequenceReductionExpression= ruleSequenceReductionExpression EOF ;
+ public final EObject entryRuleSequenceReductionExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSequenceReductionExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2738:2: (iv_ruleSequenceReductionExpression= ruleSequenceReductionExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2739:2: iv_ruleSequenceReductionExpression= ruleSequenceReductionExpression EOF
+ {
+ newCompositeNode(grammarAccess.getSequenceReductionExpressionRule());
+ pushFollow(FOLLOW_ruleSequenceReductionExpression_in_entryRuleSequenceReductionExpression5812);
+ iv_ruleSequenceReductionExpression=ruleSequenceReductionExpression();
+
+ state._fsp--;
+
+ current =iv_ruleSequenceReductionExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSequenceReductionExpression5822);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSequenceReductionExpression"
+
+
+ // $ANTLR start "ruleSequenceReductionExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2746:1: ruleSequenceReductionExpression returns [EObject current=null] : (otherlv_0= '->' otherlv_1= 'reduce' ( (lv_isOrdered_2_0= 'ordered' ) )? ( (lv_behavior_3_0= ruleQualifiedNameWithBinding ) ) ( (lv_suffix_4_0= ruleSuffixExpression ) )? ) ;
+ public final EObject ruleSequenceReductionExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=null;
+ Token lv_isOrdered_2_0=null;
+ EObject lv_behavior_3_0 = null;
+
+ EObject lv_suffix_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2749:28: ( (otherlv_0= '->' otherlv_1= 'reduce' ( (lv_isOrdered_2_0= 'ordered' ) )? ( (lv_behavior_3_0= ruleQualifiedNameWithBinding ) ) ( (lv_suffix_4_0= ruleSuffixExpression ) )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2750:1: (otherlv_0= '->' otherlv_1= 'reduce' ( (lv_isOrdered_2_0= 'ordered' ) )? ( (lv_behavior_3_0= ruleQualifiedNameWithBinding ) ) ( (lv_suffix_4_0= ruleSuffixExpression ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2750:1: (otherlv_0= '->' otherlv_1= 'reduce' ( (lv_isOrdered_2_0= 'ordered' ) )? ( (lv_behavior_3_0= ruleQualifiedNameWithBinding ) ) ( (lv_suffix_4_0= ruleSuffixExpression ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2750:3: otherlv_0= '->' otherlv_1= 'reduce' ( (lv_isOrdered_2_0= 'ordered' ) )? ( (lv_behavior_3_0= ruleQualifiedNameWithBinding ) ) ( (lv_suffix_4_0= ruleSuffixExpression ) )?
+ {
+ otherlv_0=(Token)match(input,52,FOLLOW_52_in_ruleSequenceReductionExpression5859);
+
+ newLeafNode(otherlv_0, grammarAccess.getSequenceReductionExpressionAccess().getHyphenMinusGreaterThanSignKeyword_0());
+
+ otherlv_1=(Token)match(input,53,FOLLOW_53_in_ruleSequenceReductionExpression5871);
+
+ newLeafNode(otherlv_1, grammarAccess.getSequenceReductionExpressionAccess().getReduceKeyword_1());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2758:1: ( (lv_isOrdered_2_0= 'ordered' ) )?
+ int alt47=2;
+ int LA47_0 = input.LA(1);
+
+ if ( (LA47_0==54) ) {
+ alt47=1;
+ }
+ switch (alt47) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2759:1: (lv_isOrdered_2_0= 'ordered' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2759:1: (lv_isOrdered_2_0= 'ordered' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2760:3: lv_isOrdered_2_0= 'ordered'
+ {
+ lv_isOrdered_2_0=(Token)match(input,54,FOLLOW_54_in_ruleSequenceReductionExpression5889);
+
+ newLeafNode(lv_isOrdered_2_0, grammarAccess.getSequenceReductionExpressionAccess().getIsOrderedOrderedKeyword_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getSequenceReductionExpressionRule());
+ }
+ setWithLastConsumed(current, "isOrdered", true, "ordered");
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2773:3: ( (lv_behavior_3_0= ruleQualifiedNameWithBinding ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2774:1: (lv_behavior_3_0= ruleQualifiedNameWithBinding )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2774:1: (lv_behavior_3_0= ruleQualifiedNameWithBinding )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2775:3: lv_behavior_3_0= ruleQualifiedNameWithBinding
+ {
+
+ newCompositeNode(grammarAccess.getSequenceReductionExpressionAccess().getBehaviorQualifiedNameWithBindingParserRuleCall_3_0());
+
+ pushFollow(FOLLOW_ruleQualifiedNameWithBinding_in_ruleSequenceReductionExpression5924);
+ lv_behavior_3_0=ruleQualifiedNameWithBinding();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSequenceReductionExpressionRule());
+ }
+ set(
+ current,
+ "behavior",
+ lv_behavior_3_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2791:2: ( (lv_suffix_4_0= ruleSuffixExpression ) )?
+ int alt48=2;
+ int LA48_0 = input.LA(1);
+
+ if ( (LA48_0==49||LA48_0==52) ) {
+ alt48=1;
+ }
+ switch (alt48) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2792:1: (lv_suffix_4_0= ruleSuffixExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2792:1: (lv_suffix_4_0= ruleSuffixExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2793:3: lv_suffix_4_0= ruleSuffixExpression
+ {
+
+ newCompositeNode(grammarAccess.getSequenceReductionExpressionAccess().getSuffixSuffixExpressionParserRuleCall_4_0());
+
+ pushFollow(FOLLOW_ruleSuffixExpression_in_ruleSequenceReductionExpression5945);
+ lv_suffix_4_0=ruleSuffixExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSequenceReductionExpressionRule());
+ }
+ set(
+ current,
+ "suffix",
+ lv_suffix_4_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSequenceReductionExpression"
+
+
+ // $ANTLR start "entryRuleSequenceExpansionExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2817:1: entryRuleSequenceExpansionExpression returns [EObject current=null] : iv_ruleSequenceExpansionExpression= ruleSequenceExpansionExpression EOF ;
+ public final EObject entryRuleSequenceExpansionExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSequenceExpansionExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2818:2: (iv_ruleSequenceExpansionExpression= ruleSequenceExpansionExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2819:2: iv_ruleSequenceExpansionExpression= ruleSequenceExpansionExpression EOF
+ {
+ newCompositeNode(grammarAccess.getSequenceExpansionExpressionRule());
+ pushFollow(FOLLOW_ruleSequenceExpansionExpression_in_entryRuleSequenceExpansionExpression5982);
+ iv_ruleSequenceExpansionExpression=ruleSequenceExpansionExpression();
+
+ state._fsp--;
+
+ current =iv_ruleSequenceExpansionExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSequenceExpansionExpression5992);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSequenceExpansionExpression"
+
+
+ // $ANTLR start "ruleSequenceExpansionExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2826:1: ruleSequenceExpansionExpression returns [EObject current=null] : (this_SelectOrRejectOperation_0= ruleSelectOrRejectOperation | this_CollectOrIterateOperation_1= ruleCollectOrIterateOperation | this_ForAllOrExistsOrOneOperation_2= ruleForAllOrExistsOrOneOperation | this_IsUniqueOperation_3= ruleIsUniqueOperation ) ;
+ public final EObject ruleSequenceExpansionExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_SelectOrRejectOperation_0 = null;
+
+ EObject this_CollectOrIterateOperation_1 = null;
+
+ EObject this_ForAllOrExistsOrOneOperation_2 = null;
+
+ EObject this_IsUniqueOperation_3 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2829:28: ( (this_SelectOrRejectOperation_0= ruleSelectOrRejectOperation | this_CollectOrIterateOperation_1= ruleCollectOrIterateOperation | this_ForAllOrExistsOrOneOperation_2= ruleForAllOrExistsOrOneOperation | this_IsUniqueOperation_3= ruleIsUniqueOperation ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2830:1: (this_SelectOrRejectOperation_0= ruleSelectOrRejectOperation | this_CollectOrIterateOperation_1= ruleCollectOrIterateOperation | this_ForAllOrExistsOrOneOperation_2= ruleForAllOrExistsOrOneOperation | this_IsUniqueOperation_3= ruleIsUniqueOperation )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2830:1: (this_SelectOrRejectOperation_0= ruleSelectOrRejectOperation | this_CollectOrIterateOperation_1= ruleCollectOrIterateOperation | this_ForAllOrExistsOrOneOperation_2= ruleForAllOrExistsOrOneOperation | this_IsUniqueOperation_3= ruleIsUniqueOperation )
+ int alt49=4;
+ int LA49_0 = input.LA(1);
+
+ if ( (LA49_0==52) ) {
+ switch ( input.LA(2) ) {
+ case 96:
+ case 97:
+ case 98:
+ {
+ alt49=3;
+ }
+ break;
+ case 92:
+ case 93:
+ {
+ alt49=1;
+ }
+ break;
+ case 94:
+ case 95:
+ {
+ alt49=2;
+ }
+ break;
+ case 55:
+ {
+ alt49=4;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 49, 1, input);
+
+ throw nvae;
+ }
+
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 49, 0, input);
+
+ throw nvae;
+ }
+ switch (alt49) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2831:5: this_SelectOrRejectOperation_0= ruleSelectOrRejectOperation
+ {
+
+ newCompositeNode(grammarAccess.getSequenceExpansionExpressionAccess().getSelectOrRejectOperationParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleSelectOrRejectOperation_in_ruleSequenceExpansionExpression6039);
+ this_SelectOrRejectOperation_0=ruleSelectOrRejectOperation();
+
+ state._fsp--;
+
+
+ current = this_SelectOrRejectOperation_0;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2841:5: this_CollectOrIterateOperation_1= ruleCollectOrIterateOperation
+ {
+
+ newCompositeNode(grammarAccess.getSequenceExpansionExpressionAccess().getCollectOrIterateOperationParserRuleCall_1());
+
+ pushFollow(FOLLOW_ruleCollectOrIterateOperation_in_ruleSequenceExpansionExpression6066);
+ this_CollectOrIterateOperation_1=ruleCollectOrIterateOperation();
+
+ state._fsp--;
+
+
+ current = this_CollectOrIterateOperation_1;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2851:5: this_ForAllOrExistsOrOneOperation_2= ruleForAllOrExistsOrOneOperation
+ {
+
+ newCompositeNode(grammarAccess.getSequenceExpansionExpressionAccess().getForAllOrExistsOrOneOperationParserRuleCall_2());
+
+ pushFollow(FOLLOW_ruleForAllOrExistsOrOneOperation_in_ruleSequenceExpansionExpression6093);
+ this_ForAllOrExistsOrOneOperation_2=ruleForAllOrExistsOrOneOperation();
+
+ state._fsp--;
+
+
+ current = this_ForAllOrExistsOrOneOperation_2;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2861:5: this_IsUniqueOperation_3= ruleIsUniqueOperation
+ {
+
+ newCompositeNode(grammarAccess.getSequenceExpansionExpressionAccess().getIsUniqueOperationParserRuleCall_3());
+
+ pushFollow(FOLLOW_ruleIsUniqueOperation_in_ruleSequenceExpansionExpression6120);
+ this_IsUniqueOperation_3=ruleIsUniqueOperation();
+
+ state._fsp--;
+
+
+ current = this_IsUniqueOperation_3;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSequenceExpansionExpression"
+
+
+ // $ANTLR start "entryRuleSelectOrRejectOperation"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2877:1: entryRuleSelectOrRejectOperation returns [EObject current=null] : iv_ruleSelectOrRejectOperation= ruleSelectOrRejectOperation EOF ;
+ public final EObject entryRuleSelectOrRejectOperation() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSelectOrRejectOperation = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2878:2: (iv_ruleSelectOrRejectOperation= ruleSelectOrRejectOperation EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2879:2: iv_ruleSelectOrRejectOperation= ruleSelectOrRejectOperation EOF
+ {
+ newCompositeNode(grammarAccess.getSelectOrRejectOperationRule());
+ pushFollow(FOLLOW_ruleSelectOrRejectOperation_in_entryRuleSelectOrRejectOperation6155);
+ iv_ruleSelectOrRejectOperation=ruleSelectOrRejectOperation();
+
+ state._fsp--;
+
+ current =iv_ruleSelectOrRejectOperation;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSelectOrRejectOperation6165);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSelectOrRejectOperation"
+
+
+ // $ANTLR start "ruleSelectOrRejectOperation"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2886:1: ruleSelectOrRejectOperation returns [EObject current=null] : (otherlv_0= '->' ( (lv_op_1_0= ruleSelectOrRejectOperator ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )? ) ;
+ public final EObject ruleSelectOrRejectOperation() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token lv_name_2_0=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ Enumerator lv_op_1_0 = null;
+
+ EObject lv_expr_4_0 = null;
+
+ EObject lv_suffix_6_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2889:28: ( (otherlv_0= '->' ( (lv_op_1_0= ruleSelectOrRejectOperator ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2890:1: (otherlv_0= '->' ( (lv_op_1_0= ruleSelectOrRejectOperator ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2890:1: (otherlv_0= '->' ( (lv_op_1_0= ruleSelectOrRejectOperator ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2890:3: otherlv_0= '->' ( (lv_op_1_0= ruleSelectOrRejectOperator ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )?
+ {
+ otherlv_0=(Token)match(input,52,FOLLOW_52_in_ruleSelectOrRejectOperation6202);
+
+ newLeafNode(otherlv_0, grammarAccess.getSelectOrRejectOperationAccess().getHyphenMinusGreaterThanSignKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2894:1: ( (lv_op_1_0= ruleSelectOrRejectOperator ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2895:1: (lv_op_1_0= ruleSelectOrRejectOperator )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2895:1: (lv_op_1_0= ruleSelectOrRejectOperator )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2896:3: lv_op_1_0= ruleSelectOrRejectOperator
+ {
+
+ newCompositeNode(grammarAccess.getSelectOrRejectOperationAccess().getOpSelectOrRejectOperatorEnumRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleSelectOrRejectOperator_in_ruleSelectOrRejectOperation6223);
+ lv_op_1_0=ruleSelectOrRejectOperator();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSelectOrRejectOperationRule());
+ }
+ set(
+ current,
+ "op",
+ lv_op_1_0,
+ "SelectOrRejectOperator");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2912:2: ( (lv_name_2_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2913:1: (lv_name_2_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2913:1: (lv_name_2_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2914:3: lv_name_2_0= RULE_ID
+ {
+ lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSelectOrRejectOperation6240);
+
+ newLeafNode(lv_name_2_0, grammarAccess.getSelectOrRejectOperationAccess().getNameIDTerminalRuleCall_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getSelectOrRejectOperationRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_2_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,24,FOLLOW_24_in_ruleSelectOrRejectOperation6257);
+
+ newLeafNode(otherlv_3, grammarAccess.getSelectOrRejectOperationAccess().getLeftParenthesisKeyword_3());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2934:1: ( (lv_expr_4_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2935:1: (lv_expr_4_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2935:1: (lv_expr_4_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2936:3: lv_expr_4_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getSelectOrRejectOperationAccess().getExprExpressionParserRuleCall_4_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleSelectOrRejectOperation6278);
+ lv_expr_4_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSelectOrRejectOperationRule());
+ }
+ set(
+ current,
+ "expr",
+ lv_expr_4_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_5=(Token)match(input,25,FOLLOW_25_in_ruleSelectOrRejectOperation6290);
+
+ newLeafNode(otherlv_5, grammarAccess.getSelectOrRejectOperationAccess().getRightParenthesisKeyword_5());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2956:1: ( (lv_suffix_6_0= ruleSuffixExpression ) )?
+ int alt50=2;
+ int LA50_0 = input.LA(1);
+
+ if ( (LA50_0==49||LA50_0==52) ) {
+ alt50=1;
+ }
+ switch (alt50) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2957:1: (lv_suffix_6_0= ruleSuffixExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2957:1: (lv_suffix_6_0= ruleSuffixExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2958:3: lv_suffix_6_0= ruleSuffixExpression
+ {
+
+ newCompositeNode(grammarAccess.getSelectOrRejectOperationAccess().getSuffixSuffixExpressionParserRuleCall_6_0());
+
+ pushFollow(FOLLOW_ruleSuffixExpression_in_ruleSelectOrRejectOperation6311);
+ lv_suffix_6_0=ruleSuffixExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSelectOrRejectOperationRule());
+ }
+ set(
+ current,
+ "suffix",
+ lv_suffix_6_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSelectOrRejectOperation"
+
+
+ // $ANTLR start "entryRuleCollectOrIterateOperation"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2982:1: entryRuleCollectOrIterateOperation returns [EObject current=null] : iv_ruleCollectOrIterateOperation= ruleCollectOrIterateOperation EOF ;
+ public final EObject entryRuleCollectOrIterateOperation() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleCollectOrIterateOperation = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2983:2: (iv_ruleCollectOrIterateOperation= ruleCollectOrIterateOperation EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2984:2: iv_ruleCollectOrIterateOperation= ruleCollectOrIterateOperation EOF
+ {
+ newCompositeNode(grammarAccess.getCollectOrIterateOperationRule());
+ pushFollow(FOLLOW_ruleCollectOrIterateOperation_in_entryRuleCollectOrIterateOperation6348);
+ iv_ruleCollectOrIterateOperation=ruleCollectOrIterateOperation();
+
+ state._fsp--;
+
+ current =iv_ruleCollectOrIterateOperation;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleCollectOrIterateOperation6358);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleCollectOrIterateOperation"
+
+
+ // $ANTLR start "ruleCollectOrIterateOperation"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2991:1: ruleCollectOrIterateOperation returns [EObject current=null] : (otherlv_0= '->' ( (lv_op_1_0= ruleCollectOrIterateOperator ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )? ) ;
+ public final EObject ruleCollectOrIterateOperation() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token lv_name_2_0=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ Enumerator lv_op_1_0 = null;
+
+ EObject lv_expr_4_0 = null;
+
+ EObject lv_suffix_6_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2994:28: ( (otherlv_0= '->' ( (lv_op_1_0= ruleCollectOrIterateOperator ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2995:1: (otherlv_0= '->' ( (lv_op_1_0= ruleCollectOrIterateOperator ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2995:1: (otherlv_0= '->' ( (lv_op_1_0= ruleCollectOrIterateOperator ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2995:3: otherlv_0= '->' ( (lv_op_1_0= ruleCollectOrIterateOperator ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )?
+ {
+ otherlv_0=(Token)match(input,52,FOLLOW_52_in_ruleCollectOrIterateOperation6395);
+
+ newLeafNode(otherlv_0, grammarAccess.getCollectOrIterateOperationAccess().getHyphenMinusGreaterThanSignKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:2999:1: ( (lv_op_1_0= ruleCollectOrIterateOperator ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3000:1: (lv_op_1_0= ruleCollectOrIterateOperator )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3000:1: (lv_op_1_0= ruleCollectOrIterateOperator )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3001:3: lv_op_1_0= ruleCollectOrIterateOperator
+ {
+
+ newCompositeNode(grammarAccess.getCollectOrIterateOperationAccess().getOpCollectOrIterateOperatorEnumRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleCollectOrIterateOperator_in_ruleCollectOrIterateOperation6416);
+ lv_op_1_0=ruleCollectOrIterateOperator();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectOrIterateOperationRule());
+ }
+ set(
+ current,
+ "op",
+ lv_op_1_0,
+ "CollectOrIterateOperator");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3017:2: ( (lv_name_2_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3018:1: (lv_name_2_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3018:1: (lv_name_2_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3019:3: lv_name_2_0= RULE_ID
+ {
+ lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleCollectOrIterateOperation6433);
+
+ newLeafNode(lv_name_2_0, grammarAccess.getCollectOrIterateOperationAccess().getNameIDTerminalRuleCall_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getCollectOrIterateOperationRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_2_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,24,FOLLOW_24_in_ruleCollectOrIterateOperation6450);
+
+ newLeafNode(otherlv_3, grammarAccess.getCollectOrIterateOperationAccess().getLeftParenthesisKeyword_3());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3039:1: ( (lv_expr_4_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3040:1: (lv_expr_4_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3040:1: (lv_expr_4_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3041:3: lv_expr_4_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getCollectOrIterateOperationAccess().getExprExpressionParserRuleCall_4_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleCollectOrIterateOperation6471);
+ lv_expr_4_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectOrIterateOperationRule());
+ }
+ set(
+ current,
+ "expr",
+ lv_expr_4_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_5=(Token)match(input,25,FOLLOW_25_in_ruleCollectOrIterateOperation6483);
+
+ newLeafNode(otherlv_5, grammarAccess.getCollectOrIterateOperationAccess().getRightParenthesisKeyword_5());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3061:1: ( (lv_suffix_6_0= ruleSuffixExpression ) )?
+ int alt51=2;
+ int LA51_0 = input.LA(1);
+
+ if ( (LA51_0==49||LA51_0==52) ) {
+ alt51=1;
+ }
+ switch (alt51) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3062:1: (lv_suffix_6_0= ruleSuffixExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3062:1: (lv_suffix_6_0= ruleSuffixExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3063:3: lv_suffix_6_0= ruleSuffixExpression
+ {
+
+ newCompositeNode(grammarAccess.getCollectOrIterateOperationAccess().getSuffixSuffixExpressionParserRuleCall_6_0());
+
+ pushFollow(FOLLOW_ruleSuffixExpression_in_ruleCollectOrIterateOperation6504);
+ lv_suffix_6_0=ruleSuffixExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCollectOrIterateOperationRule());
+ }
+ set(
+ current,
+ "suffix",
+ lv_suffix_6_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleCollectOrIterateOperation"
+
+
+ // $ANTLR start "entryRuleForAllOrExistsOrOneOperation"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3087:1: entryRuleForAllOrExistsOrOneOperation returns [EObject current=null] : iv_ruleForAllOrExistsOrOneOperation= ruleForAllOrExistsOrOneOperation EOF ;
+ public final EObject entryRuleForAllOrExistsOrOneOperation() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleForAllOrExistsOrOneOperation = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3088:2: (iv_ruleForAllOrExistsOrOneOperation= ruleForAllOrExistsOrOneOperation EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3089:2: iv_ruleForAllOrExistsOrOneOperation= ruleForAllOrExistsOrOneOperation EOF
+ {
+ newCompositeNode(grammarAccess.getForAllOrExistsOrOneOperationRule());
+ pushFollow(FOLLOW_ruleForAllOrExistsOrOneOperation_in_entryRuleForAllOrExistsOrOneOperation6541);
+ iv_ruleForAllOrExistsOrOneOperation=ruleForAllOrExistsOrOneOperation();
+
+ state._fsp--;
+
+ current =iv_ruleForAllOrExistsOrOneOperation;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleForAllOrExistsOrOneOperation6551);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleForAllOrExistsOrOneOperation"
+
+
+ // $ANTLR start "ruleForAllOrExistsOrOneOperation"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3096:1: ruleForAllOrExistsOrOneOperation returns [EObject current=null] : (otherlv_0= '->' ( (lv_op_1_0= ruleForAllOrExistsOrOneOperator ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )? ) ;
+ public final EObject ruleForAllOrExistsOrOneOperation() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token lv_name_2_0=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ Enumerator lv_op_1_0 = null;
+
+ EObject lv_expr_4_0 = null;
+
+ EObject lv_suffix_6_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3099:28: ( (otherlv_0= '->' ( (lv_op_1_0= ruleForAllOrExistsOrOneOperator ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3100:1: (otherlv_0= '->' ( (lv_op_1_0= ruleForAllOrExistsOrOneOperator ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3100:1: (otherlv_0= '->' ( (lv_op_1_0= ruleForAllOrExistsOrOneOperator ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3100:3: otherlv_0= '->' ( (lv_op_1_0= ruleForAllOrExistsOrOneOperator ) ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )?
+ {
+ otherlv_0=(Token)match(input,52,FOLLOW_52_in_ruleForAllOrExistsOrOneOperation6588);
+
+ newLeafNode(otherlv_0, grammarAccess.getForAllOrExistsOrOneOperationAccess().getHyphenMinusGreaterThanSignKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3104:1: ( (lv_op_1_0= ruleForAllOrExistsOrOneOperator ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3105:1: (lv_op_1_0= ruleForAllOrExistsOrOneOperator )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3105:1: (lv_op_1_0= ruleForAllOrExistsOrOneOperator )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3106:3: lv_op_1_0= ruleForAllOrExistsOrOneOperator
+ {
+
+ newCompositeNode(grammarAccess.getForAllOrExistsOrOneOperationAccess().getOpForAllOrExistsOrOneOperatorEnumRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleForAllOrExistsOrOneOperator_in_ruleForAllOrExistsOrOneOperation6609);
+ lv_op_1_0=ruleForAllOrExistsOrOneOperator();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getForAllOrExistsOrOneOperationRule());
+ }
+ set(
+ current,
+ "op",
+ lv_op_1_0,
+ "ForAllOrExistsOrOneOperator");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3122:2: ( (lv_name_2_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3123:1: (lv_name_2_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3123:1: (lv_name_2_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3124:3: lv_name_2_0= RULE_ID
+ {
+ lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleForAllOrExistsOrOneOperation6626);
+
+ newLeafNode(lv_name_2_0, grammarAccess.getForAllOrExistsOrOneOperationAccess().getNameIDTerminalRuleCall_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getForAllOrExistsOrOneOperationRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_2_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,24,FOLLOW_24_in_ruleForAllOrExistsOrOneOperation6643);
+
+ newLeafNode(otherlv_3, grammarAccess.getForAllOrExistsOrOneOperationAccess().getLeftParenthesisKeyword_3());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3144:1: ( (lv_expr_4_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3145:1: (lv_expr_4_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3145:1: (lv_expr_4_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3146:3: lv_expr_4_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getForAllOrExistsOrOneOperationAccess().getExprExpressionParserRuleCall_4_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleForAllOrExistsOrOneOperation6664);
+ lv_expr_4_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getForAllOrExistsOrOneOperationRule());
+ }
+ set(
+ current,
+ "expr",
+ lv_expr_4_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_5=(Token)match(input,25,FOLLOW_25_in_ruleForAllOrExistsOrOneOperation6676);
+
+ newLeafNode(otherlv_5, grammarAccess.getForAllOrExistsOrOneOperationAccess().getRightParenthesisKeyword_5());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3166:1: ( (lv_suffix_6_0= ruleSuffixExpression ) )?
+ int alt52=2;
+ int LA52_0 = input.LA(1);
+
+ if ( (LA52_0==49||LA52_0==52) ) {
+ alt52=1;
+ }
+ switch (alt52) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3167:1: (lv_suffix_6_0= ruleSuffixExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3167:1: (lv_suffix_6_0= ruleSuffixExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3168:3: lv_suffix_6_0= ruleSuffixExpression
+ {
+
+ newCompositeNode(grammarAccess.getForAllOrExistsOrOneOperationAccess().getSuffixSuffixExpressionParserRuleCall_6_0());
+
+ pushFollow(FOLLOW_ruleSuffixExpression_in_ruleForAllOrExistsOrOneOperation6697);
+ lv_suffix_6_0=ruleSuffixExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getForAllOrExistsOrOneOperationRule());
+ }
+ set(
+ current,
+ "suffix",
+ lv_suffix_6_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleForAllOrExistsOrOneOperation"
+
+
+ // $ANTLR start "entryRuleIsUniqueOperation"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3192:1: entryRuleIsUniqueOperation returns [EObject current=null] : iv_ruleIsUniqueOperation= ruleIsUniqueOperation EOF ;
+ public final EObject entryRuleIsUniqueOperation() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleIsUniqueOperation = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3193:2: (iv_ruleIsUniqueOperation= ruleIsUniqueOperation EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3194:2: iv_ruleIsUniqueOperation= ruleIsUniqueOperation EOF
+ {
+ newCompositeNode(grammarAccess.getIsUniqueOperationRule());
+ pushFollow(FOLLOW_ruleIsUniqueOperation_in_entryRuleIsUniqueOperation6734);
+ iv_ruleIsUniqueOperation=ruleIsUniqueOperation();
+
+ state._fsp--;
+
+ current =iv_ruleIsUniqueOperation;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleIsUniqueOperation6744);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleIsUniqueOperation"
+
+
+ // $ANTLR start "ruleIsUniqueOperation"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3201:1: ruleIsUniqueOperation returns [EObject current=null] : (otherlv_0= '->' otherlv_1= 'isUnique' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )? ) ;
+ public final EObject ruleIsUniqueOperation() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=null;
+ Token lv_name_2_0=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ EObject lv_expr_4_0 = null;
+
+ EObject lv_suffix_6_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3204:28: ( (otherlv_0= '->' otherlv_1= 'isUnique' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3205:1: (otherlv_0= '->' otherlv_1= 'isUnique' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3205:1: (otherlv_0= '->' otherlv_1= 'isUnique' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3205:3: otherlv_0= '->' otherlv_1= 'isUnique' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( (lv_expr_4_0= ruleExpression ) ) otherlv_5= ')' ( (lv_suffix_6_0= ruleSuffixExpression ) )?
+ {
+ otherlv_0=(Token)match(input,52,FOLLOW_52_in_ruleIsUniqueOperation6781);
+
+ newLeafNode(otherlv_0, grammarAccess.getIsUniqueOperationAccess().getHyphenMinusGreaterThanSignKeyword_0());
+
+ otherlv_1=(Token)match(input,55,FOLLOW_55_in_ruleIsUniqueOperation6793);
+
+ newLeafNode(otherlv_1, grammarAccess.getIsUniqueOperationAccess().getIsUniqueKeyword_1());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3213:1: ( (lv_name_2_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3214:1: (lv_name_2_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3214:1: (lv_name_2_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3215:3: lv_name_2_0= RULE_ID
+ {
+ lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleIsUniqueOperation6810);
+
+ newLeafNode(lv_name_2_0, grammarAccess.getIsUniqueOperationAccess().getNameIDTerminalRuleCall_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getIsUniqueOperationRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_2_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,24,FOLLOW_24_in_ruleIsUniqueOperation6827);
+
+ newLeafNode(otherlv_3, grammarAccess.getIsUniqueOperationAccess().getLeftParenthesisKeyword_3());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3235:1: ( (lv_expr_4_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3236:1: (lv_expr_4_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3236:1: (lv_expr_4_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3237:3: lv_expr_4_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getIsUniqueOperationAccess().getExprExpressionParserRuleCall_4_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleIsUniqueOperation6848);
+ lv_expr_4_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getIsUniqueOperationRule());
+ }
+ set(
+ current,
+ "expr",
+ lv_expr_4_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_5=(Token)match(input,25,FOLLOW_25_in_ruleIsUniqueOperation6860);
+
+ newLeafNode(otherlv_5, grammarAccess.getIsUniqueOperationAccess().getRightParenthesisKeyword_5());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3257:1: ( (lv_suffix_6_0= ruleSuffixExpression ) )?
+ int alt53=2;
+ int LA53_0 = input.LA(1);
+
+ if ( (LA53_0==49||LA53_0==52) ) {
+ alt53=1;
+ }
+ switch (alt53) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3258:1: (lv_suffix_6_0= ruleSuffixExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3258:1: (lv_suffix_6_0= ruleSuffixExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3259:3: lv_suffix_6_0= ruleSuffixExpression
+ {
+
+ newCompositeNode(grammarAccess.getIsUniqueOperationAccess().getSuffixSuffixExpressionParserRuleCall_6_0());
+
+ pushFollow(FOLLOW_ruleSuffixExpression_in_ruleIsUniqueOperation6881);
+ lv_suffix_6_0=ruleSuffixExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getIsUniqueOperationRule());
+ }
+ set(
+ current,
+ "suffix",
+ lv_suffix_6_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleIsUniqueOperation"
+
+
+ // $ANTLR start "entryRuleValueSpecification"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3283:1: entryRuleValueSpecification returns [EObject current=null] : iv_ruleValueSpecification= ruleValueSpecification EOF ;
+ public final EObject entryRuleValueSpecification() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleValueSpecification = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3284:2: (iv_ruleValueSpecification= ruleValueSpecification EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3285:2: iv_ruleValueSpecification= ruleValueSpecification EOF
+ {
+ newCompositeNode(grammarAccess.getValueSpecificationRule());
+ pushFollow(FOLLOW_ruleValueSpecification_in_entryRuleValueSpecification6918);
+ iv_ruleValueSpecification=ruleValueSpecification();
+
+ state._fsp--;
+
+ current =iv_ruleValueSpecification;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleValueSpecification6928);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleValueSpecification"
+
+
+ // $ANTLR start "ruleValueSpecification"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3292:1: ruleValueSpecification returns [EObject current=null] : (this_NameExpression_0= ruleNameExpression | this_LITERAL_1= ruleLITERAL | this_ThisExpression_2= ruleThisExpression | this_SuperInvocationExpression_3= ruleSuperInvocationExpression | this_InstanceCreationExpression_4= ruleInstanceCreationExpression | this_ParenthesizedExpression_5= ruleParenthesizedExpression | this_NullExpression_6= ruleNullExpression ) ;
+ public final EObject ruleValueSpecification() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_NameExpression_0 = null;
+
+ EObject this_LITERAL_1 = null;
+
+ EObject this_ThisExpression_2 = null;
+
+ EObject this_SuperInvocationExpression_3 = null;
+
+ EObject this_InstanceCreationExpression_4 = null;
+
+ EObject this_ParenthesizedExpression_5 = null;
+
+ EObject this_NullExpression_6 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3295:28: ( (this_NameExpression_0= ruleNameExpression | this_LITERAL_1= ruleLITERAL | this_ThisExpression_2= ruleThisExpression | this_SuperInvocationExpression_3= ruleSuperInvocationExpression | this_InstanceCreationExpression_4= ruleInstanceCreationExpression | this_ParenthesizedExpression_5= ruleParenthesizedExpression | this_NullExpression_6= ruleNullExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3296:1: (this_NameExpression_0= ruleNameExpression | this_LITERAL_1= ruleLITERAL | this_ThisExpression_2= ruleThisExpression | this_SuperInvocationExpression_3= ruleSuperInvocationExpression | this_InstanceCreationExpression_4= ruleInstanceCreationExpression | this_ParenthesizedExpression_5= ruleParenthesizedExpression | this_NullExpression_6= ruleNullExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3296:1: (this_NameExpression_0= ruleNameExpression | this_LITERAL_1= ruleLITERAL | this_ThisExpression_2= ruleThisExpression | this_SuperInvocationExpression_3= ruleSuperInvocationExpression | this_InstanceCreationExpression_4= ruleInstanceCreationExpression | this_ParenthesizedExpression_5= ruleParenthesizedExpression | this_NullExpression_6= ruleNullExpression )
+ int alt54=7;
+ switch ( input.LA(1) ) {
+ case RULE_ID:
+ case 17:
+ case 18:
+ {
+ alt54=1;
+ }
+ break;
+ case RULE_INTEGERVALUE:
+ case RULE_STRING:
+ case 16:
+ case 87:
+ case 88:
+ {
+ alt54=2;
+ }
+ break;
+ case 57:
+ {
+ alt54=3;
+ }
+ break;
+ case 58:
+ {
+ alt54=4;
+ }
+ break;
+ case 59:
+ {
+ alt54=5;
+ }
+ break;
+ case 24:
+ {
+ alt54=6;
+ }
+ break;
+ case 56:
+ {
+ alt54=7;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 54, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt54) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3297:5: this_NameExpression_0= ruleNameExpression
+ {
+
+ newCompositeNode(grammarAccess.getValueSpecificationAccess().getNameExpressionParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleNameExpression_in_ruleValueSpecification6975);
+ this_NameExpression_0=ruleNameExpression();
+
+ state._fsp--;
+
+
+ current = this_NameExpression_0;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3307:5: this_LITERAL_1= ruleLITERAL
+ {
+
+ newCompositeNode(grammarAccess.getValueSpecificationAccess().getLITERALParserRuleCall_1());
+
+ pushFollow(FOLLOW_ruleLITERAL_in_ruleValueSpecification7002);
+ this_LITERAL_1=ruleLITERAL();
+
+ state._fsp--;
+
+
+ current = this_LITERAL_1;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3317:5: this_ThisExpression_2= ruleThisExpression
+ {
+
+ newCompositeNode(grammarAccess.getValueSpecificationAccess().getThisExpressionParserRuleCall_2());
+
+ pushFollow(FOLLOW_ruleThisExpression_in_ruleValueSpecification7029);
+ this_ThisExpression_2=ruleThisExpression();
+
+ state._fsp--;
+
+
+ current = this_ThisExpression_2;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3327:5: this_SuperInvocationExpression_3= ruleSuperInvocationExpression
+ {
+
+ newCompositeNode(grammarAccess.getValueSpecificationAccess().getSuperInvocationExpressionParserRuleCall_3());
+
+ pushFollow(FOLLOW_ruleSuperInvocationExpression_in_ruleValueSpecification7056);
+ this_SuperInvocationExpression_3=ruleSuperInvocationExpression();
+
+ state._fsp--;
+
+
+ current = this_SuperInvocationExpression_3;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3337:5: this_InstanceCreationExpression_4= ruleInstanceCreationExpression
+ {
+
+ newCompositeNode(grammarAccess.getValueSpecificationAccess().getInstanceCreationExpressionParserRuleCall_4());
+
+ pushFollow(FOLLOW_ruleInstanceCreationExpression_in_ruleValueSpecification7083);
+ this_InstanceCreationExpression_4=ruleInstanceCreationExpression();
+
+ state._fsp--;
+
+
+ current = this_InstanceCreationExpression_4;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3347:5: this_ParenthesizedExpression_5= ruleParenthesizedExpression
+ {
+
+ newCompositeNode(grammarAccess.getValueSpecificationAccess().getParenthesizedExpressionParserRuleCall_5());
+
+ pushFollow(FOLLOW_ruleParenthesizedExpression_in_ruleValueSpecification7110);
+ this_ParenthesizedExpression_5=ruleParenthesizedExpression();
+
+ state._fsp--;
+
+
+ current = this_ParenthesizedExpression_5;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3357:5: this_NullExpression_6= ruleNullExpression
+ {
+
+ newCompositeNode(grammarAccess.getValueSpecificationAccess().getNullExpressionParserRuleCall_6());
+
+ pushFollow(FOLLOW_ruleNullExpression_in_ruleValueSpecification7137);
+ this_NullExpression_6=ruleNullExpression();
+
+ state._fsp--;
+
+
+ current = this_NullExpression_6;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleValueSpecification"
+
+
+ // $ANTLR start "entryRuleNonLiteralValueSpecification"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3373:1: entryRuleNonLiteralValueSpecification returns [EObject current=null] : iv_ruleNonLiteralValueSpecification= ruleNonLiteralValueSpecification EOF ;
+ public final EObject entryRuleNonLiteralValueSpecification() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNonLiteralValueSpecification = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3374:2: (iv_ruleNonLiteralValueSpecification= ruleNonLiteralValueSpecification EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3375:2: iv_ruleNonLiteralValueSpecification= ruleNonLiteralValueSpecification EOF
+ {
+ newCompositeNode(grammarAccess.getNonLiteralValueSpecificationRule());
+ pushFollow(FOLLOW_ruleNonLiteralValueSpecification_in_entryRuleNonLiteralValueSpecification7172);
+ iv_ruleNonLiteralValueSpecification=ruleNonLiteralValueSpecification();
+
+ state._fsp--;
+
+ current =iv_ruleNonLiteralValueSpecification;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNonLiteralValueSpecification7182);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNonLiteralValueSpecification"
+
+
+ // $ANTLR start "ruleNonLiteralValueSpecification"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3382:1: ruleNonLiteralValueSpecification returns [EObject current=null] : (this_NameExpression_0= ruleNameExpression | this_ParenthesizedExpression_1= ruleParenthesizedExpression | this_InstanceCreationExpression_2= ruleInstanceCreationExpression | this_ThisExpression_3= ruleThisExpression | this_SuperInvocationExpression_4= ruleSuperInvocationExpression ) ;
+ public final EObject ruleNonLiteralValueSpecification() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_NameExpression_0 = null;
+
+ EObject this_ParenthesizedExpression_1 = null;
+
+ EObject this_InstanceCreationExpression_2 = null;
+
+ EObject this_ThisExpression_3 = null;
+
+ EObject this_SuperInvocationExpression_4 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3385:28: ( (this_NameExpression_0= ruleNameExpression | this_ParenthesizedExpression_1= ruleParenthesizedExpression | this_InstanceCreationExpression_2= ruleInstanceCreationExpression | this_ThisExpression_3= ruleThisExpression | this_SuperInvocationExpression_4= ruleSuperInvocationExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3386:1: (this_NameExpression_0= ruleNameExpression | this_ParenthesizedExpression_1= ruleParenthesizedExpression | this_InstanceCreationExpression_2= ruleInstanceCreationExpression | this_ThisExpression_3= ruleThisExpression | this_SuperInvocationExpression_4= ruleSuperInvocationExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3386:1: (this_NameExpression_0= ruleNameExpression | this_ParenthesizedExpression_1= ruleParenthesizedExpression | this_InstanceCreationExpression_2= ruleInstanceCreationExpression | this_ThisExpression_3= ruleThisExpression | this_SuperInvocationExpression_4= ruleSuperInvocationExpression )
+ int alt55=5;
+ switch ( input.LA(1) ) {
+ case RULE_ID:
+ case 17:
+ case 18:
+ {
+ alt55=1;
+ }
+ break;
+ case 24:
+ {
+ alt55=2;
+ }
+ break;
+ case 59:
+ {
+ alt55=3;
+ }
+ break;
+ case 57:
+ {
+ alt55=4;
+ }
+ break;
+ case 58:
+ {
+ alt55=5;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 55, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt55) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3387:5: this_NameExpression_0= ruleNameExpression
+ {
+
+ newCompositeNode(grammarAccess.getNonLiteralValueSpecificationAccess().getNameExpressionParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleNameExpression_in_ruleNonLiteralValueSpecification7229);
+ this_NameExpression_0=ruleNameExpression();
+
+ state._fsp--;
+
+
+ current = this_NameExpression_0;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3397:5: this_ParenthesizedExpression_1= ruleParenthesizedExpression
+ {
+
+ newCompositeNode(grammarAccess.getNonLiteralValueSpecificationAccess().getParenthesizedExpressionParserRuleCall_1());
+
+ pushFollow(FOLLOW_ruleParenthesizedExpression_in_ruleNonLiteralValueSpecification7256);
+ this_ParenthesizedExpression_1=ruleParenthesizedExpression();
+
+ state._fsp--;
+
+
+ current = this_ParenthesizedExpression_1;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3407:5: this_InstanceCreationExpression_2= ruleInstanceCreationExpression
+ {
+
+ newCompositeNode(grammarAccess.getNonLiteralValueSpecificationAccess().getInstanceCreationExpressionParserRuleCall_2());
+
+ pushFollow(FOLLOW_ruleInstanceCreationExpression_in_ruleNonLiteralValueSpecification7283);
+ this_InstanceCreationExpression_2=ruleInstanceCreationExpression();
+
+ state._fsp--;
+
+
+ current = this_InstanceCreationExpression_2;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3417:5: this_ThisExpression_3= ruleThisExpression
+ {
+
+ newCompositeNode(grammarAccess.getNonLiteralValueSpecificationAccess().getThisExpressionParserRuleCall_3());
+
+ pushFollow(FOLLOW_ruleThisExpression_in_ruleNonLiteralValueSpecification7310);
+ this_ThisExpression_3=ruleThisExpression();
+
+ state._fsp--;
+
+
+ current = this_ThisExpression_3;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3427:5: this_SuperInvocationExpression_4= ruleSuperInvocationExpression
+ {
+
+ newCompositeNode(grammarAccess.getNonLiteralValueSpecificationAccess().getSuperInvocationExpressionParserRuleCall_4());
+
+ pushFollow(FOLLOW_ruleSuperInvocationExpression_in_ruleNonLiteralValueSpecification7337);
+ this_SuperInvocationExpression_4=ruleSuperInvocationExpression();
+
+ state._fsp--;
+
+
+ current = this_SuperInvocationExpression_4;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNonLiteralValueSpecification"
+
+
+ // $ANTLR start "entryRuleParenthesizedExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3443:1: entryRuleParenthesizedExpression returns [EObject current=null] : iv_ruleParenthesizedExpression= ruleParenthesizedExpression EOF ;
+ public final EObject entryRuleParenthesizedExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleParenthesizedExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3444:2: (iv_ruleParenthesizedExpression= ruleParenthesizedExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3445:2: iv_ruleParenthesizedExpression= ruleParenthesizedExpression EOF
+ {
+ newCompositeNode(grammarAccess.getParenthesizedExpressionRule());
+ pushFollow(FOLLOW_ruleParenthesizedExpression_in_entryRuleParenthesizedExpression7372);
+ iv_ruleParenthesizedExpression=ruleParenthesizedExpression();
+
+ state._fsp--;
+
+ current =iv_ruleParenthesizedExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleParenthesizedExpression7382);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleParenthesizedExpression"
+
+
+ // $ANTLR start "ruleParenthesizedExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3452:1: ruleParenthesizedExpression returns [EObject current=null] : (otherlv_0= '(' ( (lv_expOrTypeCast_1_0= ruleExpression ) ) otherlv_2= ')' ( ( (lv_casted_3_0= ruleNonLiteralValueSpecification ) ) | ( (lv_suffix_4_0= ruleSuffixExpression ) ) )? ) ;
+ public final EObject ruleParenthesizedExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ EObject lv_expOrTypeCast_1_0 = null;
+
+ EObject lv_casted_3_0 = null;
+
+ EObject lv_suffix_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3455:28: ( (otherlv_0= '(' ( (lv_expOrTypeCast_1_0= ruleExpression ) ) otherlv_2= ')' ( ( (lv_casted_3_0= ruleNonLiteralValueSpecification ) ) | ( (lv_suffix_4_0= ruleSuffixExpression ) ) )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3456:1: (otherlv_0= '(' ( (lv_expOrTypeCast_1_0= ruleExpression ) ) otherlv_2= ')' ( ( (lv_casted_3_0= ruleNonLiteralValueSpecification ) ) | ( (lv_suffix_4_0= ruleSuffixExpression ) ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3456:1: (otherlv_0= '(' ( (lv_expOrTypeCast_1_0= ruleExpression ) ) otherlv_2= ')' ( ( (lv_casted_3_0= ruleNonLiteralValueSpecification ) ) | ( (lv_suffix_4_0= ruleSuffixExpression ) ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3456:3: otherlv_0= '(' ( (lv_expOrTypeCast_1_0= ruleExpression ) ) otherlv_2= ')' ( ( (lv_casted_3_0= ruleNonLiteralValueSpecification ) ) | ( (lv_suffix_4_0= ruleSuffixExpression ) ) )?
+ {
+ otherlv_0=(Token)match(input,24,FOLLOW_24_in_ruleParenthesizedExpression7419);
+
+ newLeafNode(otherlv_0, grammarAccess.getParenthesizedExpressionAccess().getLeftParenthesisKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3460:1: ( (lv_expOrTypeCast_1_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3461:1: (lv_expOrTypeCast_1_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3461:1: (lv_expOrTypeCast_1_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3462:3: lv_expOrTypeCast_1_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getParenthesizedExpressionAccess().getExpOrTypeCastExpressionParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleParenthesizedExpression7440);
+ lv_expOrTypeCast_1_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getParenthesizedExpressionRule());
+ }
+ set(
+ current,
+ "expOrTypeCast",
+ lv_expOrTypeCast_1_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_2=(Token)match(input,25,FOLLOW_25_in_ruleParenthesizedExpression7452);
+
+ newLeafNode(otherlv_2, grammarAccess.getParenthesizedExpressionAccess().getRightParenthesisKeyword_2());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3482:1: ( ( (lv_casted_3_0= ruleNonLiteralValueSpecification ) ) | ( (lv_suffix_4_0= ruleSuffixExpression ) ) )?
+ int alt56=3;
+ int LA56_0 = input.LA(1);
+
+ if ( (LA56_0==RULE_ID||(LA56_0>=17 && LA56_0<=18)||LA56_0==24||(LA56_0>=57 && LA56_0<=59)) ) {
+ alt56=1;
+ }
+ else if ( (LA56_0==49||LA56_0==52) ) {
+ alt56=2;
+ }
+ switch (alt56) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3482:2: ( (lv_casted_3_0= ruleNonLiteralValueSpecification ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3482:2: ( (lv_casted_3_0= ruleNonLiteralValueSpecification ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3483:1: (lv_casted_3_0= ruleNonLiteralValueSpecification )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3483:1: (lv_casted_3_0= ruleNonLiteralValueSpecification )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3484:3: lv_casted_3_0= ruleNonLiteralValueSpecification
+ {
+
+ newCompositeNode(grammarAccess.getParenthesizedExpressionAccess().getCastedNonLiteralValueSpecificationParserRuleCall_3_0_0());
+
+ pushFollow(FOLLOW_ruleNonLiteralValueSpecification_in_ruleParenthesizedExpression7474);
+ lv_casted_3_0=ruleNonLiteralValueSpecification();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getParenthesizedExpressionRule());
+ }
+ set(
+ current,
+ "casted",
+ lv_casted_3_0,
+ "NonLiteralValueSpecification");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3501:6: ( (lv_suffix_4_0= ruleSuffixExpression ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3501:6: ( (lv_suffix_4_0= ruleSuffixExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3502:1: (lv_suffix_4_0= ruleSuffixExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3502:1: (lv_suffix_4_0= ruleSuffixExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3503:3: lv_suffix_4_0= ruleSuffixExpression
+ {
+
+ newCompositeNode(grammarAccess.getParenthesizedExpressionAccess().getSuffixSuffixExpressionParserRuleCall_3_1_0());
+
+ pushFollow(FOLLOW_ruleSuffixExpression_in_ruleParenthesizedExpression7501);
+ lv_suffix_4_0=ruleSuffixExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getParenthesizedExpressionRule());
+ }
+ set(
+ current,
+ "suffix",
+ lv_suffix_4_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleParenthesizedExpression"
+
+
+ // $ANTLR start "entryRuleNullExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3527:1: entryRuleNullExpression returns [EObject current=null] : iv_ruleNullExpression= ruleNullExpression EOF ;
+ public final EObject entryRuleNullExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNullExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3528:2: (iv_ruleNullExpression= ruleNullExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3529:2: iv_ruleNullExpression= ruleNullExpression EOF
+ {
+ newCompositeNode(grammarAccess.getNullExpressionRule());
+ pushFollow(FOLLOW_ruleNullExpression_in_entryRuleNullExpression7539);
+ iv_ruleNullExpression=ruleNullExpression();
+
+ state._fsp--;
+
+ current =iv_ruleNullExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNullExpression7549);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNullExpression"
+
+
+ // $ANTLR start "ruleNullExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3536:1: ruleNullExpression returns [EObject current=null] : ( () otherlv_1= 'null' ) ;
+ public final EObject ruleNullExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3539:28: ( ( () otherlv_1= 'null' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3540:1: ( () otherlv_1= 'null' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3540:1: ( () otherlv_1= 'null' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3540:2: () otherlv_1= 'null'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3540:2: ()
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3541:5:
+ {
+
+ current = forceCreateModelElement(
+ grammarAccess.getNullExpressionAccess().getNullExpressionAction_0(),
+ current);
+
+
+ }
+
+ otherlv_1=(Token)match(input,56,FOLLOW_56_in_ruleNullExpression7595);
+
+ newLeafNode(otherlv_1, grammarAccess.getNullExpressionAccess().getNullKeyword_1());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNullExpression"
+
+
+ // $ANTLR start "entryRuleThisExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3558:1: entryRuleThisExpression returns [EObject current=null] : iv_ruleThisExpression= ruleThisExpression EOF ;
+ public final EObject entryRuleThisExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleThisExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3559:2: (iv_ruleThisExpression= ruleThisExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3560:2: iv_ruleThisExpression= ruleThisExpression EOF
+ {
+ newCompositeNode(grammarAccess.getThisExpressionRule());
+ pushFollow(FOLLOW_ruleThisExpression_in_entryRuleThisExpression7631);
+ iv_ruleThisExpression=ruleThisExpression();
+
+ state._fsp--;
+
+ current =iv_ruleThisExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleThisExpression7641);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleThisExpression"
+
+
+ // $ANTLR start "ruleThisExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3567:1: ruleThisExpression returns [EObject current=null] : ( () otherlv_1= 'this' ( (lv_suffix_2_0= ruleSuffixExpression ) )? ) ;
+ public final EObject ruleThisExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ EObject lv_suffix_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3570:28: ( ( () otherlv_1= 'this' ( (lv_suffix_2_0= ruleSuffixExpression ) )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3571:1: ( () otherlv_1= 'this' ( (lv_suffix_2_0= ruleSuffixExpression ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3571:1: ( () otherlv_1= 'this' ( (lv_suffix_2_0= ruleSuffixExpression ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3571:2: () otherlv_1= 'this' ( (lv_suffix_2_0= ruleSuffixExpression ) )?
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3571:2: ()
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3572:5:
+ {
+
+ current = forceCreateModelElement(
+ grammarAccess.getThisExpressionAccess().getThisExpressionAction_0(),
+ current);
+
+
+ }
+
+ otherlv_1=(Token)match(input,57,FOLLOW_57_in_ruleThisExpression7687);
+
+ newLeafNode(otherlv_1, grammarAccess.getThisExpressionAccess().getThisKeyword_1());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3581:1: ( (lv_suffix_2_0= ruleSuffixExpression ) )?
+ int alt57=2;
+ int LA57_0 = input.LA(1);
+
+ if ( (LA57_0==49||LA57_0==52) ) {
+ alt57=1;
+ }
+ switch (alt57) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3582:1: (lv_suffix_2_0= ruleSuffixExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3582:1: (lv_suffix_2_0= ruleSuffixExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3583:3: lv_suffix_2_0= ruleSuffixExpression
+ {
+
+ newCompositeNode(grammarAccess.getThisExpressionAccess().getSuffixSuffixExpressionParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleSuffixExpression_in_ruleThisExpression7708);
+ lv_suffix_2_0=ruleSuffixExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getThisExpressionRule());
+ }
+ set(
+ current,
+ "suffix",
+ lv_suffix_2_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleThisExpression"
+
+
+ // $ANTLR start "entryRuleSuperInvocationExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3607:1: entryRuleSuperInvocationExpression returns [EObject current=null] : iv_ruleSuperInvocationExpression= ruleSuperInvocationExpression EOF ;
+ public final EObject entryRuleSuperInvocationExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSuperInvocationExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3608:2: (iv_ruleSuperInvocationExpression= ruleSuperInvocationExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3609:2: iv_ruleSuperInvocationExpression= ruleSuperInvocationExpression EOF
+ {
+ newCompositeNode(grammarAccess.getSuperInvocationExpressionRule());
+ pushFollow(FOLLOW_ruleSuperInvocationExpression_in_entryRuleSuperInvocationExpression7745);
+ iv_ruleSuperInvocationExpression=ruleSuperInvocationExpression();
+
+ state._fsp--;
+
+ current =iv_ruleSuperInvocationExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSuperInvocationExpression7755);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSuperInvocationExpression"
+
+
+ // $ANTLR start "ruleSuperInvocationExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3616:1: ruleSuperInvocationExpression returns [EObject current=null] : (otherlv_0= 'super' ( ( (lv_tuple_1_0= ruleTuple ) ) | (otherlv_2= '.' ( (lv_operationName_3_0= ruleQualifiedNameWithBinding ) ) ( (lv_tuple_4_0= ruleTuple ) ) ) ) ) ;
+ public final EObject ruleSuperInvocationExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ EObject lv_tuple_1_0 = null;
+
+ EObject lv_operationName_3_0 = null;
+
+ EObject lv_tuple_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3619:28: ( (otherlv_0= 'super' ( ( (lv_tuple_1_0= ruleTuple ) ) | (otherlv_2= '.' ( (lv_operationName_3_0= ruleQualifiedNameWithBinding ) ) ( (lv_tuple_4_0= ruleTuple ) ) ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3620:1: (otherlv_0= 'super' ( ( (lv_tuple_1_0= ruleTuple ) ) | (otherlv_2= '.' ( (lv_operationName_3_0= ruleQualifiedNameWithBinding ) ) ( (lv_tuple_4_0= ruleTuple ) ) ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3620:1: (otherlv_0= 'super' ( ( (lv_tuple_1_0= ruleTuple ) ) | (otherlv_2= '.' ( (lv_operationName_3_0= ruleQualifiedNameWithBinding ) ) ( (lv_tuple_4_0= ruleTuple ) ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3620:3: otherlv_0= 'super' ( ( (lv_tuple_1_0= ruleTuple ) ) | (otherlv_2= '.' ( (lv_operationName_3_0= ruleQualifiedNameWithBinding ) ) ( (lv_tuple_4_0= ruleTuple ) ) ) )
+ {
+ otherlv_0=(Token)match(input,58,FOLLOW_58_in_ruleSuperInvocationExpression7792);
+
+ newLeafNode(otherlv_0, grammarAccess.getSuperInvocationExpressionAccess().getSuperKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3624:1: ( ( (lv_tuple_1_0= ruleTuple ) ) | (otherlv_2= '.' ( (lv_operationName_3_0= ruleQualifiedNameWithBinding ) ) ( (lv_tuple_4_0= ruleTuple ) ) ) )
+ int alt58=2;
+ int LA58_0 = input.LA(1);
+
+ if ( (LA58_0==24) ) {
+ alt58=1;
+ }
+ else if ( (LA58_0==49) ) {
+ alt58=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 58, 0, input);
+
+ throw nvae;
+ }
+ switch (alt58) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3624:2: ( (lv_tuple_1_0= ruleTuple ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3624:2: ( (lv_tuple_1_0= ruleTuple ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3625:1: (lv_tuple_1_0= ruleTuple )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3625:1: (lv_tuple_1_0= ruleTuple )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3626:3: lv_tuple_1_0= ruleTuple
+ {
+
+ newCompositeNode(grammarAccess.getSuperInvocationExpressionAccess().getTupleTupleParserRuleCall_1_0_0());
+
+ pushFollow(FOLLOW_ruleTuple_in_ruleSuperInvocationExpression7814);
+ lv_tuple_1_0=ruleTuple();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSuperInvocationExpressionRule());
+ }
+ set(
+ current,
+ "tuple",
+ lv_tuple_1_0,
+ "Tuple");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3643:6: (otherlv_2= '.' ( (lv_operationName_3_0= ruleQualifiedNameWithBinding ) ) ( (lv_tuple_4_0= ruleTuple ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3643:6: (otherlv_2= '.' ( (lv_operationName_3_0= ruleQualifiedNameWithBinding ) ) ( (lv_tuple_4_0= ruleTuple ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3643:8: otherlv_2= '.' ( (lv_operationName_3_0= ruleQualifiedNameWithBinding ) ) ( (lv_tuple_4_0= ruleTuple ) )
+ {
+ otherlv_2=(Token)match(input,49,FOLLOW_49_in_ruleSuperInvocationExpression7833);
+
+ newLeafNode(otherlv_2, grammarAccess.getSuperInvocationExpressionAccess().getFullStopKeyword_1_1_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3647:1: ( (lv_operationName_3_0= ruleQualifiedNameWithBinding ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3648:1: (lv_operationName_3_0= ruleQualifiedNameWithBinding )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3648:1: (lv_operationName_3_0= ruleQualifiedNameWithBinding )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3649:3: lv_operationName_3_0= ruleQualifiedNameWithBinding
+ {
+
+ newCompositeNode(grammarAccess.getSuperInvocationExpressionAccess().getOperationNameQualifiedNameWithBindingParserRuleCall_1_1_1_0());
+
+ pushFollow(FOLLOW_ruleQualifiedNameWithBinding_in_ruleSuperInvocationExpression7854);
+ lv_operationName_3_0=ruleQualifiedNameWithBinding();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSuperInvocationExpressionRule());
+ }
+ set(
+ current,
+ "operationName",
+ lv_operationName_3_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3665:2: ( (lv_tuple_4_0= ruleTuple ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3666:1: (lv_tuple_4_0= ruleTuple )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3666:1: (lv_tuple_4_0= ruleTuple )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3667:3: lv_tuple_4_0= ruleTuple
+ {
+
+ newCompositeNode(grammarAccess.getSuperInvocationExpressionAccess().getTupleTupleParserRuleCall_1_1_2_0());
+
+ pushFollow(FOLLOW_ruleTuple_in_ruleSuperInvocationExpression7875);
+ lv_tuple_4_0=ruleTuple();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSuperInvocationExpressionRule());
+ }
+ set(
+ current,
+ "tuple",
+ lv_tuple_4_0,
+ "Tuple");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSuperInvocationExpression"
+
+
+ // $ANTLR start "entryRuleInstanceCreationExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3691:1: entryRuleInstanceCreationExpression returns [EObject current=null] : iv_ruleInstanceCreationExpression= ruleInstanceCreationExpression EOF ;
+ public final EObject entryRuleInstanceCreationExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleInstanceCreationExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3692:2: (iv_ruleInstanceCreationExpression= ruleInstanceCreationExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3693:2: iv_ruleInstanceCreationExpression= ruleInstanceCreationExpression EOF
+ {
+ newCompositeNode(grammarAccess.getInstanceCreationExpressionRule());
+ pushFollow(FOLLOW_ruleInstanceCreationExpression_in_entryRuleInstanceCreationExpression7913);
+ iv_ruleInstanceCreationExpression=ruleInstanceCreationExpression();
+
+ state._fsp--;
+
+ current =iv_ruleInstanceCreationExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleInstanceCreationExpression7923);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleInstanceCreationExpression"
+
+
+ // $ANTLR start "ruleInstanceCreationExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3700:1: ruleInstanceCreationExpression returns [EObject current=null] : (otherlv_0= 'new' ( (lv_constructor_1_0= ruleQualifiedNameWithBinding ) ) ( (lv_tuple_2_0= ruleInstanceCreationTuple ) ) ( (lv_suffix_3_0= ruleSuffixExpression ) )? ) ;
+ public final EObject ruleInstanceCreationExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ EObject lv_constructor_1_0 = null;
+
+ EObject lv_tuple_2_0 = null;
+
+ EObject lv_suffix_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3703:28: ( (otherlv_0= 'new' ( (lv_constructor_1_0= ruleQualifiedNameWithBinding ) ) ( (lv_tuple_2_0= ruleInstanceCreationTuple ) ) ( (lv_suffix_3_0= ruleSuffixExpression ) )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3704:1: (otherlv_0= 'new' ( (lv_constructor_1_0= ruleQualifiedNameWithBinding ) ) ( (lv_tuple_2_0= ruleInstanceCreationTuple ) ) ( (lv_suffix_3_0= ruleSuffixExpression ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3704:1: (otherlv_0= 'new' ( (lv_constructor_1_0= ruleQualifiedNameWithBinding ) ) ( (lv_tuple_2_0= ruleInstanceCreationTuple ) ) ( (lv_suffix_3_0= ruleSuffixExpression ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3704:3: otherlv_0= 'new' ( (lv_constructor_1_0= ruleQualifiedNameWithBinding ) ) ( (lv_tuple_2_0= ruleInstanceCreationTuple ) ) ( (lv_suffix_3_0= ruleSuffixExpression ) )?
+ {
+ otherlv_0=(Token)match(input,59,FOLLOW_59_in_ruleInstanceCreationExpression7960);
+
+ newLeafNode(otherlv_0, grammarAccess.getInstanceCreationExpressionAccess().getNewKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3708:1: ( (lv_constructor_1_0= ruleQualifiedNameWithBinding ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3709:1: (lv_constructor_1_0= ruleQualifiedNameWithBinding )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3709:1: (lv_constructor_1_0= ruleQualifiedNameWithBinding )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3710:3: lv_constructor_1_0= ruleQualifiedNameWithBinding
+ {
+
+ newCompositeNode(grammarAccess.getInstanceCreationExpressionAccess().getConstructorQualifiedNameWithBindingParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleQualifiedNameWithBinding_in_ruleInstanceCreationExpression7981);
+ lv_constructor_1_0=ruleQualifiedNameWithBinding();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getInstanceCreationExpressionRule());
+ }
+ set(
+ current,
+ "constructor",
+ lv_constructor_1_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3726:2: ( (lv_tuple_2_0= ruleInstanceCreationTuple ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3727:1: (lv_tuple_2_0= ruleInstanceCreationTuple )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3727:1: (lv_tuple_2_0= ruleInstanceCreationTuple )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3728:3: lv_tuple_2_0= ruleInstanceCreationTuple
+ {
+
+ newCompositeNode(grammarAccess.getInstanceCreationExpressionAccess().getTupleInstanceCreationTupleParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleInstanceCreationTuple_in_ruleInstanceCreationExpression8002);
+ lv_tuple_2_0=ruleInstanceCreationTuple();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getInstanceCreationExpressionRule());
+ }
+ set(
+ current,
+ "tuple",
+ lv_tuple_2_0,
+ "InstanceCreationTuple");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3744:2: ( (lv_suffix_3_0= ruleSuffixExpression ) )?
+ int alt59=2;
+ int LA59_0 = input.LA(1);
+
+ if ( (LA59_0==49||LA59_0==52) ) {
+ alt59=1;
+ }
+ switch (alt59) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3745:1: (lv_suffix_3_0= ruleSuffixExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3745:1: (lv_suffix_3_0= ruleSuffixExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3746:3: lv_suffix_3_0= ruleSuffixExpression
+ {
+
+ newCompositeNode(grammarAccess.getInstanceCreationExpressionAccess().getSuffixSuffixExpressionParserRuleCall_3_0());
+
+ pushFollow(FOLLOW_ruleSuffixExpression_in_ruleInstanceCreationExpression8023);
+ lv_suffix_3_0=ruleSuffixExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getInstanceCreationExpressionRule());
+ }
+ set(
+ current,
+ "suffix",
+ lv_suffix_3_0,
+ "SuffixExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleInstanceCreationExpression"
+
+
+ // $ANTLR start "entryRuleInstanceCreationTuple"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3770:1: entryRuleInstanceCreationTuple returns [EObject current=null] : iv_ruleInstanceCreationTuple= ruleInstanceCreationTuple EOF ;
+ public final EObject entryRuleInstanceCreationTuple() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleInstanceCreationTuple = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3771:2: (iv_ruleInstanceCreationTuple= ruleInstanceCreationTuple EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3772:2: iv_ruleInstanceCreationTuple= ruleInstanceCreationTuple EOF
+ {
+ newCompositeNode(grammarAccess.getInstanceCreationTupleRule());
+ pushFollow(FOLLOW_ruleInstanceCreationTuple_in_entryRuleInstanceCreationTuple8060);
+ iv_ruleInstanceCreationTuple=ruleInstanceCreationTuple();
+
+ state._fsp--;
+
+ current =iv_ruleInstanceCreationTuple;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleInstanceCreationTuple8070);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleInstanceCreationTuple"
+
+
+ // $ANTLR start "ruleInstanceCreationTuple"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3779:1: ruleInstanceCreationTuple returns [EObject current=null] : ( () otherlv_1= '(' ( ( (lv_instanceCreationTupleElement_2_0= ruleInstanceCreationTupleElement ) ) (otherlv_3= ',' ( (lv_instanceCreationTupleElement_4_0= ruleInstanceCreationTupleElement ) ) )* )? otherlv_5= ')' ) ;
+ public final EObject ruleInstanceCreationTuple() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ EObject lv_instanceCreationTupleElement_2_0 = null;
+
+ EObject lv_instanceCreationTupleElement_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3782:28: ( ( () otherlv_1= '(' ( ( (lv_instanceCreationTupleElement_2_0= ruleInstanceCreationTupleElement ) ) (otherlv_3= ',' ( (lv_instanceCreationTupleElement_4_0= ruleInstanceCreationTupleElement ) ) )* )? otherlv_5= ')' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3783:1: ( () otherlv_1= '(' ( ( (lv_instanceCreationTupleElement_2_0= ruleInstanceCreationTupleElement ) ) (otherlv_3= ',' ( (lv_instanceCreationTupleElement_4_0= ruleInstanceCreationTupleElement ) ) )* )? otherlv_5= ')' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3783:1: ( () otherlv_1= '(' ( ( (lv_instanceCreationTupleElement_2_0= ruleInstanceCreationTupleElement ) ) (otherlv_3= ',' ( (lv_instanceCreationTupleElement_4_0= ruleInstanceCreationTupleElement ) ) )* )? otherlv_5= ')' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3783:2: () otherlv_1= '(' ( ( (lv_instanceCreationTupleElement_2_0= ruleInstanceCreationTupleElement ) ) (otherlv_3= ',' ( (lv_instanceCreationTupleElement_4_0= ruleInstanceCreationTupleElement ) ) )* )? otherlv_5= ')'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3783:2: ()
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3784:5:
+ {
+
+ current = forceCreateModelElement(
+ grammarAccess.getInstanceCreationTupleAccess().getInstanceCreationTupleAction_0(),
+ current);
+
+
+ }
+
+ otherlv_1=(Token)match(input,24,FOLLOW_24_in_ruleInstanceCreationTuple8116);
+
+ newLeafNode(otherlv_1, grammarAccess.getInstanceCreationTupleAccess().getLeftParenthesisKeyword_1());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3793:1: ( ( (lv_instanceCreationTupleElement_2_0= ruleInstanceCreationTupleElement ) ) (otherlv_3= ',' ( (lv_instanceCreationTupleElement_4_0= ruleInstanceCreationTupleElement ) ) )* )?
+ int alt61=2;
+ int LA61_0 = input.LA(1);
+
+ if ( (LA61_0==RULE_ID) ) {
+ alt61=1;
+ }
+ switch (alt61) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3793:2: ( (lv_instanceCreationTupleElement_2_0= ruleInstanceCreationTupleElement ) ) (otherlv_3= ',' ( (lv_instanceCreationTupleElement_4_0= ruleInstanceCreationTupleElement ) ) )*
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3793:2: ( (lv_instanceCreationTupleElement_2_0= ruleInstanceCreationTupleElement ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3794:1: (lv_instanceCreationTupleElement_2_0= ruleInstanceCreationTupleElement )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3794:1: (lv_instanceCreationTupleElement_2_0= ruleInstanceCreationTupleElement )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3795:3: lv_instanceCreationTupleElement_2_0= ruleInstanceCreationTupleElement
+ {
+
+ newCompositeNode(grammarAccess.getInstanceCreationTupleAccess().getInstanceCreationTupleElementInstanceCreationTupleElementParserRuleCall_2_0_0());
+
+ pushFollow(FOLLOW_ruleInstanceCreationTupleElement_in_ruleInstanceCreationTuple8138);
+ lv_instanceCreationTupleElement_2_0=ruleInstanceCreationTupleElement();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getInstanceCreationTupleRule());
+ }
+ add(
+ current,
+ "instanceCreationTupleElement",
+ lv_instanceCreationTupleElement_2_0,
+ "InstanceCreationTupleElement");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3811:2: (otherlv_3= ',' ( (lv_instanceCreationTupleElement_4_0= ruleInstanceCreationTupleElement ) ) )*
+ loop60:
+ do {
+ int alt60=2;
+ int LA60_0 = input.LA(1);
+
+ if ( (LA60_0==21) ) {
+ alt60=1;
+ }
+
+
+ switch (alt60) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3811:4: otherlv_3= ',' ( (lv_instanceCreationTupleElement_4_0= ruleInstanceCreationTupleElement ) )
+ {
+ otherlv_3=(Token)match(input,21,FOLLOW_21_in_ruleInstanceCreationTuple8151);
+
+ newLeafNode(otherlv_3, grammarAccess.getInstanceCreationTupleAccess().getCommaKeyword_2_1_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3815:1: ( (lv_instanceCreationTupleElement_4_0= ruleInstanceCreationTupleElement ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3816:1: (lv_instanceCreationTupleElement_4_0= ruleInstanceCreationTupleElement )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3816:1: (lv_instanceCreationTupleElement_4_0= ruleInstanceCreationTupleElement )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3817:3: lv_instanceCreationTupleElement_4_0= ruleInstanceCreationTupleElement
+ {
+
+ newCompositeNode(grammarAccess.getInstanceCreationTupleAccess().getInstanceCreationTupleElementInstanceCreationTupleElementParserRuleCall_2_1_1_0());
+
+ pushFollow(FOLLOW_ruleInstanceCreationTupleElement_in_ruleInstanceCreationTuple8172);
+ lv_instanceCreationTupleElement_4_0=ruleInstanceCreationTupleElement();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getInstanceCreationTupleRule());
+ }
+ add(
+ current,
+ "instanceCreationTupleElement",
+ lv_instanceCreationTupleElement_4_0,
+ "InstanceCreationTupleElement");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop60;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+ otherlv_5=(Token)match(input,25,FOLLOW_25_in_ruleInstanceCreationTuple8188);
+
+ newLeafNode(otherlv_5, grammarAccess.getInstanceCreationTupleAccess().getRightParenthesisKeyword_3());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleInstanceCreationTuple"
+
+
+ // $ANTLR start "entryRuleInstanceCreationTupleElement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3845:1: entryRuleInstanceCreationTupleElement returns [EObject current=null] : iv_ruleInstanceCreationTupleElement= ruleInstanceCreationTupleElement EOF ;
+ public final EObject entryRuleInstanceCreationTupleElement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleInstanceCreationTupleElement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3846:2: (iv_ruleInstanceCreationTupleElement= ruleInstanceCreationTupleElement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3847:2: iv_ruleInstanceCreationTupleElement= ruleInstanceCreationTupleElement EOF
+ {
+ newCompositeNode(grammarAccess.getInstanceCreationTupleElementRule());
+ pushFollow(FOLLOW_ruleInstanceCreationTupleElement_in_entryRuleInstanceCreationTupleElement8224);
+ iv_ruleInstanceCreationTupleElement=ruleInstanceCreationTupleElement();
+
+ state._fsp--;
+
+ current =iv_ruleInstanceCreationTupleElement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleInstanceCreationTupleElement8234);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleInstanceCreationTupleElement"
+
+
+ // $ANTLR start "ruleInstanceCreationTupleElement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3854:1: ruleInstanceCreationTupleElement returns [EObject current=null] : ( ( (lv_role_0_0= RULE_ID ) ) otherlv_1= '=>' ( (lv_object_2_0= ruleExpression ) ) ) ;
+ public final EObject ruleInstanceCreationTupleElement() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_role_0_0=null;
+ Token otherlv_1=null;
+ EObject lv_object_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3857:28: ( ( ( (lv_role_0_0= RULE_ID ) ) otherlv_1= '=>' ( (lv_object_2_0= ruleExpression ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3858:1: ( ( (lv_role_0_0= RULE_ID ) ) otherlv_1= '=>' ( (lv_object_2_0= ruleExpression ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3858:1: ( ( (lv_role_0_0= RULE_ID ) ) otherlv_1= '=>' ( (lv_object_2_0= ruleExpression ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3858:2: ( (lv_role_0_0= RULE_ID ) ) otherlv_1= '=>' ( (lv_object_2_0= ruleExpression ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3858:2: ( (lv_role_0_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3859:1: (lv_role_0_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3859:1: (lv_role_0_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3860:3: lv_role_0_0= RULE_ID
+ {
+ lv_role_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleInstanceCreationTupleElement8276);
+
+ newLeafNode(lv_role_0_0, grammarAccess.getInstanceCreationTupleElementAccess().getRoleIDTerminalRuleCall_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getInstanceCreationTupleElementRule());
+ }
+ setWithLastConsumed(
+ current,
+ "role",
+ lv_role_0_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,23,FOLLOW_23_in_ruleInstanceCreationTupleElement8293);
+
+ newLeafNode(otherlv_1, grammarAccess.getInstanceCreationTupleElementAccess().getEqualsSignGreaterThanSignKeyword_1());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3880:1: ( (lv_object_2_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3881:1: (lv_object_2_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3881:1: (lv_object_2_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3882:3: lv_object_2_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getInstanceCreationTupleElementAccess().getObjectExpressionParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleInstanceCreationTupleElement8314);
+ lv_object_2_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getInstanceCreationTupleElementRule());
+ }
+ set(
+ current,
+ "object",
+ lv_object_2_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleInstanceCreationTupleElement"
+
+
+ // $ANTLR start "entryRuleSequenceConstructionOrAccessCompletion"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3906:1: entryRuleSequenceConstructionOrAccessCompletion returns [EObject current=null] : iv_ruleSequenceConstructionOrAccessCompletion= ruleSequenceConstructionOrAccessCompletion EOF ;
+ public final EObject entryRuleSequenceConstructionOrAccessCompletion() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSequenceConstructionOrAccessCompletion = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3907:2: (iv_ruleSequenceConstructionOrAccessCompletion= ruleSequenceConstructionOrAccessCompletion EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3908:2: iv_ruleSequenceConstructionOrAccessCompletion= ruleSequenceConstructionOrAccessCompletion EOF
+ {
+ newCompositeNode(grammarAccess.getSequenceConstructionOrAccessCompletionRule());
+ pushFollow(FOLLOW_ruleSequenceConstructionOrAccessCompletion_in_entryRuleSequenceConstructionOrAccessCompletion8350);
+ iv_ruleSequenceConstructionOrAccessCompletion=ruleSequenceConstructionOrAccessCompletion();
+
+ state._fsp--;
+
+ current =iv_ruleSequenceConstructionOrAccessCompletion;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSequenceConstructionOrAccessCompletion8360);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSequenceConstructionOrAccessCompletion"
+
+
+ // $ANTLR start "ruleSequenceConstructionOrAccessCompletion"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3915:1: ruleSequenceConstructionOrAccessCompletion returns [EObject current=null] : ( ( ( (lv_multiplicityIndicator_0_0= '[' ) ) ( ( (lv_accessCompletion_1_0= ruleAccessCompletion ) ) | ( (lv_sequenceCompletion_2_0= rulePartialSequenceConstructionCompletion ) ) ) ) | ( (lv_expression_3_0= ruleSequenceConstructionExpression ) ) ) ;
+ public final EObject ruleSequenceConstructionOrAccessCompletion() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_multiplicityIndicator_0_0=null;
+ EObject lv_accessCompletion_1_0 = null;
+
+ EObject lv_sequenceCompletion_2_0 = null;
+
+ EObject lv_expression_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3918:28: ( ( ( ( (lv_multiplicityIndicator_0_0= '[' ) ) ( ( (lv_accessCompletion_1_0= ruleAccessCompletion ) ) | ( (lv_sequenceCompletion_2_0= rulePartialSequenceConstructionCompletion ) ) ) ) | ( (lv_expression_3_0= ruleSequenceConstructionExpression ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3919:1: ( ( ( (lv_multiplicityIndicator_0_0= '[' ) ) ( ( (lv_accessCompletion_1_0= ruleAccessCompletion ) ) | ( (lv_sequenceCompletion_2_0= rulePartialSequenceConstructionCompletion ) ) ) ) | ( (lv_expression_3_0= ruleSequenceConstructionExpression ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3919:1: ( ( ( (lv_multiplicityIndicator_0_0= '[' ) ) ( ( (lv_accessCompletion_1_0= ruleAccessCompletion ) ) | ( (lv_sequenceCompletion_2_0= rulePartialSequenceConstructionCompletion ) ) ) ) | ( (lv_expression_3_0= ruleSequenceConstructionExpression ) ) )
+ int alt63=2;
+ int LA63_0 = input.LA(1);
+
+ if ( (LA63_0==50) ) {
+ alt63=1;
+ }
+ else if ( (LA63_0==60) ) {
+ alt63=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 63, 0, input);
+
+ throw nvae;
+ }
+ switch (alt63) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3919:2: ( ( (lv_multiplicityIndicator_0_0= '[' ) ) ( ( (lv_accessCompletion_1_0= ruleAccessCompletion ) ) | ( (lv_sequenceCompletion_2_0= rulePartialSequenceConstructionCompletion ) ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3919:2: ( ( (lv_multiplicityIndicator_0_0= '[' ) ) ( ( (lv_accessCompletion_1_0= ruleAccessCompletion ) ) | ( (lv_sequenceCompletion_2_0= rulePartialSequenceConstructionCompletion ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3919:3: ( (lv_multiplicityIndicator_0_0= '[' ) ) ( ( (lv_accessCompletion_1_0= ruleAccessCompletion ) ) | ( (lv_sequenceCompletion_2_0= rulePartialSequenceConstructionCompletion ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3919:3: ( (lv_multiplicityIndicator_0_0= '[' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3920:1: (lv_multiplicityIndicator_0_0= '[' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3920:1: (lv_multiplicityIndicator_0_0= '[' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3921:3: lv_multiplicityIndicator_0_0= '['
+ {
+ lv_multiplicityIndicator_0_0=(Token)match(input,50,FOLLOW_50_in_ruleSequenceConstructionOrAccessCompletion8404);
+
+ newLeafNode(lv_multiplicityIndicator_0_0, grammarAccess.getSequenceConstructionOrAccessCompletionAccess().getMultiplicityIndicatorLeftSquareBracketKeyword_0_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getSequenceConstructionOrAccessCompletionRule());
+ }
+ setWithLastConsumed(current, "multiplicityIndicator", true, "[");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3934:2: ( ( (lv_accessCompletion_1_0= ruleAccessCompletion ) ) | ( (lv_sequenceCompletion_2_0= rulePartialSequenceConstructionCompletion ) ) )
+ int alt62=2;
+ int LA62_0 = input.LA(1);
+
+ if ( ((LA62_0>=RULE_INTEGERVALUE && LA62_0<=RULE_ID)||(LA62_0>=16 && LA62_0<=18)||LA62_0==24||(LA62_0>=42 && LA62_0<=43)||(LA62_0>=46 && LA62_0<=48)||(LA62_0>=56 && LA62_0<=59)||(LA62_0>=87 && LA62_0<=88)) ) {
+ alt62=1;
+ }
+ else if ( (LA62_0==51) ) {
+ alt62=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 62, 0, input);
+
+ throw nvae;
+ }
+ switch (alt62) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3934:3: ( (lv_accessCompletion_1_0= ruleAccessCompletion ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3934:3: ( (lv_accessCompletion_1_0= ruleAccessCompletion ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3935:1: (lv_accessCompletion_1_0= ruleAccessCompletion )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3935:1: (lv_accessCompletion_1_0= ruleAccessCompletion )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3936:3: lv_accessCompletion_1_0= ruleAccessCompletion
+ {
+
+ newCompositeNode(grammarAccess.getSequenceConstructionOrAccessCompletionAccess().getAccessCompletionAccessCompletionParserRuleCall_0_1_0_0());
+
+ pushFollow(FOLLOW_ruleAccessCompletion_in_ruleSequenceConstructionOrAccessCompletion8439);
+ lv_accessCompletion_1_0=ruleAccessCompletion();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSequenceConstructionOrAccessCompletionRule());
+ }
+ set(
+ current,
+ "accessCompletion",
+ lv_accessCompletion_1_0,
+ "AccessCompletion");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3953:6: ( (lv_sequenceCompletion_2_0= rulePartialSequenceConstructionCompletion ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3953:6: ( (lv_sequenceCompletion_2_0= rulePartialSequenceConstructionCompletion ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3954:1: (lv_sequenceCompletion_2_0= rulePartialSequenceConstructionCompletion )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3954:1: (lv_sequenceCompletion_2_0= rulePartialSequenceConstructionCompletion )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3955:3: lv_sequenceCompletion_2_0= rulePartialSequenceConstructionCompletion
+ {
+
+ newCompositeNode(grammarAccess.getSequenceConstructionOrAccessCompletionAccess().getSequenceCompletionPartialSequenceConstructionCompletionParserRuleCall_0_1_1_0());
+
+ pushFollow(FOLLOW_rulePartialSequenceConstructionCompletion_in_ruleSequenceConstructionOrAccessCompletion8466);
+ lv_sequenceCompletion_2_0=rulePartialSequenceConstructionCompletion();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSequenceConstructionOrAccessCompletionRule());
+ }
+ set(
+ current,
+ "sequenceCompletion",
+ lv_sequenceCompletion_2_0,
+ "PartialSequenceConstructionCompletion");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3972:6: ( (lv_expression_3_0= ruleSequenceConstructionExpression ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3972:6: ( (lv_expression_3_0= ruleSequenceConstructionExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3973:1: (lv_expression_3_0= ruleSequenceConstructionExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3973:1: (lv_expression_3_0= ruleSequenceConstructionExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3974:3: lv_expression_3_0= ruleSequenceConstructionExpression
+ {
+
+ newCompositeNode(grammarAccess.getSequenceConstructionOrAccessCompletionAccess().getExpressionSequenceConstructionExpressionParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleSequenceConstructionExpression_in_ruleSequenceConstructionOrAccessCompletion8495);
+ lv_expression_3_0=ruleSequenceConstructionExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSequenceConstructionOrAccessCompletionRule());
+ }
+ set(
+ current,
+ "expression",
+ lv_expression_3_0,
+ "SequenceConstructionExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSequenceConstructionOrAccessCompletion"
+
+
+ // $ANTLR start "entryRuleAccessCompletion"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3998:1: entryRuleAccessCompletion returns [EObject current=null] : iv_ruleAccessCompletion= ruleAccessCompletion EOF ;
+ public final EObject entryRuleAccessCompletion() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleAccessCompletion = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:3999:2: (iv_ruleAccessCompletion= ruleAccessCompletion EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4000:2: iv_ruleAccessCompletion= ruleAccessCompletion EOF
+ {
+ newCompositeNode(grammarAccess.getAccessCompletionRule());
+ pushFollow(FOLLOW_ruleAccessCompletion_in_entryRuleAccessCompletion8531);
+ iv_ruleAccessCompletion=ruleAccessCompletion();
+
+ state._fsp--;
+
+ current =iv_ruleAccessCompletion;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAccessCompletion8541);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleAccessCompletion"
+
+
+ // $ANTLR start "ruleAccessCompletion"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4007:1: ruleAccessCompletion returns [EObject current=null] : ( ( (lv_accessIndex_0_0= ruleExpression ) ) otherlv_1= ']' ) ;
+ public final EObject ruleAccessCompletion() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ EObject lv_accessIndex_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4010:28: ( ( ( (lv_accessIndex_0_0= ruleExpression ) ) otherlv_1= ']' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4011:1: ( ( (lv_accessIndex_0_0= ruleExpression ) ) otherlv_1= ']' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4011:1: ( ( (lv_accessIndex_0_0= ruleExpression ) ) otherlv_1= ']' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4011:2: ( (lv_accessIndex_0_0= ruleExpression ) ) otherlv_1= ']'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4011:2: ( (lv_accessIndex_0_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4012:1: (lv_accessIndex_0_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4012:1: (lv_accessIndex_0_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4013:3: lv_accessIndex_0_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getAccessCompletionAccess().getAccessIndexExpressionParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleAccessCompletion8587);
+ lv_accessIndex_0_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAccessCompletionRule());
+ }
+ set(
+ current,
+ "accessIndex",
+ lv_accessIndex_0_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,51,FOLLOW_51_in_ruleAccessCompletion8599);
+
+ newLeafNode(otherlv_1, grammarAccess.getAccessCompletionAccess().getRightSquareBracketKeyword_1());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleAccessCompletion"
+
+
+ // $ANTLR start "entryRulePartialSequenceConstructionCompletion"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4041:1: entryRulePartialSequenceConstructionCompletion returns [EObject current=null] : iv_rulePartialSequenceConstructionCompletion= rulePartialSequenceConstructionCompletion EOF ;
+ public final EObject entryRulePartialSequenceConstructionCompletion() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulePartialSequenceConstructionCompletion = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4042:2: (iv_rulePartialSequenceConstructionCompletion= rulePartialSequenceConstructionCompletion EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4043:2: iv_rulePartialSequenceConstructionCompletion= rulePartialSequenceConstructionCompletion EOF
+ {
+ newCompositeNode(grammarAccess.getPartialSequenceConstructionCompletionRule());
+ pushFollow(FOLLOW_rulePartialSequenceConstructionCompletion_in_entryRulePartialSequenceConstructionCompletion8635);
+ iv_rulePartialSequenceConstructionCompletion=rulePartialSequenceConstructionCompletion();
+
+ state._fsp--;
+
+ current =iv_rulePartialSequenceConstructionCompletion;
+ match(input,EOF,FOLLOW_EOF_in_entryRulePartialSequenceConstructionCompletion8645);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePartialSequenceConstructionCompletion"
+
+
+ // $ANTLR start "rulePartialSequenceConstructionCompletion"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4050:1: rulePartialSequenceConstructionCompletion returns [EObject current=null] : (otherlv_0= ']' ( (lv_expression_1_0= ruleSequenceConstructionExpression ) ) ) ;
+ public final EObject rulePartialSequenceConstructionCompletion() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ EObject lv_expression_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4053:28: ( (otherlv_0= ']' ( (lv_expression_1_0= ruleSequenceConstructionExpression ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4054:1: (otherlv_0= ']' ( (lv_expression_1_0= ruleSequenceConstructionExpression ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4054:1: (otherlv_0= ']' ( (lv_expression_1_0= ruleSequenceConstructionExpression ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4054:3: otherlv_0= ']' ( (lv_expression_1_0= ruleSequenceConstructionExpression ) )
+ {
+ otherlv_0=(Token)match(input,51,FOLLOW_51_in_rulePartialSequenceConstructionCompletion8682);
+
+ newLeafNode(otherlv_0, grammarAccess.getPartialSequenceConstructionCompletionAccess().getRightSquareBracketKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4058:1: ( (lv_expression_1_0= ruleSequenceConstructionExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4059:1: (lv_expression_1_0= ruleSequenceConstructionExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4059:1: (lv_expression_1_0= ruleSequenceConstructionExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4060:3: lv_expression_1_0= ruleSequenceConstructionExpression
+ {
+
+ newCompositeNode(grammarAccess.getPartialSequenceConstructionCompletionAccess().getExpressionSequenceConstructionExpressionParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleSequenceConstructionExpression_in_rulePartialSequenceConstructionCompletion8703);
+ lv_expression_1_0=ruleSequenceConstructionExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPartialSequenceConstructionCompletionRule());
+ }
+ set(
+ current,
+ "expression",
+ lv_expression_1_0,
+ "SequenceConstructionExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePartialSequenceConstructionCompletion"
+
+
+ // $ANTLR start "entryRuleSequenceConstructionExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4084:1: entryRuleSequenceConstructionExpression returns [EObject current=null] : iv_ruleSequenceConstructionExpression= ruleSequenceConstructionExpression EOF ;
+ public final EObject entryRuleSequenceConstructionExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSequenceConstructionExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4085:2: (iv_ruleSequenceConstructionExpression= ruleSequenceConstructionExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4086:2: iv_ruleSequenceConstructionExpression= ruleSequenceConstructionExpression EOF
+ {
+ newCompositeNode(grammarAccess.getSequenceConstructionExpressionRule());
+ pushFollow(FOLLOW_ruleSequenceConstructionExpression_in_entryRuleSequenceConstructionExpression8739);
+ iv_ruleSequenceConstructionExpression=ruleSequenceConstructionExpression();
+
+ state._fsp--;
+
+ current =iv_ruleSequenceConstructionExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSequenceConstructionExpression8749);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSequenceConstructionExpression"
+
+
+ // $ANTLR start "ruleSequenceConstructionExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4093:1: ruleSequenceConstructionExpression returns [EObject current=null] : (otherlv_0= '{' ( (lv_sequenceElement_1_0= ruleSequenceElement ) ) ( (otherlv_2= ',' ( (lv_sequenceElement_3_0= ruleSequenceElement ) ) )* | (otherlv_4= '..' ( (lv_rangeUpper_5_0= ruleExpression ) ) ) ) otherlv_6= '}' ) ;
+ public final EObject ruleSequenceConstructionExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ Token otherlv_6=null;
+ EObject lv_sequenceElement_1_0 = null;
+
+ EObject lv_sequenceElement_3_0 = null;
+
+ EObject lv_rangeUpper_5_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4096:28: ( (otherlv_0= '{' ( (lv_sequenceElement_1_0= ruleSequenceElement ) ) ( (otherlv_2= ',' ( (lv_sequenceElement_3_0= ruleSequenceElement ) ) )* | (otherlv_4= '..' ( (lv_rangeUpper_5_0= ruleExpression ) ) ) ) otherlv_6= '}' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4097:1: (otherlv_0= '{' ( (lv_sequenceElement_1_0= ruleSequenceElement ) ) ( (otherlv_2= ',' ( (lv_sequenceElement_3_0= ruleSequenceElement ) ) )* | (otherlv_4= '..' ( (lv_rangeUpper_5_0= ruleExpression ) ) ) ) otherlv_6= '}' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4097:1: (otherlv_0= '{' ( (lv_sequenceElement_1_0= ruleSequenceElement ) ) ( (otherlv_2= ',' ( (lv_sequenceElement_3_0= ruleSequenceElement ) ) )* | (otherlv_4= '..' ( (lv_rangeUpper_5_0= ruleExpression ) ) ) ) otherlv_6= '}' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4097:3: otherlv_0= '{' ( (lv_sequenceElement_1_0= ruleSequenceElement ) ) ( (otherlv_2= ',' ( (lv_sequenceElement_3_0= ruleSequenceElement ) ) )* | (otherlv_4= '..' ( (lv_rangeUpper_5_0= ruleExpression ) ) ) ) otherlv_6= '}'
+ {
+ otherlv_0=(Token)match(input,60,FOLLOW_60_in_ruleSequenceConstructionExpression8786);
+
+ newLeafNode(otherlv_0, grammarAccess.getSequenceConstructionExpressionAccess().getLeftCurlyBracketKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4101:1: ( (lv_sequenceElement_1_0= ruleSequenceElement ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4102:1: (lv_sequenceElement_1_0= ruleSequenceElement )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4102:1: (lv_sequenceElement_1_0= ruleSequenceElement )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4103:3: lv_sequenceElement_1_0= ruleSequenceElement
+ {
+
+ newCompositeNode(grammarAccess.getSequenceConstructionExpressionAccess().getSequenceElementSequenceElementParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleSequenceElement_in_ruleSequenceConstructionExpression8807);
+ lv_sequenceElement_1_0=ruleSequenceElement();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSequenceConstructionExpressionRule());
+ }
+ add(
+ current,
+ "sequenceElement",
+ lv_sequenceElement_1_0,
+ "SequenceElement");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4119:2: ( (otherlv_2= ',' ( (lv_sequenceElement_3_0= ruleSequenceElement ) ) )* | (otherlv_4= '..' ( (lv_rangeUpper_5_0= ruleExpression ) ) ) )
+ int alt65=2;
+ int LA65_0 = input.LA(1);
+
+ if ( (LA65_0==21||LA65_0==62) ) {
+ alt65=1;
+ }
+ else if ( (LA65_0==61) ) {
+ alt65=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 65, 0, input);
+
+ throw nvae;
+ }
+ switch (alt65) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4119:3: (otherlv_2= ',' ( (lv_sequenceElement_3_0= ruleSequenceElement ) ) )*
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4119:3: (otherlv_2= ',' ( (lv_sequenceElement_3_0= ruleSequenceElement ) ) )*
+ loop64:
+ do {
+ int alt64=2;
+ int LA64_0 = input.LA(1);
+
+ if ( (LA64_0==21) ) {
+ alt64=1;
+ }
+
+
+ switch (alt64) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4119:5: otherlv_2= ',' ( (lv_sequenceElement_3_0= ruleSequenceElement ) )
+ {
+ otherlv_2=(Token)match(input,21,FOLLOW_21_in_ruleSequenceConstructionExpression8821);
+
+ newLeafNode(otherlv_2, grammarAccess.getSequenceConstructionExpressionAccess().getCommaKeyword_2_0_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4123:1: ( (lv_sequenceElement_3_0= ruleSequenceElement ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4124:1: (lv_sequenceElement_3_0= ruleSequenceElement )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4124:1: (lv_sequenceElement_3_0= ruleSequenceElement )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4125:3: lv_sequenceElement_3_0= ruleSequenceElement
+ {
+
+ newCompositeNode(grammarAccess.getSequenceConstructionExpressionAccess().getSequenceElementSequenceElementParserRuleCall_2_0_1_0());
+
+ pushFollow(FOLLOW_ruleSequenceElement_in_ruleSequenceConstructionExpression8842);
+ lv_sequenceElement_3_0=ruleSequenceElement();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSequenceConstructionExpressionRule());
+ }
+ add(
+ current,
+ "sequenceElement",
+ lv_sequenceElement_3_0,
+ "SequenceElement");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop64;
+ }
+ } while (true);
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4142:6: (otherlv_4= '..' ( (lv_rangeUpper_5_0= ruleExpression ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4142:6: (otherlv_4= '..' ( (lv_rangeUpper_5_0= ruleExpression ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4142:8: otherlv_4= '..' ( (lv_rangeUpper_5_0= ruleExpression ) )
+ {
+ otherlv_4=(Token)match(input,61,FOLLOW_61_in_ruleSequenceConstructionExpression8863);
+
+ newLeafNode(otherlv_4, grammarAccess.getSequenceConstructionExpressionAccess().getFullStopFullStopKeyword_2_1_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4146:1: ( (lv_rangeUpper_5_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4147:1: (lv_rangeUpper_5_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4147:1: (lv_rangeUpper_5_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4148:3: lv_rangeUpper_5_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getSequenceConstructionExpressionAccess().getRangeUpperExpressionParserRuleCall_2_1_1_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleSequenceConstructionExpression8884);
+ lv_rangeUpper_5_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSequenceConstructionExpressionRule());
+ }
+ set(
+ current,
+ "rangeUpper",
+ lv_rangeUpper_5_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_6=(Token)match(input,62,FOLLOW_62_in_ruleSequenceConstructionExpression8898);
+
+ newLeafNode(otherlv_6, grammarAccess.getSequenceConstructionExpressionAccess().getRightCurlyBracketKeyword_3());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSequenceConstructionExpression"
+
+
+ // $ANTLR start "entryRuleSequenceElement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4176:1: entryRuleSequenceElement returns [EObject current=null] : iv_ruleSequenceElement= ruleSequenceElement EOF ;
+ public final EObject entryRuleSequenceElement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSequenceElement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4177:2: (iv_ruleSequenceElement= ruleSequenceElement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4178:2: iv_ruleSequenceElement= ruleSequenceElement EOF
+ {
+ newCompositeNode(grammarAccess.getSequenceElementRule());
+ pushFollow(FOLLOW_ruleSequenceElement_in_entryRuleSequenceElement8934);
+ iv_ruleSequenceElement=ruleSequenceElement();
+
+ state._fsp--;
+
+ current =iv_ruleSequenceElement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSequenceElement8944);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSequenceElement"
+
+
+ // $ANTLR start "ruleSequenceElement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4185:1: ruleSequenceElement returns [EObject current=null] : (this_Expression_0= ruleExpression | this_SequenceConstructionExpression_1= ruleSequenceConstructionExpression ) ;
+ public final EObject ruleSequenceElement() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_Expression_0 = null;
+
+ EObject this_SequenceConstructionExpression_1 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4188:28: ( (this_Expression_0= ruleExpression | this_SequenceConstructionExpression_1= ruleSequenceConstructionExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4189:1: (this_Expression_0= ruleExpression | this_SequenceConstructionExpression_1= ruleSequenceConstructionExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4189:1: (this_Expression_0= ruleExpression | this_SequenceConstructionExpression_1= ruleSequenceConstructionExpression )
+ int alt66=2;
+ int LA66_0 = input.LA(1);
+
+ if ( ((LA66_0>=RULE_INTEGERVALUE && LA66_0<=RULE_ID)||(LA66_0>=16 && LA66_0<=18)||LA66_0==24||(LA66_0>=42 && LA66_0<=43)||(LA66_0>=46 && LA66_0<=48)||(LA66_0>=56 && LA66_0<=59)||(LA66_0>=87 && LA66_0<=88)) ) {
+ alt66=1;
+ }
+ else if ( (LA66_0==60) ) {
+ alt66=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 66, 0, input);
+
+ throw nvae;
+ }
+ switch (alt66) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4190:5: this_Expression_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getSequenceElementAccess().getExpressionParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleSequenceElement8991);
+ this_Expression_0=ruleExpression();
+
+ state._fsp--;
+
+
+ current = this_Expression_0;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4200:5: this_SequenceConstructionExpression_1= ruleSequenceConstructionExpression
+ {
+
+ newCompositeNode(grammarAccess.getSequenceElementAccess().getSequenceConstructionExpressionParserRuleCall_1());
+
+ pushFollow(FOLLOW_ruleSequenceConstructionExpression_in_ruleSequenceElement9018);
+ this_SequenceConstructionExpression_1=ruleSequenceConstructionExpression();
+
+ state._fsp--;
+
+
+ current = this_SequenceConstructionExpression_1;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSequenceElement"
+
+
+ // $ANTLR start "entryRuleClassExtentExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4216:1: entryRuleClassExtentExpression returns [EObject current=null] : iv_ruleClassExtentExpression= ruleClassExtentExpression EOF ;
+ public final EObject entryRuleClassExtentExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleClassExtentExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4217:2: (iv_ruleClassExtentExpression= ruleClassExtentExpression EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4218:2: iv_ruleClassExtentExpression= ruleClassExtentExpression EOF
+ {
+ newCompositeNode(grammarAccess.getClassExtentExpressionRule());
+ pushFollow(FOLLOW_ruleClassExtentExpression_in_entryRuleClassExtentExpression9053);
+ iv_ruleClassExtentExpression=ruleClassExtentExpression();
+
+ state._fsp--;
+
+ current =iv_ruleClassExtentExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleClassExtentExpression9063);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleClassExtentExpression"
+
+
+ // $ANTLR start "ruleClassExtentExpression"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4225:1: ruleClassExtentExpression returns [EObject current=null] : ( () otherlv_1= '.' otherlv_2= 'allInstances' otherlv_3= '(' otherlv_4= ')' ) ;
+ public final EObject ruleClassExtentExpression() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_2=null;
+ Token otherlv_3=null;
+ Token otherlv_4=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4228:28: ( ( () otherlv_1= '.' otherlv_2= 'allInstances' otherlv_3= '(' otherlv_4= ')' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4229:1: ( () otherlv_1= '.' otherlv_2= 'allInstances' otherlv_3= '(' otherlv_4= ')' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4229:1: ( () otherlv_1= '.' otherlv_2= 'allInstances' otherlv_3= '(' otherlv_4= ')' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4229:2: () otherlv_1= '.' otherlv_2= 'allInstances' otherlv_3= '(' otherlv_4= ')'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4229:2: ()
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4230:5:
+ {
+
+ current = forceCreateModelElement(
+ grammarAccess.getClassExtentExpressionAccess().getClassExtentExpressionAction_0(),
+ current);
+
+
+ }
+
+ otherlv_1=(Token)match(input,49,FOLLOW_49_in_ruleClassExtentExpression9109);
+
+ newLeafNode(otherlv_1, grammarAccess.getClassExtentExpressionAccess().getFullStopKeyword_1());
+
+ otherlv_2=(Token)match(input,63,FOLLOW_63_in_ruleClassExtentExpression9121);
+
+ newLeafNode(otherlv_2, grammarAccess.getClassExtentExpressionAccess().getAllInstancesKeyword_2());
+
+ otherlv_3=(Token)match(input,24,FOLLOW_24_in_ruleClassExtentExpression9133);
+
+ newLeafNode(otherlv_3, grammarAccess.getClassExtentExpressionAccess().getLeftParenthesisKeyword_3());
+
+ otherlv_4=(Token)match(input,25,FOLLOW_25_in_ruleClassExtentExpression9145);
+
+ newLeafNode(otherlv_4, grammarAccess.getClassExtentExpressionAccess().getRightParenthesisKeyword_4());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleClassExtentExpression"
+
+
+ // $ANTLR start "entryRuleBlock"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4259:1: entryRuleBlock returns [EObject current=null] : iv_ruleBlock= ruleBlock EOF ;
+ public final EObject entryRuleBlock() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleBlock = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4260:2: (iv_ruleBlock= ruleBlock EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4261:2: iv_ruleBlock= ruleBlock EOF
+ {
+ newCompositeNode(grammarAccess.getBlockRule());
+ pushFollow(FOLLOW_ruleBlock_in_entryRuleBlock9181);
+ iv_ruleBlock=ruleBlock();
+
+ state._fsp--;
+
+ current =iv_ruleBlock;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleBlock9191);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleBlock"
+
+
+ // $ANTLR start "ruleBlock"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4268:1: ruleBlock returns [EObject current=null] : (otherlv_0= '{' () ( (lv_sequence_2_0= ruleStatementSequence ) )? otherlv_3= '}' ) ;
+ public final EObject ruleBlock() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_3=null;
+ EObject lv_sequence_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4271:28: ( (otherlv_0= '{' () ( (lv_sequence_2_0= ruleStatementSequence ) )? otherlv_3= '}' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4272:1: (otherlv_0= '{' () ( (lv_sequence_2_0= ruleStatementSequence ) )? otherlv_3= '}' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4272:1: (otherlv_0= '{' () ( (lv_sequence_2_0= ruleStatementSequence ) )? otherlv_3= '}' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4272:3: otherlv_0= '{' () ( (lv_sequence_2_0= ruleStatementSequence ) )? otherlv_3= '}'
+ {
+ otherlv_0=(Token)match(input,60,FOLLOW_60_in_ruleBlock9228);
+
+ newLeafNode(otherlv_0, grammarAccess.getBlockAccess().getLeftCurlyBracketKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4276:1: ()
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4277:5:
+ {
+
+ current = forceCreateModelElement(
+ grammarAccess.getBlockAccess().getBlockAction_1(),
+ current);
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4282:2: ( (lv_sequence_2_0= ruleStatementSequence ) )?
+ int alt67=2;
+ int LA67_0 = input.LA(1);
+
+ if ( ((LA67_0>=RULE_ID && LA67_0<=RULE_SL_COMMENT)||(LA67_0>=17 && LA67_0<=18)||(LA67_0>=57 && LA67_0<=60)||LA67_0==64||(LA67_0>=67 && LA67_0<=69)||LA67_0==71||LA67_0==74||(LA67_0>=77 && LA67_0<=79)||(LA67_0>=81 && LA67_0<=84)) ) {
+ alt67=1;
+ }
+ switch (alt67) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4283:1: (lv_sequence_2_0= ruleStatementSequence )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4283:1: (lv_sequence_2_0= ruleStatementSequence )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4284:3: lv_sequence_2_0= ruleStatementSequence
+ {
+
+ newCompositeNode(grammarAccess.getBlockAccess().getSequenceStatementSequenceParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleStatementSequence_in_ruleBlock9258);
+ lv_sequence_2_0=ruleStatementSequence();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getBlockRule());
+ }
+ set(
+ current,
+ "sequence",
+ lv_sequence_2_0,
+ "StatementSequence");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_3=(Token)match(input,62,FOLLOW_62_in_ruleBlock9271);
+
+ newLeafNode(otherlv_3, grammarAccess.getBlockAccess().getRightCurlyBracketKeyword_3());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleBlock"
+
+
+ // $ANTLR start "entryRuleStatementSequence"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4312:1: entryRuleStatementSequence returns [EObject current=null] : iv_ruleStatementSequence= ruleStatementSequence EOF ;
+ public final EObject entryRuleStatementSequence() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleStatementSequence = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4313:2: (iv_ruleStatementSequence= ruleStatementSequence EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4314:2: iv_ruleStatementSequence= ruleStatementSequence EOF
+ {
+ newCompositeNode(grammarAccess.getStatementSequenceRule());
+ pushFollow(FOLLOW_ruleStatementSequence_in_entryRuleStatementSequence9307);
+ iv_ruleStatementSequence=ruleStatementSequence();
+
+ state._fsp--;
+
+ current =iv_ruleStatementSequence;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStatementSequence9317);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleStatementSequence"
+
+
+ // $ANTLR start "ruleStatementSequence"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4321:1: ruleStatementSequence returns [EObject current=null] : ( (lv_statements_0_0= ruleDocumentedStatement ) )+ ;
+ public final EObject ruleStatementSequence() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_statements_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4324:28: ( ( (lv_statements_0_0= ruleDocumentedStatement ) )+ )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4325:1: ( (lv_statements_0_0= ruleDocumentedStatement ) )+
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4325:1: ( (lv_statements_0_0= ruleDocumentedStatement ) )+
+ int cnt68=0;
+ loop68:
+ do {
+ int alt68=2;
+ int LA68_0 = input.LA(1);
+
+ if ( ((LA68_0>=RULE_ID && LA68_0<=RULE_SL_COMMENT)||(LA68_0>=17 && LA68_0<=18)||(LA68_0>=57 && LA68_0<=60)||LA68_0==64||(LA68_0>=67 && LA68_0<=69)||LA68_0==71||LA68_0==74||(LA68_0>=77 && LA68_0<=79)||(LA68_0>=81 && LA68_0<=84)) ) {
+ alt68=1;
+ }
+
+
+ switch (alt68) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4326:1: (lv_statements_0_0= ruleDocumentedStatement )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4326:1: (lv_statements_0_0= ruleDocumentedStatement )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4327:3: lv_statements_0_0= ruleDocumentedStatement
+ {
+
+ newCompositeNode(grammarAccess.getStatementSequenceAccess().getStatementsDocumentedStatementParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleDocumentedStatement_in_ruleStatementSequence9362);
+ lv_statements_0_0=ruleDocumentedStatement();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStatementSequenceRule());
+ }
+ add(
+ current,
+ "statements",
+ lv_statements_0_0,
+ "DocumentedStatement");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt68 >= 1 ) break loop68;
+ EarlyExitException eee =
+ new EarlyExitException(68, input);
+ throw eee;
+ }
+ cnt68++;
+ } while (true);
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleStatementSequence"
+
+
+ // $ANTLR start "entryRuleDocumentedStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4351:1: entryRuleDocumentedStatement returns [EObject current=null] : iv_ruleDocumentedStatement= ruleDocumentedStatement EOF ;
+ public final EObject entryRuleDocumentedStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleDocumentedStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4352:2: (iv_ruleDocumentedStatement= ruleDocumentedStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4353:2: iv_ruleDocumentedStatement= ruleDocumentedStatement EOF
+ {
+ newCompositeNode(grammarAccess.getDocumentedStatementRule());
+ pushFollow(FOLLOW_ruleDocumentedStatement_in_entryRuleDocumentedStatement9398);
+ iv_ruleDocumentedStatement=ruleDocumentedStatement();
+
+ state._fsp--;
+
+ current =iv_ruleDocumentedStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleDocumentedStatement9408);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleDocumentedStatement"
+
+
+ // $ANTLR start "ruleDocumentedStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4360:1: ruleDocumentedStatement returns [EObject current=null] : ( ( ( (lv_comment_0_1= RULE_ML_COMMENT | lv_comment_0_2= RULE_SL_COMMENT ) ) )? ( (lv_statement_1_0= ruleStatement ) ) ) ;
+ public final EObject ruleDocumentedStatement() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_comment_0_1=null;
+ Token lv_comment_0_2=null;
+ EObject lv_statement_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4363:28: ( ( ( ( (lv_comment_0_1= RULE_ML_COMMENT | lv_comment_0_2= RULE_SL_COMMENT ) ) )? ( (lv_statement_1_0= ruleStatement ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4364:1: ( ( ( (lv_comment_0_1= RULE_ML_COMMENT | lv_comment_0_2= RULE_SL_COMMENT ) ) )? ( (lv_statement_1_0= ruleStatement ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4364:1: ( ( ( (lv_comment_0_1= RULE_ML_COMMENT | lv_comment_0_2= RULE_SL_COMMENT ) ) )? ( (lv_statement_1_0= ruleStatement ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4364:2: ( ( (lv_comment_0_1= RULE_ML_COMMENT | lv_comment_0_2= RULE_SL_COMMENT ) ) )? ( (lv_statement_1_0= ruleStatement ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4364:2: ( ( (lv_comment_0_1= RULE_ML_COMMENT | lv_comment_0_2= RULE_SL_COMMENT ) ) )?
+ int alt70=2;
+ int LA70_0 = input.LA(1);
+
+ if ( ((LA70_0>=RULE_ML_COMMENT && LA70_0<=RULE_SL_COMMENT)) ) {
+ alt70=1;
+ }
+ switch (alt70) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4365:1: ( (lv_comment_0_1= RULE_ML_COMMENT | lv_comment_0_2= RULE_SL_COMMENT ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4365:1: ( (lv_comment_0_1= RULE_ML_COMMENT | lv_comment_0_2= RULE_SL_COMMENT ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4366:1: (lv_comment_0_1= RULE_ML_COMMENT | lv_comment_0_2= RULE_SL_COMMENT )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4366:1: (lv_comment_0_1= RULE_ML_COMMENT | lv_comment_0_2= RULE_SL_COMMENT )
+ int alt69=2;
+ int LA69_0 = input.LA(1);
+
+ if ( (LA69_0==RULE_ML_COMMENT) ) {
+ alt69=1;
+ }
+ else if ( (LA69_0==RULE_SL_COMMENT) ) {
+ alt69=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 69, 0, input);
+
+ throw nvae;
+ }
+ switch (alt69) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4367:3: lv_comment_0_1= RULE_ML_COMMENT
+ {
+ lv_comment_0_1=(Token)match(input,RULE_ML_COMMENT,FOLLOW_RULE_ML_COMMENT_in_ruleDocumentedStatement9452);
+
+ newLeafNode(lv_comment_0_1, grammarAccess.getDocumentedStatementAccess().getCommentML_COMMENTTerminalRuleCall_0_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getDocumentedStatementRule());
+ }
+ setWithLastConsumed(
+ current,
+ "comment",
+ lv_comment_0_1,
+ "ML_COMMENT");
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4382:8: lv_comment_0_2= RULE_SL_COMMENT
+ {
+ lv_comment_0_2=(Token)match(input,RULE_SL_COMMENT,FOLLOW_RULE_SL_COMMENT_in_ruleDocumentedStatement9472);
+
+ newLeafNode(lv_comment_0_2, grammarAccess.getDocumentedStatementAccess().getCommentSL_COMMENTTerminalRuleCall_0_0_1());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getDocumentedStatementRule());
+ }
+ setWithLastConsumed(
+ current,
+ "comment",
+ lv_comment_0_2,
+ "SL_COMMENT");
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4400:3: ( (lv_statement_1_0= ruleStatement ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4401:1: (lv_statement_1_0= ruleStatement )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4401:1: (lv_statement_1_0= ruleStatement )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4402:3: lv_statement_1_0= ruleStatement
+ {
+
+ newCompositeNode(grammarAccess.getDocumentedStatementAccess().getStatementStatementParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleStatement_in_ruleDocumentedStatement9502);
+ lv_statement_1_0=ruleStatement();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getDocumentedStatementRule());
+ }
+ set(
+ current,
+ "statement",
+ lv_statement_1_0,
+ "Statement");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleDocumentedStatement"
+
+
+ // $ANTLR start "entryRuleInlineStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4426:1: entryRuleInlineStatement returns [EObject current=null] : iv_ruleInlineStatement= ruleInlineStatement EOF ;
+ public final EObject entryRuleInlineStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleInlineStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4427:2: (iv_ruleInlineStatement= ruleInlineStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4428:2: iv_ruleInlineStatement= ruleInlineStatement EOF
+ {
+ newCompositeNode(grammarAccess.getInlineStatementRule());
+ pushFollow(FOLLOW_ruleInlineStatement_in_entryRuleInlineStatement9538);
+ iv_ruleInlineStatement=ruleInlineStatement();
+
+ state._fsp--;
+
+ current =iv_ruleInlineStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleInlineStatement9548);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleInlineStatement"
+
+
+ // $ANTLR start "ruleInlineStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4435:1: ruleInlineStatement returns [EObject current=null] : (otherlv_0= '/*@' otherlv_1= 'inline' otherlv_2= '(' ( (lv_langageName_3_0= RULE_ID ) ) otherlv_4= ')' ( (lv_body_5_0= RULE_STRING ) ) otherlv_6= '*/' ) ;
+ public final EObject ruleInlineStatement() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=null;
+ Token otherlv_2=null;
+ Token lv_langageName_3_0=null;
+ Token otherlv_4=null;
+ Token lv_body_5_0=null;
+ Token otherlv_6=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4438:28: ( (otherlv_0= '/*@' otherlv_1= 'inline' otherlv_2= '(' ( (lv_langageName_3_0= RULE_ID ) ) otherlv_4= ')' ( (lv_body_5_0= RULE_STRING ) ) otherlv_6= '*/' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4439:1: (otherlv_0= '/*@' otherlv_1= 'inline' otherlv_2= '(' ( (lv_langageName_3_0= RULE_ID ) ) otherlv_4= ')' ( (lv_body_5_0= RULE_STRING ) ) otherlv_6= '*/' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4439:1: (otherlv_0= '/*@' otherlv_1= 'inline' otherlv_2= '(' ( (lv_langageName_3_0= RULE_ID ) ) otherlv_4= ')' ( (lv_body_5_0= RULE_STRING ) ) otherlv_6= '*/' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4439:3: otherlv_0= '/*@' otherlv_1= 'inline' otherlv_2= '(' ( (lv_langageName_3_0= RULE_ID ) ) otherlv_4= ')' ( (lv_body_5_0= RULE_STRING ) ) otherlv_6= '*/'
+ {
+ otherlv_0=(Token)match(input,64,FOLLOW_64_in_ruleInlineStatement9585);
+
+ newLeafNode(otherlv_0, grammarAccess.getInlineStatementAccess().getSolidusAsteriskCommercialAtKeyword_0());
+
+ otherlv_1=(Token)match(input,65,FOLLOW_65_in_ruleInlineStatement9597);
+
+ newLeafNode(otherlv_1, grammarAccess.getInlineStatementAccess().getInlineKeyword_1());
+
+ otherlv_2=(Token)match(input,24,FOLLOW_24_in_ruleInlineStatement9609);
+
+ newLeafNode(otherlv_2, grammarAccess.getInlineStatementAccess().getLeftParenthesisKeyword_2());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4451:1: ( (lv_langageName_3_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4452:1: (lv_langageName_3_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4452:1: (lv_langageName_3_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4453:3: lv_langageName_3_0= RULE_ID
+ {
+ lv_langageName_3_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleInlineStatement9626);
+
+ newLeafNode(lv_langageName_3_0, grammarAccess.getInlineStatementAccess().getLangageNameIDTerminalRuleCall_3_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getInlineStatementRule());
+ }
+ setWithLastConsumed(
+ current,
+ "langageName",
+ lv_langageName_3_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ otherlv_4=(Token)match(input,25,FOLLOW_25_in_ruleInlineStatement9643);
+
+ newLeafNode(otherlv_4, grammarAccess.getInlineStatementAccess().getRightParenthesisKeyword_4());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4473:1: ( (lv_body_5_0= RULE_STRING ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4474:1: (lv_body_5_0= RULE_STRING )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4474:1: (lv_body_5_0= RULE_STRING )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4475:3: lv_body_5_0= RULE_STRING
+ {
+ lv_body_5_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleInlineStatement9660);
+
+ newLeafNode(lv_body_5_0, grammarAccess.getInlineStatementAccess().getBodySTRINGTerminalRuleCall_5_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getInlineStatementRule());
+ }
+ setWithLastConsumed(
+ current,
+ "body",
+ lv_body_5_0,
+ "STRING");
+
+
+ }
+
+
+ }
+
+ otherlv_6=(Token)match(input,66,FOLLOW_66_in_ruleInlineStatement9677);
+
+ newLeafNode(otherlv_6, grammarAccess.getInlineStatementAccess().getAsteriskSolidusKeyword_6());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleInlineStatement"
+
+
+ // $ANTLR start "entryRuleAnnotatedStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4503:1: entryRuleAnnotatedStatement returns [EObject current=null] : iv_ruleAnnotatedStatement= ruleAnnotatedStatement EOF ;
+ public final EObject entryRuleAnnotatedStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleAnnotatedStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4504:2: (iv_ruleAnnotatedStatement= ruleAnnotatedStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4505:2: iv_ruleAnnotatedStatement= ruleAnnotatedStatement EOF
+ {
+ newCompositeNode(grammarAccess.getAnnotatedStatementRule());
+ pushFollow(FOLLOW_ruleAnnotatedStatement_in_entryRuleAnnotatedStatement9713);
+ iv_ruleAnnotatedStatement=ruleAnnotatedStatement();
+
+ state._fsp--;
+
+ current =iv_ruleAnnotatedStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotatedStatement9723);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleAnnotatedStatement"
+
+
+ // $ANTLR start "ruleAnnotatedStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4512:1: ruleAnnotatedStatement returns [EObject current=null] : (otherlv_0= '//@' ( (lv_annotation_1_0= ruleAnnotation ) ) ( (lv_statement_2_0= ruleStatement ) ) ) ;
+ public final EObject ruleAnnotatedStatement() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ EObject lv_annotation_1_0 = null;
+
+ EObject lv_statement_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4515:28: ( (otherlv_0= '//@' ( (lv_annotation_1_0= ruleAnnotation ) ) ( (lv_statement_2_0= ruleStatement ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4516:1: (otherlv_0= '//@' ( (lv_annotation_1_0= ruleAnnotation ) ) ( (lv_statement_2_0= ruleStatement ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4516:1: (otherlv_0= '//@' ( (lv_annotation_1_0= ruleAnnotation ) ) ( (lv_statement_2_0= ruleStatement ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4516:3: otherlv_0= '//@' ( (lv_annotation_1_0= ruleAnnotation ) ) ( (lv_statement_2_0= ruleStatement ) )
+ {
+ otherlv_0=(Token)match(input,67,FOLLOW_67_in_ruleAnnotatedStatement9760);
+
+ newLeafNode(otherlv_0, grammarAccess.getAnnotatedStatementAccess().getSolidusSolidusCommercialAtKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4520:1: ( (lv_annotation_1_0= ruleAnnotation ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4521:1: (lv_annotation_1_0= ruleAnnotation )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4521:1: (lv_annotation_1_0= ruleAnnotation )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4522:3: lv_annotation_1_0= ruleAnnotation
+ {
+
+ newCompositeNode(grammarAccess.getAnnotatedStatementAccess().getAnnotationAnnotationParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleAnnotation_in_ruleAnnotatedStatement9781);
+ lv_annotation_1_0=ruleAnnotation();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAnnotatedStatementRule());
+ }
+ set(
+ current,
+ "annotation",
+ lv_annotation_1_0,
+ "Annotation");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4538:2: ( (lv_statement_2_0= ruleStatement ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4539:1: (lv_statement_2_0= ruleStatement )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4539:1: (lv_statement_2_0= ruleStatement )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4540:3: lv_statement_2_0= ruleStatement
+ {
+
+ newCompositeNode(grammarAccess.getAnnotatedStatementAccess().getStatementStatementParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleStatement_in_ruleAnnotatedStatement9802);
+ lv_statement_2_0=ruleStatement();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAnnotatedStatementRule());
+ }
+ set(
+ current,
+ "statement",
+ lv_statement_2_0,
+ "Statement");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleAnnotatedStatement"
+
+
+ // $ANTLR start "entryRuleStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4564:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ;
+ public final EObject entryRuleStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4565:2: (iv_ruleStatement= ruleStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4566:2: iv_ruleStatement= ruleStatement EOF
+ {
+ newCompositeNode(grammarAccess.getStatementRule());
+ pushFollow(FOLLOW_ruleStatement_in_entryRuleStatement9838);
+ iv_ruleStatement=ruleStatement();
+
+ state._fsp--;
+
+ current =iv_ruleStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStatement9848);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleStatement"
+
+
+ // $ANTLR start "ruleStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4573:1: ruleStatement returns [EObject current=null] : (this_AnnotatedStatement_0= ruleAnnotatedStatement | this_InlineStatement_1= ruleInlineStatement | this_BlockStatement_2= ruleBlockStatement | this_EmptyStatement_3= ruleEmptyStatement | this_LocalNameDeclarationStatement_4= ruleLocalNameDeclarationStatement | this_IfStatement_5= ruleIfStatement | this_SwitchStatement_6= ruleSwitchStatement | this_WhileStatement_7= ruleWhileStatement | this_DoStatement_8= ruleDoStatement | this_ForStatement_9= ruleForStatement | this_BreakStatement_10= ruleBreakStatement | this_ReturnStatement_11= ruleReturnStatement | this_AcceptStatement_12= ruleAcceptStatement | this_ClassifyStatement_13= ruleClassifyStatement | this_InvocationOrAssignementOrDeclarationStatement_14= ruleInvocationOrAssignementOrDeclarationStatement | this_SuperInvocationStatement_15= ruleSuperInvocationStatement | this_ThisInvocationStatement_16= ruleThisInvocationStatement | this_InstanceCreationInvocationStatement_17= ruleInstanceCreationInvocationStatement ) ;
+ public final EObject ruleStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_AnnotatedStatement_0 = null;
+
+ EObject this_InlineStatement_1 = null;
+
+ EObject this_BlockStatement_2 = null;
+
+ EObject this_EmptyStatement_3 = null;
+
+ EObject this_LocalNameDeclarationStatement_4 = null;
+
+ EObject this_IfStatement_5 = null;
+
+ EObject this_SwitchStatement_6 = null;
+
+ EObject this_WhileStatement_7 = null;
+
+ EObject this_DoStatement_8 = null;
+
+ EObject this_ForStatement_9 = null;
+
+ EObject this_BreakStatement_10 = null;
+
+ EObject this_ReturnStatement_11 = null;
+
+ EObject this_AcceptStatement_12 = null;
+
+ EObject this_ClassifyStatement_13 = null;
+
+ EObject this_InvocationOrAssignementOrDeclarationStatement_14 = null;
+
+ EObject this_SuperInvocationStatement_15 = null;
+
+ EObject this_ThisInvocationStatement_16 = null;
+
+ EObject this_InstanceCreationInvocationStatement_17 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4576:28: ( (this_AnnotatedStatement_0= ruleAnnotatedStatement | this_InlineStatement_1= ruleInlineStatement | this_BlockStatement_2= ruleBlockStatement | this_EmptyStatement_3= ruleEmptyStatement | this_LocalNameDeclarationStatement_4= ruleLocalNameDeclarationStatement | this_IfStatement_5= ruleIfStatement | this_SwitchStatement_6= ruleSwitchStatement | this_WhileStatement_7= ruleWhileStatement | this_DoStatement_8= ruleDoStatement | this_ForStatement_9= ruleForStatement | this_BreakStatement_10= ruleBreakStatement | this_ReturnStatement_11= ruleReturnStatement | this_AcceptStatement_12= ruleAcceptStatement | this_ClassifyStatement_13= ruleClassifyStatement | this_InvocationOrAssignementOrDeclarationStatement_14= ruleInvocationOrAssignementOrDeclarationStatement | this_SuperInvocationStatement_15= ruleSuperInvocationStatement | this_ThisInvocationStatement_16= ruleThisInvocationStatement | this_InstanceCreationInvocationStatement_17= ruleInstanceCreationInvocationStatement ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4577:1: (this_AnnotatedStatement_0= ruleAnnotatedStatement | this_InlineStatement_1= ruleInlineStatement | this_BlockStatement_2= ruleBlockStatement | this_EmptyStatement_3= ruleEmptyStatement | this_LocalNameDeclarationStatement_4= ruleLocalNameDeclarationStatement | this_IfStatement_5= ruleIfStatement | this_SwitchStatement_6= ruleSwitchStatement | this_WhileStatement_7= ruleWhileStatement | this_DoStatement_8= ruleDoStatement | this_ForStatement_9= ruleForStatement | this_BreakStatement_10= ruleBreakStatement | this_ReturnStatement_11= ruleReturnStatement | this_AcceptStatement_12= ruleAcceptStatement | this_ClassifyStatement_13= ruleClassifyStatement | this_InvocationOrAssignementOrDeclarationStatement_14= ruleInvocationOrAssignementOrDeclarationStatement | this_SuperInvocationStatement_15= ruleSuperInvocationStatement | this_ThisInvocationStatement_16= ruleThisInvocationStatement | this_InstanceCreationInvocationStatement_17= ruleInstanceCreationInvocationStatement )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4577:1: (this_AnnotatedStatement_0= ruleAnnotatedStatement | this_InlineStatement_1= ruleInlineStatement | this_BlockStatement_2= ruleBlockStatement | this_EmptyStatement_3= ruleEmptyStatement | this_LocalNameDeclarationStatement_4= ruleLocalNameDeclarationStatement | this_IfStatement_5= ruleIfStatement | this_SwitchStatement_6= ruleSwitchStatement | this_WhileStatement_7= ruleWhileStatement | this_DoStatement_8= ruleDoStatement | this_ForStatement_9= ruleForStatement | this_BreakStatement_10= ruleBreakStatement | this_ReturnStatement_11= ruleReturnStatement | this_AcceptStatement_12= ruleAcceptStatement | this_ClassifyStatement_13= ruleClassifyStatement | this_InvocationOrAssignementOrDeclarationStatement_14= ruleInvocationOrAssignementOrDeclarationStatement | this_SuperInvocationStatement_15= ruleSuperInvocationStatement | this_ThisInvocationStatement_16= ruleThisInvocationStatement | this_InstanceCreationInvocationStatement_17= ruleInstanceCreationInvocationStatement )
+ int alt71=18;
+ switch ( input.LA(1) ) {
+ case 67:
+ {
+ alt71=1;
+ }
+ break;
+ case 64:
+ {
+ alt71=2;
+ }
+ break;
+ case 60:
+ {
+ alt71=3;
+ }
+ break;
+ case 68:
+ {
+ alt71=4;
+ }
+ break;
+ case 69:
+ {
+ alt71=5;
+ }
+ break;
+ case 71:
+ {
+ alt71=6;
+ }
+ break;
+ case 74:
+ {
+ alt71=7;
+ }
+ break;
+ case 77:
+ {
+ alt71=8;
+ }
+ break;
+ case 78:
+ {
+ alt71=9;
+ }
+ break;
+ case 79:
+ {
+ alt71=10;
+ }
+ break;
+ case 81:
+ {
+ alt71=11;
+ }
+ break;
+ case 82:
+ {
+ alt71=12;
+ }
+ break;
+ case 83:
+ {
+ alt71=13;
+ }
+ break;
+ case 84:
+ {
+ alt71=14;
+ }
+ break;
+ case RULE_ID:
+ case 17:
+ case 18:
+ {
+ alt71=15;
+ }
+ break;
+ case 58:
+ {
+ alt71=16;
+ }
+ break;
+ case 57:
+ {
+ alt71=17;
+ }
+ break;
+ case 59:
+ {
+ alt71=18;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 71, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt71) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4578:5: this_AnnotatedStatement_0= ruleAnnotatedStatement
+ {
+
+ newCompositeNode(grammarAccess.getStatementAccess().getAnnotatedStatementParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleAnnotatedStatement_in_ruleStatement9895);
+ this_AnnotatedStatement_0=ruleAnnotatedStatement();
+
+ state._fsp--;
+
+
+ current = this_AnnotatedStatement_0;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4588:5: this_InlineStatement_1= ruleInlineStatement
+ {
+
+ newCompositeNode(grammarAccess.getStatementAccess().getInlineStatementParserRuleCall_1());
+
+ pushFollow(FOLLOW_ruleInlineStatement_in_ruleStatement9922);
+ this_InlineStatement_1=ruleInlineStatement();
+
+ state._fsp--;
+
+
+ current = this_InlineStatement_1;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4598:5: this_BlockStatement_2= ruleBlockStatement
+ {
+
+ newCompositeNode(grammarAccess.getStatementAccess().getBlockStatementParserRuleCall_2());
+
+ pushFollow(FOLLOW_ruleBlockStatement_in_ruleStatement9949);
+ this_BlockStatement_2=ruleBlockStatement();
+
+ state._fsp--;
+
+
+ current = this_BlockStatement_2;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4608:5: this_EmptyStatement_3= ruleEmptyStatement
+ {
+
+ newCompositeNode(grammarAccess.getStatementAccess().getEmptyStatementParserRuleCall_3());
+
+ pushFollow(FOLLOW_ruleEmptyStatement_in_ruleStatement9976);
+ this_EmptyStatement_3=ruleEmptyStatement();
+
+ state._fsp--;
+
+
+ current = this_EmptyStatement_3;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4618:5: this_LocalNameDeclarationStatement_4= ruleLocalNameDeclarationStatement
+ {
+
+ newCompositeNode(grammarAccess.getStatementAccess().getLocalNameDeclarationStatementParserRuleCall_4());
+
+ pushFollow(FOLLOW_ruleLocalNameDeclarationStatement_in_ruleStatement10003);
+ this_LocalNameDeclarationStatement_4=ruleLocalNameDeclarationStatement();
+
+ state._fsp--;
+
+
+ current = this_LocalNameDeclarationStatement_4;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4628:5: this_IfStatement_5= ruleIfStatement
+ {
+
+ newCompositeNode(grammarAccess.getStatementAccess().getIfStatementParserRuleCall_5());
+
+ pushFollow(FOLLOW_ruleIfStatement_in_ruleStatement10030);
+ this_IfStatement_5=ruleIfStatement();
+
+ state._fsp--;
+
+
+ current = this_IfStatement_5;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4638:5: this_SwitchStatement_6= ruleSwitchStatement
+ {
+
+ newCompositeNode(grammarAccess.getStatementAccess().getSwitchStatementParserRuleCall_6());
+
+ pushFollow(FOLLOW_ruleSwitchStatement_in_ruleStatement10057);
+ this_SwitchStatement_6=ruleSwitchStatement();
+
+ state._fsp--;
+
+
+ current = this_SwitchStatement_6;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4648:5: this_WhileStatement_7= ruleWhileStatement
+ {
+
+ newCompositeNode(grammarAccess.getStatementAccess().getWhileStatementParserRuleCall_7());
+
+ pushFollow(FOLLOW_ruleWhileStatement_in_ruleStatement10084);
+ this_WhileStatement_7=ruleWhileStatement();
+
+ state._fsp--;
+
+
+ current = this_WhileStatement_7;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4658:5: this_DoStatement_8= ruleDoStatement
+ {
+
+ newCompositeNode(grammarAccess.getStatementAccess().getDoStatementParserRuleCall_8());
+
+ pushFollow(FOLLOW_ruleDoStatement_in_ruleStatement10111);
+ this_DoStatement_8=ruleDoStatement();
+
+ state._fsp--;
+
+
+ current = this_DoStatement_8;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 10 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4668:5: this_ForStatement_9= ruleForStatement
+ {
+
+ newCompositeNode(grammarAccess.getStatementAccess().getForStatementParserRuleCall_9());
+
+ pushFollow(FOLLOW_ruleForStatement_in_ruleStatement10138);
+ this_ForStatement_9=ruleForStatement();
+
+ state._fsp--;
+
+
+ current = this_ForStatement_9;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 11 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4678:5: this_BreakStatement_10= ruleBreakStatement
+ {
+
+ newCompositeNode(grammarAccess.getStatementAccess().getBreakStatementParserRuleCall_10());
+
+ pushFollow(FOLLOW_ruleBreakStatement_in_ruleStatement10165);
+ this_BreakStatement_10=ruleBreakStatement();
+
+ state._fsp--;
+
+
+ current = this_BreakStatement_10;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4688:5: this_ReturnStatement_11= ruleReturnStatement
+ {
+
+ newCompositeNode(grammarAccess.getStatementAccess().getReturnStatementParserRuleCall_11());
+
+ pushFollow(FOLLOW_ruleReturnStatement_in_ruleStatement10192);
+ this_ReturnStatement_11=ruleReturnStatement();
+
+ state._fsp--;
+
+
+ current = this_ReturnStatement_11;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 13 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4698:5: this_AcceptStatement_12= ruleAcceptStatement
+ {
+
+ newCompositeNode(grammarAccess.getStatementAccess().getAcceptStatementParserRuleCall_12());
+
+ pushFollow(FOLLOW_ruleAcceptStatement_in_ruleStatement10219);
+ this_AcceptStatement_12=ruleAcceptStatement();
+
+ state._fsp--;
+
+
+ current = this_AcceptStatement_12;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 14 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4708:5: this_ClassifyStatement_13= ruleClassifyStatement
+ {
+
+ newCompositeNode(grammarAccess.getStatementAccess().getClassifyStatementParserRuleCall_13());
+
+ pushFollow(FOLLOW_ruleClassifyStatement_in_ruleStatement10246);
+ this_ClassifyStatement_13=ruleClassifyStatement();
+
+ state._fsp--;
+
+
+ current = this_ClassifyStatement_13;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 15 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4718:5: this_InvocationOrAssignementOrDeclarationStatement_14= ruleInvocationOrAssignementOrDeclarationStatement
+ {
+
+ newCompositeNode(grammarAccess.getStatementAccess().getInvocationOrAssignementOrDeclarationStatementParserRuleCall_14());
+
+ pushFollow(FOLLOW_ruleInvocationOrAssignementOrDeclarationStatement_in_ruleStatement10273);
+ this_InvocationOrAssignementOrDeclarationStatement_14=ruleInvocationOrAssignementOrDeclarationStatement();
+
+ state._fsp--;
+
+
+ current = this_InvocationOrAssignementOrDeclarationStatement_14;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 16 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4728:5: this_SuperInvocationStatement_15= ruleSuperInvocationStatement
+ {
+
+ newCompositeNode(grammarAccess.getStatementAccess().getSuperInvocationStatementParserRuleCall_15());
+
+ pushFollow(FOLLOW_ruleSuperInvocationStatement_in_ruleStatement10300);
+ this_SuperInvocationStatement_15=ruleSuperInvocationStatement();
+
+ state._fsp--;
+
+
+ current = this_SuperInvocationStatement_15;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 17 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4738:5: this_ThisInvocationStatement_16= ruleThisInvocationStatement
+ {
+
+ newCompositeNode(grammarAccess.getStatementAccess().getThisInvocationStatementParserRuleCall_16());
+
+ pushFollow(FOLLOW_ruleThisInvocationStatement_in_ruleStatement10327);
+ this_ThisInvocationStatement_16=ruleThisInvocationStatement();
+
+ state._fsp--;
+
+
+ current = this_ThisInvocationStatement_16;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 18 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4748:5: this_InstanceCreationInvocationStatement_17= ruleInstanceCreationInvocationStatement
+ {
+
+ newCompositeNode(grammarAccess.getStatementAccess().getInstanceCreationInvocationStatementParserRuleCall_17());
+
+ pushFollow(FOLLOW_ruleInstanceCreationInvocationStatement_in_ruleStatement10354);
+ this_InstanceCreationInvocationStatement_17=ruleInstanceCreationInvocationStatement();
+
+ state._fsp--;
+
+
+ current = this_InstanceCreationInvocationStatement_17;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleStatement"
+
+
+ // $ANTLR start "entryRuleAnnotation"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4764:1: entryRuleAnnotation returns [EObject current=null] : iv_ruleAnnotation= ruleAnnotation EOF ;
+ public final EObject entryRuleAnnotation() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleAnnotation = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4765:2: (iv_ruleAnnotation= ruleAnnotation EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4766:2: iv_ruleAnnotation= ruleAnnotation EOF
+ {
+ newCompositeNode(grammarAccess.getAnnotationRule());
+ pushFollow(FOLLOW_ruleAnnotation_in_entryRuleAnnotation10389);
+ iv_ruleAnnotation=ruleAnnotation();
+
+ state._fsp--;
+
+ current =iv_ruleAnnotation;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotation10399);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleAnnotation"
+
+
+ // $ANTLR start "ruleAnnotation"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4773:1: ruleAnnotation returns [EObject current=null] : ( ( (lv_kind_0_0= ruleAnnotationKind ) ) (otherlv_1= '(' ( (lv_args_2_0= RULE_ID ) ) (otherlv_3= ',' ( (lv_args_4_0= RULE_ID ) ) )* otherlv_5= ')' )? ) ;
+ public final EObject ruleAnnotation() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token lv_args_2_0=null;
+ Token otherlv_3=null;
+ Token lv_args_4_0=null;
+ Token otherlv_5=null;
+ Enumerator lv_kind_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4776:28: ( ( ( (lv_kind_0_0= ruleAnnotationKind ) ) (otherlv_1= '(' ( (lv_args_2_0= RULE_ID ) ) (otherlv_3= ',' ( (lv_args_4_0= RULE_ID ) ) )* otherlv_5= ')' )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4777:1: ( ( (lv_kind_0_0= ruleAnnotationKind ) ) (otherlv_1= '(' ( (lv_args_2_0= RULE_ID ) ) (otherlv_3= ',' ( (lv_args_4_0= RULE_ID ) ) )* otherlv_5= ')' )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4777:1: ( ( (lv_kind_0_0= ruleAnnotationKind ) ) (otherlv_1= '(' ( (lv_args_2_0= RULE_ID ) ) (otherlv_3= ',' ( (lv_args_4_0= RULE_ID ) ) )* otherlv_5= ')' )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4777:2: ( (lv_kind_0_0= ruleAnnotationKind ) ) (otherlv_1= '(' ( (lv_args_2_0= RULE_ID ) ) (otherlv_3= ',' ( (lv_args_4_0= RULE_ID ) ) )* otherlv_5= ')' )?
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4777:2: ( (lv_kind_0_0= ruleAnnotationKind ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4778:1: (lv_kind_0_0= ruleAnnotationKind )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4778:1: (lv_kind_0_0= ruleAnnotationKind )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4779:3: lv_kind_0_0= ruleAnnotationKind
+ {
+
+ newCompositeNode(grammarAccess.getAnnotationAccess().getKindAnnotationKindEnumRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleAnnotationKind_in_ruleAnnotation10445);
+ lv_kind_0_0=ruleAnnotationKind();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAnnotationRule());
+ }
+ set(
+ current,
+ "kind",
+ lv_kind_0_0,
+ "AnnotationKind");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4795:2: (otherlv_1= '(' ( (lv_args_2_0= RULE_ID ) ) (otherlv_3= ',' ( (lv_args_4_0= RULE_ID ) ) )* otherlv_5= ')' )?
+ int alt73=2;
+ int LA73_0 = input.LA(1);
+
+ if ( (LA73_0==24) ) {
+ alt73=1;
+ }
+ switch (alt73) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4795:4: otherlv_1= '(' ( (lv_args_2_0= RULE_ID ) ) (otherlv_3= ',' ( (lv_args_4_0= RULE_ID ) ) )* otherlv_5= ')'
+ {
+ otherlv_1=(Token)match(input,24,FOLLOW_24_in_ruleAnnotation10458);
+
+ newLeafNode(otherlv_1, grammarAccess.getAnnotationAccess().getLeftParenthesisKeyword_1_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4799:1: ( (lv_args_2_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4800:1: (lv_args_2_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4800:1: (lv_args_2_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4801:3: lv_args_2_0= RULE_ID
+ {
+ lv_args_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAnnotation10475);
+
+ newLeafNode(lv_args_2_0, grammarAccess.getAnnotationAccess().getArgsIDTerminalRuleCall_1_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getAnnotationRule());
+ }
+ addWithLastConsumed(
+ current,
+ "args",
+ lv_args_2_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4817:2: (otherlv_3= ',' ( (lv_args_4_0= RULE_ID ) ) )*
+ loop72:
+ do {
+ int alt72=2;
+ int LA72_0 = input.LA(1);
+
+ if ( (LA72_0==21) ) {
+ alt72=1;
+ }
+
+
+ switch (alt72) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4817:4: otherlv_3= ',' ( (lv_args_4_0= RULE_ID ) )
+ {
+ otherlv_3=(Token)match(input,21,FOLLOW_21_in_ruleAnnotation10493);
+
+ newLeafNode(otherlv_3, grammarAccess.getAnnotationAccess().getCommaKeyword_1_2_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4821:1: ( (lv_args_4_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4822:1: (lv_args_4_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4822:1: (lv_args_4_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4823:3: lv_args_4_0= RULE_ID
+ {
+ lv_args_4_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAnnotation10510);
+
+ newLeafNode(lv_args_4_0, grammarAccess.getAnnotationAccess().getArgsIDTerminalRuleCall_1_2_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getAnnotationRule());
+ }
+ addWithLastConsumed(
+ current,
+ "args",
+ lv_args_4_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop72;
+ }
+ } while (true);
+
+ otherlv_5=(Token)match(input,25,FOLLOW_25_in_ruleAnnotation10529);
+
+ newLeafNode(otherlv_5, grammarAccess.getAnnotationAccess().getRightParenthesisKeyword_1_3());
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleAnnotation"
+
+
+ // $ANTLR start "entryRuleBlockStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4851:1: entryRuleBlockStatement returns [EObject current=null] : iv_ruleBlockStatement= ruleBlockStatement EOF ;
+ public final EObject entryRuleBlockStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleBlockStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4852:2: (iv_ruleBlockStatement= ruleBlockStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4853:2: iv_ruleBlockStatement= ruleBlockStatement EOF
+ {
+ newCompositeNode(grammarAccess.getBlockStatementRule());
+ pushFollow(FOLLOW_ruleBlockStatement_in_entryRuleBlockStatement10567);
+ iv_ruleBlockStatement=ruleBlockStatement();
+
+ state._fsp--;
+
+ current =iv_ruleBlockStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleBlockStatement10577);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleBlockStatement"
+
+
+ // $ANTLR start "ruleBlockStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4860:1: ruleBlockStatement returns [EObject current=null] : ( (lv_block_0_0= ruleBlock ) ) ;
+ public final EObject ruleBlockStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_block_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4863:28: ( ( (lv_block_0_0= ruleBlock ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4864:1: ( (lv_block_0_0= ruleBlock ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4864:1: ( (lv_block_0_0= ruleBlock ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4865:1: (lv_block_0_0= ruleBlock )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4865:1: (lv_block_0_0= ruleBlock )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4866:3: lv_block_0_0= ruleBlock
+ {
+
+ newCompositeNode(grammarAccess.getBlockStatementAccess().getBlockBlockParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleBlock_in_ruleBlockStatement10622);
+ lv_block_0_0=ruleBlock();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getBlockStatementRule());
+ }
+ set(
+ current,
+ "block",
+ lv_block_0_0,
+ "Block");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleBlockStatement"
+
+
+ // $ANTLR start "entryRuleEmptyStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4890:1: entryRuleEmptyStatement returns [EObject current=null] : iv_ruleEmptyStatement= ruleEmptyStatement EOF ;
+ public final EObject entryRuleEmptyStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleEmptyStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4891:2: (iv_ruleEmptyStatement= ruleEmptyStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4892:2: iv_ruleEmptyStatement= ruleEmptyStatement EOF
+ {
+ newCompositeNode(grammarAccess.getEmptyStatementRule());
+ pushFollow(FOLLOW_ruleEmptyStatement_in_entryRuleEmptyStatement10657);
+ iv_ruleEmptyStatement=ruleEmptyStatement();
+
+ state._fsp--;
+
+ current =iv_ruleEmptyStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleEmptyStatement10667);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleEmptyStatement"
+
+
+ // $ANTLR start "ruleEmptyStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4899:1: ruleEmptyStatement returns [EObject current=null] : ( () otherlv_1= ';' ) ;
+ public final EObject ruleEmptyStatement() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4902:28: ( ( () otherlv_1= ';' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4903:1: ( () otherlv_1= ';' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4903:1: ( () otherlv_1= ';' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4903:2: () otherlv_1= ';'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4903:2: ()
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4904:5:
+ {
+
+ current = forceCreateModelElement(
+ grammarAccess.getEmptyStatementAccess().getEmptyStatementAction_0(),
+ current);
+
+
+ }
+
+ otherlv_1=(Token)match(input,68,FOLLOW_68_in_ruleEmptyStatement10713);
+
+ newLeafNode(otherlv_1, grammarAccess.getEmptyStatementAccess().getSemicolonKeyword_1());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleEmptyStatement"
+
+
+ // $ANTLR start "entryRuleLocalNameDeclarationStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4921:1: entryRuleLocalNameDeclarationStatement returns [EObject current=null] : iv_ruleLocalNameDeclarationStatement= ruleLocalNameDeclarationStatement EOF ;
+ public final EObject entryRuleLocalNameDeclarationStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleLocalNameDeclarationStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4922:2: (iv_ruleLocalNameDeclarationStatement= ruleLocalNameDeclarationStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4923:2: iv_ruleLocalNameDeclarationStatement= ruleLocalNameDeclarationStatement EOF
+ {
+ newCompositeNode(grammarAccess.getLocalNameDeclarationStatementRule());
+ pushFollow(FOLLOW_ruleLocalNameDeclarationStatement_in_entryRuleLocalNameDeclarationStatement10749);
+ iv_ruleLocalNameDeclarationStatement=ruleLocalNameDeclarationStatement();
+
+ state._fsp--;
+
+ current =iv_ruleLocalNameDeclarationStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleLocalNameDeclarationStatement10759);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleLocalNameDeclarationStatement"
+
+
+ // $ANTLR start "ruleLocalNameDeclarationStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4930:1: ruleLocalNameDeclarationStatement returns [EObject current=null] : (otherlv_0= 'let' ( (lv_varName_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleQualifiedNameWithBinding ) ) ( ( (lv_multiplicityIndicator_4_0= '[' ) ) otherlv_5= ']' )? otherlv_6= '=' ( (lv_init_7_0= ruleSequenceElement ) ) otherlv_8= ';' ) ;
+ public final EObject ruleLocalNameDeclarationStatement() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token lv_varName_1_0=null;
+ Token otherlv_2=null;
+ Token lv_multiplicityIndicator_4_0=null;
+ Token otherlv_5=null;
+ Token otherlv_6=null;
+ Token otherlv_8=null;
+ EObject lv_type_3_0 = null;
+
+ EObject lv_init_7_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4933:28: ( (otherlv_0= 'let' ( (lv_varName_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleQualifiedNameWithBinding ) ) ( ( (lv_multiplicityIndicator_4_0= '[' ) ) otherlv_5= ']' )? otherlv_6= '=' ( (lv_init_7_0= ruleSequenceElement ) ) otherlv_8= ';' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4934:1: (otherlv_0= 'let' ( (lv_varName_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleQualifiedNameWithBinding ) ) ( ( (lv_multiplicityIndicator_4_0= '[' ) ) otherlv_5= ']' )? otherlv_6= '=' ( (lv_init_7_0= ruleSequenceElement ) ) otherlv_8= ';' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4934:1: (otherlv_0= 'let' ( (lv_varName_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleQualifiedNameWithBinding ) ) ( ( (lv_multiplicityIndicator_4_0= '[' ) ) otherlv_5= ']' )? otherlv_6= '=' ( (lv_init_7_0= ruleSequenceElement ) ) otherlv_8= ';' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4934:3: otherlv_0= 'let' ( (lv_varName_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleQualifiedNameWithBinding ) ) ( ( (lv_multiplicityIndicator_4_0= '[' ) ) otherlv_5= ']' )? otherlv_6= '=' ( (lv_init_7_0= ruleSequenceElement ) ) otherlv_8= ';'
+ {
+ otherlv_0=(Token)match(input,69,FOLLOW_69_in_ruleLocalNameDeclarationStatement10796);
+
+ newLeafNode(otherlv_0, grammarAccess.getLocalNameDeclarationStatementAccess().getLetKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4938:1: ( (lv_varName_1_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4939:1: (lv_varName_1_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4939:1: (lv_varName_1_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4940:3: lv_varName_1_0= RULE_ID
+ {
+ lv_varName_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleLocalNameDeclarationStatement10813);
+
+ newLeafNode(lv_varName_1_0, grammarAccess.getLocalNameDeclarationStatementAccess().getVarNameIDTerminalRuleCall_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getLocalNameDeclarationStatementRule());
+ }
+ setWithLastConsumed(
+ current,
+ "varName",
+ lv_varName_1_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ otherlv_2=(Token)match(input,27,FOLLOW_27_in_ruleLocalNameDeclarationStatement10830);
+
+ newLeafNode(otherlv_2, grammarAccess.getLocalNameDeclarationStatementAccess().getColonKeyword_2());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4960:1: ( (lv_type_3_0= ruleQualifiedNameWithBinding ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4961:1: (lv_type_3_0= ruleQualifiedNameWithBinding )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4961:1: (lv_type_3_0= ruleQualifiedNameWithBinding )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4962:3: lv_type_3_0= ruleQualifiedNameWithBinding
+ {
+
+ newCompositeNode(grammarAccess.getLocalNameDeclarationStatementAccess().getTypeQualifiedNameWithBindingParserRuleCall_3_0());
+
+ pushFollow(FOLLOW_ruleQualifiedNameWithBinding_in_ruleLocalNameDeclarationStatement10851);
+ lv_type_3_0=ruleQualifiedNameWithBinding();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLocalNameDeclarationStatementRule());
+ }
+ set(
+ current,
+ "type",
+ lv_type_3_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4978:2: ( ( (lv_multiplicityIndicator_4_0= '[' ) ) otherlv_5= ']' )?
+ int alt74=2;
+ int LA74_0 = input.LA(1);
+
+ if ( (LA74_0==50) ) {
+ alt74=1;
+ }
+ switch (alt74) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4978:3: ( (lv_multiplicityIndicator_4_0= '[' ) ) otherlv_5= ']'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4978:3: ( (lv_multiplicityIndicator_4_0= '[' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4979:1: (lv_multiplicityIndicator_4_0= '[' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4979:1: (lv_multiplicityIndicator_4_0= '[' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:4980:3: lv_multiplicityIndicator_4_0= '['
+ {
+ lv_multiplicityIndicator_4_0=(Token)match(input,50,FOLLOW_50_in_ruleLocalNameDeclarationStatement10870);
+
+ newLeafNode(lv_multiplicityIndicator_4_0, grammarAccess.getLocalNameDeclarationStatementAccess().getMultiplicityIndicatorLeftSquareBracketKeyword_4_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getLocalNameDeclarationStatementRule());
+ }
+ setWithLastConsumed(current, "multiplicityIndicator", true, "[");
+
+
+ }
+
+
+ }
+
+ otherlv_5=(Token)match(input,51,FOLLOW_51_in_ruleLocalNameDeclarationStatement10895);
+
+ newLeafNode(otherlv_5, grammarAccess.getLocalNameDeclarationStatementAccess().getRightSquareBracketKeyword_4_1());
+
+
+ }
+ break;
+
+ }
+
+ otherlv_6=(Token)match(input,70,FOLLOW_70_in_ruleLocalNameDeclarationStatement10909);
+
+ newLeafNode(otherlv_6, grammarAccess.getLocalNameDeclarationStatementAccess().getEqualsSignKeyword_5());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5001:1: ( (lv_init_7_0= ruleSequenceElement ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5002:1: (lv_init_7_0= ruleSequenceElement )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5002:1: (lv_init_7_0= ruleSequenceElement )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5003:3: lv_init_7_0= ruleSequenceElement
+ {
+
+ newCompositeNode(grammarAccess.getLocalNameDeclarationStatementAccess().getInitSequenceElementParserRuleCall_6_0());
+
+ pushFollow(FOLLOW_ruleSequenceElement_in_ruleLocalNameDeclarationStatement10930);
+ lv_init_7_0=ruleSequenceElement();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLocalNameDeclarationStatementRule());
+ }
+ set(
+ current,
+ "init",
+ lv_init_7_0,
+ "SequenceElement");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_8=(Token)match(input,68,FOLLOW_68_in_ruleLocalNameDeclarationStatement10942);
+
+ newLeafNode(otherlv_8, grammarAccess.getLocalNameDeclarationStatementAccess().getSemicolonKeyword_7());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleLocalNameDeclarationStatement"
+
+
+ // $ANTLR start "entryRuleIfStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5031:1: entryRuleIfStatement returns [EObject current=null] : iv_ruleIfStatement= ruleIfStatement EOF ;
+ public final EObject entryRuleIfStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleIfStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5032:2: (iv_ruleIfStatement= ruleIfStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5033:2: iv_ruleIfStatement= ruleIfStatement EOF
+ {
+ newCompositeNode(grammarAccess.getIfStatementRule());
+ pushFollow(FOLLOW_ruleIfStatement_in_entryRuleIfStatement10978);
+ iv_ruleIfStatement=ruleIfStatement();
+
+ state._fsp--;
+
+ current =iv_ruleIfStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleIfStatement10988);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleIfStatement"
+
+
+ // $ANTLR start "ruleIfStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5040:1: ruleIfStatement returns [EObject current=null] : (otherlv_0= 'if' ( (lv_sequentialClausses_1_0= ruleSequentialClauses ) ) ( (lv_finalClause_2_0= ruleFinalClause ) )? ) ;
+ public final EObject ruleIfStatement() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ EObject lv_sequentialClausses_1_0 = null;
+
+ EObject lv_finalClause_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5043:28: ( (otherlv_0= 'if' ( (lv_sequentialClausses_1_0= ruleSequentialClauses ) ) ( (lv_finalClause_2_0= ruleFinalClause ) )? ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5044:1: (otherlv_0= 'if' ( (lv_sequentialClausses_1_0= ruleSequentialClauses ) ) ( (lv_finalClause_2_0= ruleFinalClause ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5044:1: (otherlv_0= 'if' ( (lv_sequentialClausses_1_0= ruleSequentialClauses ) ) ( (lv_finalClause_2_0= ruleFinalClause ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5044:3: otherlv_0= 'if' ( (lv_sequentialClausses_1_0= ruleSequentialClauses ) ) ( (lv_finalClause_2_0= ruleFinalClause ) )?
+ {
+ otherlv_0=(Token)match(input,71,FOLLOW_71_in_ruleIfStatement11025);
+
+ newLeafNode(otherlv_0, grammarAccess.getIfStatementAccess().getIfKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5048:1: ( (lv_sequentialClausses_1_0= ruleSequentialClauses ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5049:1: (lv_sequentialClausses_1_0= ruleSequentialClauses )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5049:1: (lv_sequentialClausses_1_0= ruleSequentialClauses )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5050:3: lv_sequentialClausses_1_0= ruleSequentialClauses
+ {
+
+ newCompositeNode(grammarAccess.getIfStatementAccess().getSequentialClaussesSequentialClausesParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleSequentialClauses_in_ruleIfStatement11046);
+ lv_sequentialClausses_1_0=ruleSequentialClauses();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getIfStatementRule());
+ }
+ set(
+ current,
+ "sequentialClausses",
+ lv_sequentialClausses_1_0,
+ "SequentialClauses");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5066:2: ( (lv_finalClause_2_0= ruleFinalClause ) )?
+ int alt75=2;
+ int LA75_0 = input.LA(1);
+
+ if ( (LA75_0==72) ) {
+ alt75=1;
+ }
+ switch (alt75) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5067:1: (lv_finalClause_2_0= ruleFinalClause )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5067:1: (lv_finalClause_2_0= ruleFinalClause )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5068:3: lv_finalClause_2_0= ruleFinalClause
+ {
+
+ newCompositeNode(grammarAccess.getIfStatementAccess().getFinalClauseFinalClauseParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleFinalClause_in_ruleIfStatement11067);
+ lv_finalClause_2_0=ruleFinalClause();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getIfStatementRule());
+ }
+ set(
+ current,
+ "finalClause",
+ lv_finalClause_2_0,
+ "FinalClause");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleIfStatement"
+
+
+ // $ANTLR start "entryRuleSequentialClauses"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5092:1: entryRuleSequentialClauses returns [EObject current=null] : iv_ruleSequentialClauses= ruleSequentialClauses EOF ;
+ public final EObject entryRuleSequentialClauses() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSequentialClauses = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5093:2: (iv_ruleSequentialClauses= ruleSequentialClauses EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5094:2: iv_ruleSequentialClauses= ruleSequentialClauses EOF
+ {
+ newCompositeNode(grammarAccess.getSequentialClausesRule());
+ pushFollow(FOLLOW_ruleSequentialClauses_in_entryRuleSequentialClauses11104);
+ iv_ruleSequentialClauses=ruleSequentialClauses();
+
+ state._fsp--;
+
+ current =iv_ruleSequentialClauses;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSequentialClauses11114);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSequentialClauses"
+
+
+ // $ANTLR start "ruleSequentialClauses"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5101:1: ruleSequentialClauses returns [EObject current=null] : ( ( (lv_conccurentClauses_0_0= ruleConcurrentClauses ) ) (otherlv_1= 'else' otherlv_2= 'if' ( (lv_conccurentClauses_3_0= ruleConcurrentClauses ) ) )* ) ;
+ public final EObject ruleSequentialClauses() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_2=null;
+ EObject lv_conccurentClauses_0_0 = null;
+
+ EObject lv_conccurentClauses_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5104:28: ( ( ( (lv_conccurentClauses_0_0= ruleConcurrentClauses ) ) (otherlv_1= 'else' otherlv_2= 'if' ( (lv_conccurentClauses_3_0= ruleConcurrentClauses ) ) )* ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5105:1: ( ( (lv_conccurentClauses_0_0= ruleConcurrentClauses ) ) (otherlv_1= 'else' otherlv_2= 'if' ( (lv_conccurentClauses_3_0= ruleConcurrentClauses ) ) )* )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5105:1: ( ( (lv_conccurentClauses_0_0= ruleConcurrentClauses ) ) (otherlv_1= 'else' otherlv_2= 'if' ( (lv_conccurentClauses_3_0= ruleConcurrentClauses ) ) )* )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5105:2: ( (lv_conccurentClauses_0_0= ruleConcurrentClauses ) ) (otherlv_1= 'else' otherlv_2= 'if' ( (lv_conccurentClauses_3_0= ruleConcurrentClauses ) ) )*
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5105:2: ( (lv_conccurentClauses_0_0= ruleConcurrentClauses ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5106:1: (lv_conccurentClauses_0_0= ruleConcurrentClauses )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5106:1: (lv_conccurentClauses_0_0= ruleConcurrentClauses )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5107:3: lv_conccurentClauses_0_0= ruleConcurrentClauses
+ {
+
+ newCompositeNode(grammarAccess.getSequentialClausesAccess().getConccurentClausesConcurrentClausesParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleConcurrentClauses_in_ruleSequentialClauses11160);
+ lv_conccurentClauses_0_0=ruleConcurrentClauses();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSequentialClausesRule());
+ }
+ add(
+ current,
+ "conccurentClauses",
+ lv_conccurentClauses_0_0,
+ "ConcurrentClauses");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5123:2: (otherlv_1= 'else' otherlv_2= 'if' ( (lv_conccurentClauses_3_0= ruleConcurrentClauses ) ) )*
+ loop76:
+ do {
+ int alt76=2;
+ int LA76_0 = input.LA(1);
+
+ if ( (LA76_0==72) ) {
+ int LA76_1 = input.LA(2);
+
+ if ( (LA76_1==71) ) {
+ alt76=1;
+ }
+
+
+ }
+
+
+ switch (alt76) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5123:4: otherlv_1= 'else' otherlv_2= 'if' ( (lv_conccurentClauses_3_0= ruleConcurrentClauses ) )
+ {
+ otherlv_1=(Token)match(input,72,FOLLOW_72_in_ruleSequentialClauses11173);
+
+ newLeafNode(otherlv_1, grammarAccess.getSequentialClausesAccess().getElseKeyword_1_0());
+
+ otherlv_2=(Token)match(input,71,FOLLOW_71_in_ruleSequentialClauses11185);
+
+ newLeafNode(otherlv_2, grammarAccess.getSequentialClausesAccess().getIfKeyword_1_1());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5131:1: ( (lv_conccurentClauses_3_0= ruleConcurrentClauses ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5132:1: (lv_conccurentClauses_3_0= ruleConcurrentClauses )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5132:1: (lv_conccurentClauses_3_0= ruleConcurrentClauses )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5133:3: lv_conccurentClauses_3_0= ruleConcurrentClauses
+ {
+
+ newCompositeNode(grammarAccess.getSequentialClausesAccess().getConccurentClausesConcurrentClausesParserRuleCall_1_2_0());
+
+ pushFollow(FOLLOW_ruleConcurrentClauses_in_ruleSequentialClauses11206);
+ lv_conccurentClauses_3_0=ruleConcurrentClauses();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSequentialClausesRule());
+ }
+ add(
+ current,
+ "conccurentClauses",
+ lv_conccurentClauses_3_0,
+ "ConcurrentClauses");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop76;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSequentialClauses"
+
+
+ // $ANTLR start "entryRuleConcurrentClauses"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5157:1: entryRuleConcurrentClauses returns [EObject current=null] : iv_ruleConcurrentClauses= ruleConcurrentClauses EOF ;
+ public final EObject entryRuleConcurrentClauses() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleConcurrentClauses = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5158:2: (iv_ruleConcurrentClauses= ruleConcurrentClauses EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5159:2: iv_ruleConcurrentClauses= ruleConcurrentClauses EOF
+ {
+ newCompositeNode(grammarAccess.getConcurrentClausesRule());
+ pushFollow(FOLLOW_ruleConcurrentClauses_in_entryRuleConcurrentClauses11244);
+ iv_ruleConcurrentClauses=ruleConcurrentClauses();
+
+ state._fsp--;
+
+ current =iv_ruleConcurrentClauses;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleConcurrentClauses11254);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleConcurrentClauses"
+
+
+ // $ANTLR start "ruleConcurrentClauses"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5166:1: ruleConcurrentClauses returns [EObject current=null] : ( ( (lv_nonFinalClause_0_0= ruleNonFinalClause ) ) (otherlv_1= 'or' otherlv_2= 'if' ( (lv_nonFinalClause_3_0= ruleNonFinalClause ) ) )* ) ;
+ public final EObject ruleConcurrentClauses() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_2=null;
+ EObject lv_nonFinalClause_0_0 = null;
+
+ EObject lv_nonFinalClause_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5169:28: ( ( ( (lv_nonFinalClause_0_0= ruleNonFinalClause ) ) (otherlv_1= 'or' otherlv_2= 'if' ( (lv_nonFinalClause_3_0= ruleNonFinalClause ) ) )* ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5170:1: ( ( (lv_nonFinalClause_0_0= ruleNonFinalClause ) ) (otherlv_1= 'or' otherlv_2= 'if' ( (lv_nonFinalClause_3_0= ruleNonFinalClause ) ) )* )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5170:1: ( ( (lv_nonFinalClause_0_0= ruleNonFinalClause ) ) (otherlv_1= 'or' otherlv_2= 'if' ( (lv_nonFinalClause_3_0= ruleNonFinalClause ) ) )* )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5170:2: ( (lv_nonFinalClause_0_0= ruleNonFinalClause ) ) (otherlv_1= 'or' otherlv_2= 'if' ( (lv_nonFinalClause_3_0= ruleNonFinalClause ) ) )*
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5170:2: ( (lv_nonFinalClause_0_0= ruleNonFinalClause ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5171:1: (lv_nonFinalClause_0_0= ruleNonFinalClause )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5171:1: (lv_nonFinalClause_0_0= ruleNonFinalClause )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5172:3: lv_nonFinalClause_0_0= ruleNonFinalClause
+ {
+
+ newCompositeNode(grammarAccess.getConcurrentClausesAccess().getNonFinalClauseNonFinalClauseParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleNonFinalClause_in_ruleConcurrentClauses11300);
+ lv_nonFinalClause_0_0=ruleNonFinalClause();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getConcurrentClausesRule());
+ }
+ add(
+ current,
+ "nonFinalClause",
+ lv_nonFinalClause_0_0,
+ "NonFinalClause");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5188:2: (otherlv_1= 'or' otherlv_2= 'if' ( (lv_nonFinalClause_3_0= ruleNonFinalClause ) ) )*
+ loop77:
+ do {
+ int alt77=2;
+ int LA77_0 = input.LA(1);
+
+ if ( (LA77_0==73) ) {
+ alt77=1;
+ }
+
+
+ switch (alt77) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5188:4: otherlv_1= 'or' otherlv_2= 'if' ( (lv_nonFinalClause_3_0= ruleNonFinalClause ) )
+ {
+ otherlv_1=(Token)match(input,73,FOLLOW_73_in_ruleConcurrentClauses11313);
+
+ newLeafNode(otherlv_1, grammarAccess.getConcurrentClausesAccess().getOrKeyword_1_0());
+
+ otherlv_2=(Token)match(input,71,FOLLOW_71_in_ruleConcurrentClauses11325);
+
+ newLeafNode(otherlv_2, grammarAccess.getConcurrentClausesAccess().getIfKeyword_1_1());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5196:1: ( (lv_nonFinalClause_3_0= ruleNonFinalClause ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5197:1: (lv_nonFinalClause_3_0= ruleNonFinalClause )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5197:1: (lv_nonFinalClause_3_0= ruleNonFinalClause )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5198:3: lv_nonFinalClause_3_0= ruleNonFinalClause
+ {
+
+ newCompositeNode(grammarAccess.getConcurrentClausesAccess().getNonFinalClauseNonFinalClauseParserRuleCall_1_2_0());
+
+ pushFollow(FOLLOW_ruleNonFinalClause_in_ruleConcurrentClauses11346);
+ lv_nonFinalClause_3_0=ruleNonFinalClause();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getConcurrentClausesRule());
+ }
+ add(
+ current,
+ "nonFinalClause",
+ lv_nonFinalClause_3_0,
+ "NonFinalClause");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop77;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleConcurrentClauses"
+
+
+ // $ANTLR start "entryRuleNonFinalClause"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5222:1: entryRuleNonFinalClause returns [EObject current=null] : iv_ruleNonFinalClause= ruleNonFinalClause EOF ;
+ public final EObject entryRuleNonFinalClause() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNonFinalClause = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5223:2: (iv_ruleNonFinalClause= ruleNonFinalClause EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5224:2: iv_ruleNonFinalClause= ruleNonFinalClause EOF
+ {
+ newCompositeNode(grammarAccess.getNonFinalClauseRule());
+ pushFollow(FOLLOW_ruleNonFinalClause_in_entryRuleNonFinalClause11384);
+ iv_ruleNonFinalClause=ruleNonFinalClause();
+
+ state._fsp--;
+
+ current =iv_ruleNonFinalClause;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNonFinalClause11394);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNonFinalClause"
+
+
+ // $ANTLR start "ruleNonFinalClause"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5231:1: ruleNonFinalClause returns [EObject current=null] : (otherlv_0= '(' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= ')' ( (lv_block_3_0= ruleBlock ) ) ) ;
+ public final EObject ruleNonFinalClause() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ EObject lv_condition_1_0 = null;
+
+ EObject lv_block_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5234:28: ( (otherlv_0= '(' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= ')' ( (lv_block_3_0= ruleBlock ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5235:1: (otherlv_0= '(' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= ')' ( (lv_block_3_0= ruleBlock ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5235:1: (otherlv_0= '(' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= ')' ( (lv_block_3_0= ruleBlock ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5235:3: otherlv_0= '(' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= ')' ( (lv_block_3_0= ruleBlock ) )
+ {
+ otherlv_0=(Token)match(input,24,FOLLOW_24_in_ruleNonFinalClause11431);
+
+ newLeafNode(otherlv_0, grammarAccess.getNonFinalClauseAccess().getLeftParenthesisKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5239:1: ( (lv_condition_1_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5240:1: (lv_condition_1_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5240:1: (lv_condition_1_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5241:3: lv_condition_1_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getNonFinalClauseAccess().getConditionExpressionParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleNonFinalClause11452);
+ lv_condition_1_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNonFinalClauseRule());
+ }
+ set(
+ current,
+ "condition",
+ lv_condition_1_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_2=(Token)match(input,25,FOLLOW_25_in_ruleNonFinalClause11464);
+
+ newLeafNode(otherlv_2, grammarAccess.getNonFinalClauseAccess().getRightParenthesisKeyword_2());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5261:1: ( (lv_block_3_0= ruleBlock ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5262:1: (lv_block_3_0= ruleBlock )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5262:1: (lv_block_3_0= ruleBlock )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5263:3: lv_block_3_0= ruleBlock
+ {
+
+ newCompositeNode(grammarAccess.getNonFinalClauseAccess().getBlockBlockParserRuleCall_3_0());
+
+ pushFollow(FOLLOW_ruleBlock_in_ruleNonFinalClause11485);
+ lv_block_3_0=ruleBlock();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNonFinalClauseRule());
+ }
+ set(
+ current,
+ "block",
+ lv_block_3_0,
+ "Block");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNonFinalClause"
+
+
+ // $ANTLR start "entryRuleFinalClause"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5287:1: entryRuleFinalClause returns [EObject current=null] : iv_ruleFinalClause= ruleFinalClause EOF ;
+ public final EObject entryRuleFinalClause() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleFinalClause = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5288:2: (iv_ruleFinalClause= ruleFinalClause EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5289:2: iv_ruleFinalClause= ruleFinalClause EOF
+ {
+ newCompositeNode(grammarAccess.getFinalClauseRule());
+ pushFollow(FOLLOW_ruleFinalClause_in_entryRuleFinalClause11521);
+ iv_ruleFinalClause=ruleFinalClause();
+
+ state._fsp--;
+
+ current =iv_ruleFinalClause;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleFinalClause11531);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleFinalClause"
+
+
+ // $ANTLR start "ruleFinalClause"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5296:1: ruleFinalClause returns [EObject current=null] : (otherlv_0= 'else' ( (lv_block_1_0= ruleBlock ) ) ) ;
+ public final EObject ruleFinalClause() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ EObject lv_block_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5299:28: ( (otherlv_0= 'else' ( (lv_block_1_0= ruleBlock ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5300:1: (otherlv_0= 'else' ( (lv_block_1_0= ruleBlock ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5300:1: (otherlv_0= 'else' ( (lv_block_1_0= ruleBlock ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5300:3: otherlv_0= 'else' ( (lv_block_1_0= ruleBlock ) )
+ {
+ otherlv_0=(Token)match(input,72,FOLLOW_72_in_ruleFinalClause11568);
+
+ newLeafNode(otherlv_0, grammarAccess.getFinalClauseAccess().getElseKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5304:1: ( (lv_block_1_0= ruleBlock ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5305:1: (lv_block_1_0= ruleBlock )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5305:1: (lv_block_1_0= ruleBlock )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5306:3: lv_block_1_0= ruleBlock
+ {
+
+ newCompositeNode(grammarAccess.getFinalClauseAccess().getBlockBlockParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleBlock_in_ruleFinalClause11589);
+ lv_block_1_0=ruleBlock();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getFinalClauseRule());
+ }
+ set(
+ current,
+ "block",
+ lv_block_1_0,
+ "Block");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleFinalClause"
+
+
+ // $ANTLR start "entryRuleSwitchStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5330:1: entryRuleSwitchStatement returns [EObject current=null] : iv_ruleSwitchStatement= ruleSwitchStatement EOF ;
+ public final EObject entryRuleSwitchStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSwitchStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5331:2: (iv_ruleSwitchStatement= ruleSwitchStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5332:2: iv_ruleSwitchStatement= ruleSwitchStatement EOF
+ {
+ newCompositeNode(grammarAccess.getSwitchStatementRule());
+ pushFollow(FOLLOW_ruleSwitchStatement_in_entryRuleSwitchStatement11625);
+ iv_ruleSwitchStatement=ruleSwitchStatement();
+
+ state._fsp--;
+
+ current =iv_ruleSwitchStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSwitchStatement11635);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSwitchStatement"
+
+
+ // $ANTLR start "ruleSwitchStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5339:1: ruleSwitchStatement returns [EObject current=null] : (otherlv_0= 'switch' otherlv_1= '(' ( (lv_expression_2_0= ruleExpression ) ) otherlv_3= ')' otherlv_4= '{' ( (lv_switchClause_5_0= ruleSwitchClause ) )* ( (lv_defaultClause_6_0= ruleSwitchDefaultClause ) )? otherlv_7= '}' ) ;
+ public final EObject ruleSwitchStatement() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ Token otherlv_4=null;
+ Token otherlv_7=null;
+ EObject lv_expression_2_0 = null;
+
+ EObject lv_switchClause_5_0 = null;
+
+ EObject lv_defaultClause_6_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5342:28: ( (otherlv_0= 'switch' otherlv_1= '(' ( (lv_expression_2_0= ruleExpression ) ) otherlv_3= ')' otherlv_4= '{' ( (lv_switchClause_5_0= ruleSwitchClause ) )* ( (lv_defaultClause_6_0= ruleSwitchDefaultClause ) )? otherlv_7= '}' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5343:1: (otherlv_0= 'switch' otherlv_1= '(' ( (lv_expression_2_0= ruleExpression ) ) otherlv_3= ')' otherlv_4= '{' ( (lv_switchClause_5_0= ruleSwitchClause ) )* ( (lv_defaultClause_6_0= ruleSwitchDefaultClause ) )? otherlv_7= '}' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5343:1: (otherlv_0= 'switch' otherlv_1= '(' ( (lv_expression_2_0= ruleExpression ) ) otherlv_3= ')' otherlv_4= '{' ( (lv_switchClause_5_0= ruleSwitchClause ) )* ( (lv_defaultClause_6_0= ruleSwitchDefaultClause ) )? otherlv_7= '}' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5343:3: otherlv_0= 'switch' otherlv_1= '(' ( (lv_expression_2_0= ruleExpression ) ) otherlv_3= ')' otherlv_4= '{' ( (lv_switchClause_5_0= ruleSwitchClause ) )* ( (lv_defaultClause_6_0= ruleSwitchDefaultClause ) )? otherlv_7= '}'
+ {
+ otherlv_0=(Token)match(input,74,FOLLOW_74_in_ruleSwitchStatement11672);
+
+ newLeafNode(otherlv_0, grammarAccess.getSwitchStatementAccess().getSwitchKeyword_0());
+
+ otherlv_1=(Token)match(input,24,FOLLOW_24_in_ruleSwitchStatement11684);
+
+ newLeafNode(otherlv_1, grammarAccess.getSwitchStatementAccess().getLeftParenthesisKeyword_1());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5351:1: ( (lv_expression_2_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5352:1: (lv_expression_2_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5352:1: (lv_expression_2_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5353:3: lv_expression_2_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getSwitchStatementAccess().getExpressionExpressionParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleSwitchStatement11705);
+ lv_expression_2_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSwitchStatementRule());
+ }
+ set(
+ current,
+ "expression",
+ lv_expression_2_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,25,FOLLOW_25_in_ruleSwitchStatement11717);
+
+ newLeafNode(otherlv_3, grammarAccess.getSwitchStatementAccess().getRightParenthesisKeyword_3());
+
+ otherlv_4=(Token)match(input,60,FOLLOW_60_in_ruleSwitchStatement11729);
+
+ newLeafNode(otherlv_4, grammarAccess.getSwitchStatementAccess().getLeftCurlyBracketKeyword_4());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5377:1: ( (lv_switchClause_5_0= ruleSwitchClause ) )*
+ loop78:
+ do {
+ int alt78=2;
+ int LA78_0 = input.LA(1);
+
+ if ( (LA78_0==75) ) {
+ alt78=1;
+ }
+
+
+ switch (alt78) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5378:1: (lv_switchClause_5_0= ruleSwitchClause )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5378:1: (lv_switchClause_5_0= ruleSwitchClause )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5379:3: lv_switchClause_5_0= ruleSwitchClause
+ {
+
+ newCompositeNode(grammarAccess.getSwitchStatementAccess().getSwitchClauseSwitchClauseParserRuleCall_5_0());
+
+ pushFollow(FOLLOW_ruleSwitchClause_in_ruleSwitchStatement11750);
+ lv_switchClause_5_0=ruleSwitchClause();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSwitchStatementRule());
+ }
+ add(
+ current,
+ "switchClause",
+ lv_switchClause_5_0,
+ "SwitchClause");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop78;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5395:3: ( (lv_defaultClause_6_0= ruleSwitchDefaultClause ) )?
+ int alt79=2;
+ int LA79_0 = input.LA(1);
+
+ if ( (LA79_0==76) ) {
+ alt79=1;
+ }
+ switch (alt79) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5396:1: (lv_defaultClause_6_0= ruleSwitchDefaultClause )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5396:1: (lv_defaultClause_6_0= ruleSwitchDefaultClause )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5397:3: lv_defaultClause_6_0= ruleSwitchDefaultClause
+ {
+
+ newCompositeNode(grammarAccess.getSwitchStatementAccess().getDefaultClauseSwitchDefaultClauseParserRuleCall_6_0());
+
+ pushFollow(FOLLOW_ruleSwitchDefaultClause_in_ruleSwitchStatement11772);
+ lv_defaultClause_6_0=ruleSwitchDefaultClause();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSwitchStatementRule());
+ }
+ set(
+ current,
+ "defaultClause",
+ lv_defaultClause_6_0,
+ "SwitchDefaultClause");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_7=(Token)match(input,62,FOLLOW_62_in_ruleSwitchStatement11785);
+
+ newLeafNode(otherlv_7, grammarAccess.getSwitchStatementAccess().getRightCurlyBracketKeyword_7());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSwitchStatement"
+
+
+ // $ANTLR start "entryRuleSwitchClause"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5425:1: entryRuleSwitchClause returns [EObject current=null] : iv_ruleSwitchClause= ruleSwitchClause EOF ;
+ public final EObject entryRuleSwitchClause() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSwitchClause = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5426:2: (iv_ruleSwitchClause= ruleSwitchClause EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5427:2: iv_ruleSwitchClause= ruleSwitchClause EOF
+ {
+ newCompositeNode(grammarAccess.getSwitchClauseRule());
+ pushFollow(FOLLOW_ruleSwitchClause_in_entryRuleSwitchClause11821);
+ iv_ruleSwitchClause=ruleSwitchClause();
+
+ state._fsp--;
+
+ current =iv_ruleSwitchClause;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSwitchClause11831);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSwitchClause"
+
+
+ // $ANTLR start "ruleSwitchClause"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5434:1: ruleSwitchClause returns [EObject current=null] : ( ( (lv_switchCase_0_0= ruleSwitchCase ) ) ( (lv_switchCase_1_0= ruleSwitchCase ) )* ( (lv_statementSequence_2_0= ruleNonEmptyStatementSequence ) ) ) ;
+ public final EObject ruleSwitchClause() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_switchCase_0_0 = null;
+
+ EObject lv_switchCase_1_0 = null;
+
+ EObject lv_statementSequence_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5437:28: ( ( ( (lv_switchCase_0_0= ruleSwitchCase ) ) ( (lv_switchCase_1_0= ruleSwitchCase ) )* ( (lv_statementSequence_2_0= ruleNonEmptyStatementSequence ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5438:1: ( ( (lv_switchCase_0_0= ruleSwitchCase ) ) ( (lv_switchCase_1_0= ruleSwitchCase ) )* ( (lv_statementSequence_2_0= ruleNonEmptyStatementSequence ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5438:1: ( ( (lv_switchCase_0_0= ruleSwitchCase ) ) ( (lv_switchCase_1_0= ruleSwitchCase ) )* ( (lv_statementSequence_2_0= ruleNonEmptyStatementSequence ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5438:2: ( (lv_switchCase_0_0= ruleSwitchCase ) ) ( (lv_switchCase_1_0= ruleSwitchCase ) )* ( (lv_statementSequence_2_0= ruleNonEmptyStatementSequence ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5438:2: ( (lv_switchCase_0_0= ruleSwitchCase ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5439:1: (lv_switchCase_0_0= ruleSwitchCase )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5439:1: (lv_switchCase_0_0= ruleSwitchCase )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5440:3: lv_switchCase_0_0= ruleSwitchCase
+ {
+
+ newCompositeNode(grammarAccess.getSwitchClauseAccess().getSwitchCaseSwitchCaseParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleSwitchCase_in_ruleSwitchClause11877);
+ lv_switchCase_0_0=ruleSwitchCase();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSwitchClauseRule());
+ }
+ add(
+ current,
+ "switchCase",
+ lv_switchCase_0_0,
+ "SwitchCase");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5456:2: ( (lv_switchCase_1_0= ruleSwitchCase ) )*
+ loop80:
+ do {
+ int alt80=2;
+ int LA80_0 = input.LA(1);
+
+ if ( (LA80_0==75) ) {
+ alt80=1;
+ }
+
+
+ switch (alt80) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5457:1: (lv_switchCase_1_0= ruleSwitchCase )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5457:1: (lv_switchCase_1_0= ruleSwitchCase )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5458:3: lv_switchCase_1_0= ruleSwitchCase
+ {
+
+ newCompositeNode(grammarAccess.getSwitchClauseAccess().getSwitchCaseSwitchCaseParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleSwitchCase_in_ruleSwitchClause11898);
+ lv_switchCase_1_0=ruleSwitchCase();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSwitchClauseRule());
+ }
+ add(
+ current,
+ "switchCase",
+ lv_switchCase_1_0,
+ "SwitchCase");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop80;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5474:3: ( (lv_statementSequence_2_0= ruleNonEmptyStatementSequence ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5475:1: (lv_statementSequence_2_0= ruleNonEmptyStatementSequence )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5475:1: (lv_statementSequence_2_0= ruleNonEmptyStatementSequence )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5476:3: lv_statementSequence_2_0= ruleNonEmptyStatementSequence
+ {
+
+ newCompositeNode(grammarAccess.getSwitchClauseAccess().getStatementSequenceNonEmptyStatementSequenceParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleNonEmptyStatementSequence_in_ruleSwitchClause11920);
+ lv_statementSequence_2_0=ruleNonEmptyStatementSequence();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSwitchClauseRule());
+ }
+ set(
+ current,
+ "statementSequence",
+ lv_statementSequence_2_0,
+ "NonEmptyStatementSequence");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSwitchClause"
+
+
+ // $ANTLR start "entryRuleSwitchCase"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5500:1: entryRuleSwitchCase returns [EObject current=null] : iv_ruleSwitchCase= ruleSwitchCase EOF ;
+ public final EObject entryRuleSwitchCase() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSwitchCase = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5501:2: (iv_ruleSwitchCase= ruleSwitchCase EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5502:2: iv_ruleSwitchCase= ruleSwitchCase EOF
+ {
+ newCompositeNode(grammarAccess.getSwitchCaseRule());
+ pushFollow(FOLLOW_ruleSwitchCase_in_entryRuleSwitchCase11956);
+ iv_ruleSwitchCase=ruleSwitchCase();
+
+ state._fsp--;
+
+ current =iv_ruleSwitchCase;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSwitchCase11966);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSwitchCase"
+
+
+ // $ANTLR start "ruleSwitchCase"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5509:1: ruleSwitchCase returns [EObject current=null] : (otherlv_0= 'case' ( (lv_expression_1_0= ruleExpression ) ) otherlv_2= ':' ) ;
+ public final EObject ruleSwitchCase() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ EObject lv_expression_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5512:28: ( (otherlv_0= 'case' ( (lv_expression_1_0= ruleExpression ) ) otherlv_2= ':' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5513:1: (otherlv_0= 'case' ( (lv_expression_1_0= ruleExpression ) ) otherlv_2= ':' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5513:1: (otherlv_0= 'case' ( (lv_expression_1_0= ruleExpression ) ) otherlv_2= ':' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5513:3: otherlv_0= 'case' ( (lv_expression_1_0= ruleExpression ) ) otherlv_2= ':'
+ {
+ otherlv_0=(Token)match(input,75,FOLLOW_75_in_ruleSwitchCase12003);
+
+ newLeafNode(otherlv_0, grammarAccess.getSwitchCaseAccess().getCaseKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5517:1: ( (lv_expression_1_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5518:1: (lv_expression_1_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5518:1: (lv_expression_1_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5519:3: lv_expression_1_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getSwitchCaseAccess().getExpressionExpressionParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleSwitchCase12024);
+ lv_expression_1_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSwitchCaseRule());
+ }
+ set(
+ current,
+ "expression",
+ lv_expression_1_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_2=(Token)match(input,27,FOLLOW_27_in_ruleSwitchCase12036);
+
+ newLeafNode(otherlv_2, grammarAccess.getSwitchCaseAccess().getColonKeyword_2());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSwitchCase"
+
+
+ // $ANTLR start "entryRuleSwitchDefaultClause"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5547:1: entryRuleSwitchDefaultClause returns [EObject current=null] : iv_ruleSwitchDefaultClause= ruleSwitchDefaultClause EOF ;
+ public final EObject entryRuleSwitchDefaultClause() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSwitchDefaultClause = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5548:2: (iv_ruleSwitchDefaultClause= ruleSwitchDefaultClause EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5549:2: iv_ruleSwitchDefaultClause= ruleSwitchDefaultClause EOF
+ {
+ newCompositeNode(grammarAccess.getSwitchDefaultClauseRule());
+ pushFollow(FOLLOW_ruleSwitchDefaultClause_in_entryRuleSwitchDefaultClause12072);
+ iv_ruleSwitchDefaultClause=ruleSwitchDefaultClause();
+
+ state._fsp--;
+
+ current =iv_ruleSwitchDefaultClause;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSwitchDefaultClause12082);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSwitchDefaultClause"
+
+
+ // $ANTLR start "ruleSwitchDefaultClause"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5556:1: ruleSwitchDefaultClause returns [EObject current=null] : (otherlv_0= 'default' otherlv_1= ':' ( (lv_statementSequence_2_0= ruleNonEmptyStatementSequence ) ) ) ;
+ public final EObject ruleSwitchDefaultClause() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=null;
+ EObject lv_statementSequence_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5559:28: ( (otherlv_0= 'default' otherlv_1= ':' ( (lv_statementSequence_2_0= ruleNonEmptyStatementSequence ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5560:1: (otherlv_0= 'default' otherlv_1= ':' ( (lv_statementSequence_2_0= ruleNonEmptyStatementSequence ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5560:1: (otherlv_0= 'default' otherlv_1= ':' ( (lv_statementSequence_2_0= ruleNonEmptyStatementSequence ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5560:3: otherlv_0= 'default' otherlv_1= ':' ( (lv_statementSequence_2_0= ruleNonEmptyStatementSequence ) )
+ {
+ otherlv_0=(Token)match(input,76,FOLLOW_76_in_ruleSwitchDefaultClause12119);
+
+ newLeafNode(otherlv_0, grammarAccess.getSwitchDefaultClauseAccess().getDefaultKeyword_0());
+
+ otherlv_1=(Token)match(input,27,FOLLOW_27_in_ruleSwitchDefaultClause12131);
+
+ newLeafNode(otherlv_1, grammarAccess.getSwitchDefaultClauseAccess().getColonKeyword_1());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5568:1: ( (lv_statementSequence_2_0= ruleNonEmptyStatementSequence ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5569:1: (lv_statementSequence_2_0= ruleNonEmptyStatementSequence )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5569:1: (lv_statementSequence_2_0= ruleNonEmptyStatementSequence )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5570:3: lv_statementSequence_2_0= ruleNonEmptyStatementSequence
+ {
+
+ newCompositeNode(grammarAccess.getSwitchDefaultClauseAccess().getStatementSequenceNonEmptyStatementSequenceParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleNonEmptyStatementSequence_in_ruleSwitchDefaultClause12152);
+ lv_statementSequence_2_0=ruleNonEmptyStatementSequence();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSwitchDefaultClauseRule());
+ }
+ set(
+ current,
+ "statementSequence",
+ lv_statementSequence_2_0,
+ "NonEmptyStatementSequence");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSwitchDefaultClause"
+
+
+ // $ANTLR start "entryRuleNonEmptyStatementSequence"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5594:1: entryRuleNonEmptyStatementSequence returns [EObject current=null] : iv_ruleNonEmptyStatementSequence= ruleNonEmptyStatementSequence EOF ;
+ public final EObject entryRuleNonEmptyStatementSequence() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNonEmptyStatementSequence = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5595:2: (iv_ruleNonEmptyStatementSequence= ruleNonEmptyStatementSequence EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5596:2: iv_ruleNonEmptyStatementSequence= ruleNonEmptyStatementSequence EOF
+ {
+ newCompositeNode(grammarAccess.getNonEmptyStatementSequenceRule());
+ pushFollow(FOLLOW_ruleNonEmptyStatementSequence_in_entryRuleNonEmptyStatementSequence12188);
+ iv_ruleNonEmptyStatementSequence=ruleNonEmptyStatementSequence();
+
+ state._fsp--;
+
+ current =iv_ruleNonEmptyStatementSequence;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNonEmptyStatementSequence12198);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNonEmptyStatementSequence"
+
+
+ // $ANTLR start "ruleNonEmptyStatementSequence"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5603:1: ruleNonEmptyStatementSequence returns [EObject current=null] : ( (lv_statement_0_0= ruleDocumentedStatement ) )+ ;
+ public final EObject ruleNonEmptyStatementSequence() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_statement_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5606:28: ( ( (lv_statement_0_0= ruleDocumentedStatement ) )+ )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5607:1: ( (lv_statement_0_0= ruleDocumentedStatement ) )+
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5607:1: ( (lv_statement_0_0= ruleDocumentedStatement ) )+
+ int cnt81=0;
+ loop81:
+ do {
+ int alt81=2;
+ int LA81_0 = input.LA(1);
+
+ if ( ((LA81_0>=RULE_ID && LA81_0<=RULE_SL_COMMENT)||(LA81_0>=17 && LA81_0<=18)||(LA81_0>=57 && LA81_0<=60)||LA81_0==64||(LA81_0>=67 && LA81_0<=69)||LA81_0==71||LA81_0==74||(LA81_0>=77 && LA81_0<=79)||(LA81_0>=81 && LA81_0<=84)) ) {
+ alt81=1;
+ }
+
+
+ switch (alt81) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5608:1: (lv_statement_0_0= ruleDocumentedStatement )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5608:1: (lv_statement_0_0= ruleDocumentedStatement )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5609:3: lv_statement_0_0= ruleDocumentedStatement
+ {
+
+ newCompositeNode(grammarAccess.getNonEmptyStatementSequenceAccess().getStatementDocumentedStatementParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleDocumentedStatement_in_ruleNonEmptyStatementSequence12243);
+ lv_statement_0_0=ruleDocumentedStatement();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNonEmptyStatementSequenceRule());
+ }
+ add(
+ current,
+ "statement",
+ lv_statement_0_0,
+ "DocumentedStatement");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt81 >= 1 ) break loop81;
+ EarlyExitException eee =
+ new EarlyExitException(81, input);
+ throw eee;
+ }
+ cnt81++;
+ } while (true);
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNonEmptyStatementSequence"
+
+
+ // $ANTLR start "entryRuleWhileStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5633:1: entryRuleWhileStatement returns [EObject current=null] : iv_ruleWhileStatement= ruleWhileStatement EOF ;
+ public final EObject entryRuleWhileStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleWhileStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5634:2: (iv_ruleWhileStatement= ruleWhileStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5635:2: iv_ruleWhileStatement= ruleWhileStatement EOF
+ {
+ newCompositeNode(grammarAccess.getWhileStatementRule());
+ pushFollow(FOLLOW_ruleWhileStatement_in_entryRuleWhileStatement12279);
+ iv_ruleWhileStatement=ruleWhileStatement();
+
+ state._fsp--;
+
+ current =iv_ruleWhileStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleWhileStatement12289);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleWhileStatement"
+
+
+ // $ANTLR start "ruleWhileStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5642:1: ruleWhileStatement returns [EObject current=null] : (otherlv_0= 'while' otherlv_1= '(' ( (lv_condition_2_0= ruleExpression ) ) otherlv_3= ')' ( (lv_block_4_0= ruleBlock ) ) ) ;
+ public final EObject ruleWhileStatement() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ EObject lv_condition_2_0 = null;
+
+ EObject lv_block_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5645:28: ( (otherlv_0= 'while' otherlv_1= '(' ( (lv_condition_2_0= ruleExpression ) ) otherlv_3= ')' ( (lv_block_4_0= ruleBlock ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5646:1: (otherlv_0= 'while' otherlv_1= '(' ( (lv_condition_2_0= ruleExpression ) ) otherlv_3= ')' ( (lv_block_4_0= ruleBlock ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5646:1: (otherlv_0= 'while' otherlv_1= '(' ( (lv_condition_2_0= ruleExpression ) ) otherlv_3= ')' ( (lv_block_4_0= ruleBlock ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5646:3: otherlv_0= 'while' otherlv_1= '(' ( (lv_condition_2_0= ruleExpression ) ) otherlv_3= ')' ( (lv_block_4_0= ruleBlock ) )
+ {
+ otherlv_0=(Token)match(input,77,FOLLOW_77_in_ruleWhileStatement12326);
+
+ newLeafNode(otherlv_0, grammarAccess.getWhileStatementAccess().getWhileKeyword_0());
+
+ otherlv_1=(Token)match(input,24,FOLLOW_24_in_ruleWhileStatement12338);
+
+ newLeafNode(otherlv_1, grammarAccess.getWhileStatementAccess().getLeftParenthesisKeyword_1());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5654:1: ( (lv_condition_2_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5655:1: (lv_condition_2_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5655:1: (lv_condition_2_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5656:3: lv_condition_2_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getWhileStatementAccess().getConditionExpressionParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleWhileStatement12359);
+ lv_condition_2_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getWhileStatementRule());
+ }
+ set(
+ current,
+ "condition",
+ lv_condition_2_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,25,FOLLOW_25_in_ruleWhileStatement12371);
+
+ newLeafNode(otherlv_3, grammarAccess.getWhileStatementAccess().getRightParenthesisKeyword_3());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5676:1: ( (lv_block_4_0= ruleBlock ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5677:1: (lv_block_4_0= ruleBlock )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5677:1: (lv_block_4_0= ruleBlock )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5678:3: lv_block_4_0= ruleBlock
+ {
+
+ newCompositeNode(grammarAccess.getWhileStatementAccess().getBlockBlockParserRuleCall_4_0());
+
+ pushFollow(FOLLOW_ruleBlock_in_ruleWhileStatement12392);
+ lv_block_4_0=ruleBlock();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getWhileStatementRule());
+ }
+ set(
+ current,
+ "block",
+ lv_block_4_0,
+ "Block");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleWhileStatement"
+
+
+ // $ANTLR start "entryRuleDoStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5702:1: entryRuleDoStatement returns [EObject current=null] : iv_ruleDoStatement= ruleDoStatement EOF ;
+ public final EObject entryRuleDoStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleDoStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5703:2: (iv_ruleDoStatement= ruleDoStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5704:2: iv_ruleDoStatement= ruleDoStatement EOF
+ {
+ newCompositeNode(grammarAccess.getDoStatementRule());
+ pushFollow(FOLLOW_ruleDoStatement_in_entryRuleDoStatement12428);
+ iv_ruleDoStatement=ruleDoStatement();
+
+ state._fsp--;
+
+ current =iv_ruleDoStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleDoStatement12438);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleDoStatement"
+
+
+ // $ANTLR start "ruleDoStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5711:1: ruleDoStatement returns [EObject current=null] : (otherlv_0= 'do' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'while' otherlv_3= '(' ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= ')' otherlv_6= ';' ) ;
+ public final EObject ruleDoStatement() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ Token otherlv_6=null;
+ EObject lv_block_1_0 = null;
+
+ EObject lv_condition_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5714:28: ( (otherlv_0= 'do' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'while' otherlv_3= '(' ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= ')' otherlv_6= ';' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5715:1: (otherlv_0= 'do' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'while' otherlv_3= '(' ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= ')' otherlv_6= ';' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5715:1: (otherlv_0= 'do' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'while' otherlv_3= '(' ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= ')' otherlv_6= ';' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5715:3: otherlv_0= 'do' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'while' otherlv_3= '(' ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= ')' otherlv_6= ';'
+ {
+ otherlv_0=(Token)match(input,78,FOLLOW_78_in_ruleDoStatement12475);
+
+ newLeafNode(otherlv_0, grammarAccess.getDoStatementAccess().getDoKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5719:1: ( (lv_block_1_0= ruleBlock ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5720:1: (lv_block_1_0= ruleBlock )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5720:1: (lv_block_1_0= ruleBlock )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5721:3: lv_block_1_0= ruleBlock
+ {
+
+ newCompositeNode(grammarAccess.getDoStatementAccess().getBlockBlockParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleBlock_in_ruleDoStatement12496);
+ lv_block_1_0=ruleBlock();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getDoStatementRule());
+ }
+ set(
+ current,
+ "block",
+ lv_block_1_0,
+ "Block");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_2=(Token)match(input,77,FOLLOW_77_in_ruleDoStatement12508);
+
+ newLeafNode(otherlv_2, grammarAccess.getDoStatementAccess().getWhileKeyword_2());
+
+ otherlv_3=(Token)match(input,24,FOLLOW_24_in_ruleDoStatement12520);
+
+ newLeafNode(otherlv_3, grammarAccess.getDoStatementAccess().getLeftParenthesisKeyword_3());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5745:1: ( (lv_condition_4_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5746:1: (lv_condition_4_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5746:1: (lv_condition_4_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5747:3: lv_condition_4_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getDoStatementAccess().getConditionExpressionParserRuleCall_4_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleDoStatement12541);
+ lv_condition_4_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getDoStatementRule());
+ }
+ set(
+ current,
+ "condition",
+ lv_condition_4_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_5=(Token)match(input,25,FOLLOW_25_in_ruleDoStatement12553);
+
+ newLeafNode(otherlv_5, grammarAccess.getDoStatementAccess().getRightParenthesisKeyword_5());
+
+ otherlv_6=(Token)match(input,68,FOLLOW_68_in_ruleDoStatement12565);
+
+ newLeafNode(otherlv_6, grammarAccess.getDoStatementAccess().getSemicolonKeyword_6());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleDoStatement"
+
+
+ // $ANTLR start "entryRuleForStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5779:1: entryRuleForStatement returns [EObject current=null] : iv_ruleForStatement= ruleForStatement EOF ;
+ public final EObject entryRuleForStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleForStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5780:2: (iv_ruleForStatement= ruleForStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5781:2: iv_ruleForStatement= ruleForStatement EOF
+ {
+ newCompositeNode(grammarAccess.getForStatementRule());
+ pushFollow(FOLLOW_ruleForStatement_in_entryRuleForStatement12601);
+ iv_ruleForStatement=ruleForStatement();
+
+ state._fsp--;
+
+ current =iv_ruleForStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleForStatement12611);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleForStatement"
+
+
+ // $ANTLR start "ruleForStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5788:1: ruleForStatement returns [EObject current=null] : (otherlv_0= 'for' otherlv_1= '(' ( (lv_control_2_0= ruleForControl ) ) otherlv_3= ')' ( (lv_block_4_0= ruleBlock ) ) ) ;
+ public final EObject ruleForStatement() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ EObject lv_control_2_0 = null;
+
+ EObject lv_block_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5791:28: ( (otherlv_0= 'for' otherlv_1= '(' ( (lv_control_2_0= ruleForControl ) ) otherlv_3= ')' ( (lv_block_4_0= ruleBlock ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5792:1: (otherlv_0= 'for' otherlv_1= '(' ( (lv_control_2_0= ruleForControl ) ) otherlv_3= ')' ( (lv_block_4_0= ruleBlock ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5792:1: (otherlv_0= 'for' otherlv_1= '(' ( (lv_control_2_0= ruleForControl ) ) otherlv_3= ')' ( (lv_block_4_0= ruleBlock ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5792:3: otherlv_0= 'for' otherlv_1= '(' ( (lv_control_2_0= ruleForControl ) ) otherlv_3= ')' ( (lv_block_4_0= ruleBlock ) )
+ {
+ otherlv_0=(Token)match(input,79,FOLLOW_79_in_ruleForStatement12648);
+
+ newLeafNode(otherlv_0, grammarAccess.getForStatementAccess().getForKeyword_0());
+
+ otherlv_1=(Token)match(input,24,FOLLOW_24_in_ruleForStatement12660);
+
+ newLeafNode(otherlv_1, grammarAccess.getForStatementAccess().getLeftParenthesisKeyword_1());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5800:1: ( (lv_control_2_0= ruleForControl ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5801:1: (lv_control_2_0= ruleForControl )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5801:1: (lv_control_2_0= ruleForControl )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5802:3: lv_control_2_0= ruleForControl
+ {
+
+ newCompositeNode(grammarAccess.getForStatementAccess().getControlForControlParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleForControl_in_ruleForStatement12681);
+ lv_control_2_0=ruleForControl();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getForStatementRule());
+ }
+ set(
+ current,
+ "control",
+ lv_control_2_0,
+ "ForControl");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,25,FOLLOW_25_in_ruleForStatement12693);
+
+ newLeafNode(otherlv_3, grammarAccess.getForStatementAccess().getRightParenthesisKeyword_3());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5822:1: ( (lv_block_4_0= ruleBlock ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5823:1: (lv_block_4_0= ruleBlock )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5823:1: (lv_block_4_0= ruleBlock )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5824:3: lv_block_4_0= ruleBlock
+ {
+
+ newCompositeNode(grammarAccess.getForStatementAccess().getBlockBlockParserRuleCall_4_0());
+
+ pushFollow(FOLLOW_ruleBlock_in_ruleForStatement12714);
+ lv_block_4_0=ruleBlock();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getForStatementRule());
+ }
+ set(
+ current,
+ "block",
+ lv_block_4_0,
+ "Block");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleForStatement"
+
+
+ // $ANTLR start "entryRuleForControl"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5848:1: entryRuleForControl returns [EObject current=null] : iv_ruleForControl= ruleForControl EOF ;
+ public final EObject entryRuleForControl() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleForControl = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5849:2: (iv_ruleForControl= ruleForControl EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5850:2: iv_ruleForControl= ruleForControl EOF
+ {
+ newCompositeNode(grammarAccess.getForControlRule());
+ pushFollow(FOLLOW_ruleForControl_in_entryRuleForControl12750);
+ iv_ruleForControl=ruleForControl();
+
+ state._fsp--;
+
+ current =iv_ruleForControl;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleForControl12760);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleForControl"
+
+
+ // $ANTLR start "ruleForControl"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5857:1: ruleForControl returns [EObject current=null] : ( ( (lv_loopVariableDefinition_0_0= ruleLoopVariableDefinition ) ) (otherlv_1= ',' ( (lv_loopVariableDefinition_2_0= ruleLoopVariableDefinition ) ) )* ) ;
+ public final EObject ruleForControl() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ EObject lv_loopVariableDefinition_0_0 = null;
+
+ EObject lv_loopVariableDefinition_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5860:28: ( ( ( (lv_loopVariableDefinition_0_0= ruleLoopVariableDefinition ) ) (otherlv_1= ',' ( (lv_loopVariableDefinition_2_0= ruleLoopVariableDefinition ) ) )* ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5861:1: ( ( (lv_loopVariableDefinition_0_0= ruleLoopVariableDefinition ) ) (otherlv_1= ',' ( (lv_loopVariableDefinition_2_0= ruleLoopVariableDefinition ) ) )* )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5861:1: ( ( (lv_loopVariableDefinition_0_0= ruleLoopVariableDefinition ) ) (otherlv_1= ',' ( (lv_loopVariableDefinition_2_0= ruleLoopVariableDefinition ) ) )* )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5861:2: ( (lv_loopVariableDefinition_0_0= ruleLoopVariableDefinition ) ) (otherlv_1= ',' ( (lv_loopVariableDefinition_2_0= ruleLoopVariableDefinition ) ) )*
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5861:2: ( (lv_loopVariableDefinition_0_0= ruleLoopVariableDefinition ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5862:1: (lv_loopVariableDefinition_0_0= ruleLoopVariableDefinition )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5862:1: (lv_loopVariableDefinition_0_0= ruleLoopVariableDefinition )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5863:3: lv_loopVariableDefinition_0_0= ruleLoopVariableDefinition
+ {
+
+ newCompositeNode(grammarAccess.getForControlAccess().getLoopVariableDefinitionLoopVariableDefinitionParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleLoopVariableDefinition_in_ruleForControl12806);
+ lv_loopVariableDefinition_0_0=ruleLoopVariableDefinition();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getForControlRule());
+ }
+ add(
+ current,
+ "loopVariableDefinition",
+ lv_loopVariableDefinition_0_0,
+ "LoopVariableDefinition");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5879:2: (otherlv_1= ',' ( (lv_loopVariableDefinition_2_0= ruleLoopVariableDefinition ) ) )*
+ loop82:
+ do {
+ int alt82=2;
+ int LA82_0 = input.LA(1);
+
+ if ( (LA82_0==21) ) {
+ alt82=1;
+ }
+
+
+ switch (alt82) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5879:4: otherlv_1= ',' ( (lv_loopVariableDefinition_2_0= ruleLoopVariableDefinition ) )
+ {
+ otherlv_1=(Token)match(input,21,FOLLOW_21_in_ruleForControl12819);
+
+ newLeafNode(otherlv_1, grammarAccess.getForControlAccess().getCommaKeyword_1_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5883:1: ( (lv_loopVariableDefinition_2_0= ruleLoopVariableDefinition ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5884:1: (lv_loopVariableDefinition_2_0= ruleLoopVariableDefinition )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5884:1: (lv_loopVariableDefinition_2_0= ruleLoopVariableDefinition )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5885:3: lv_loopVariableDefinition_2_0= ruleLoopVariableDefinition
+ {
+
+ newCompositeNode(grammarAccess.getForControlAccess().getLoopVariableDefinitionLoopVariableDefinitionParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleLoopVariableDefinition_in_ruleForControl12840);
+ lv_loopVariableDefinition_2_0=ruleLoopVariableDefinition();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getForControlRule());
+ }
+ add(
+ current,
+ "loopVariableDefinition",
+ lv_loopVariableDefinition_2_0,
+ "LoopVariableDefinition");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop82;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleForControl"
+
+
+ // $ANTLR start "entryRuleLoopVariableDefinition"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5909:1: entryRuleLoopVariableDefinition returns [EObject current=null] : iv_ruleLoopVariableDefinition= ruleLoopVariableDefinition EOF ;
+ public final EObject entryRuleLoopVariableDefinition() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleLoopVariableDefinition = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5910:2: (iv_ruleLoopVariableDefinition= ruleLoopVariableDefinition EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5911:2: iv_ruleLoopVariableDefinition= ruleLoopVariableDefinition EOF
+ {
+ newCompositeNode(grammarAccess.getLoopVariableDefinitionRule());
+ pushFollow(FOLLOW_ruleLoopVariableDefinition_in_entryRuleLoopVariableDefinition12878);
+ iv_ruleLoopVariableDefinition=ruleLoopVariableDefinition();
+
+ state._fsp--;
+
+ current =iv_ruleLoopVariableDefinition;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleLoopVariableDefinition12888);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleLoopVariableDefinition"
+
+
+ // $ANTLR start "ruleLoopVariableDefinition"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5918:1: ruleLoopVariableDefinition returns [EObject current=null] : ( ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'in' ( (lv_expression1_2_0= ruleExpression ) ) (otherlv_3= '..' ( (lv_expression2_4_0= ruleExpression ) ) )? ) | ( ( (lv_type_5_0= ruleQualifiedNameWithBinding ) ) ( (lv_name_6_0= RULE_ID ) ) otherlv_7= ':' ( (lv_expression_8_0= ruleExpression ) ) ) ) ;
+ public final EObject ruleLoopVariableDefinition() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_name_0_0=null;
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ Token lv_name_6_0=null;
+ Token otherlv_7=null;
+ EObject lv_expression1_2_0 = null;
+
+ EObject lv_expression2_4_0 = null;
+
+ EObject lv_type_5_0 = null;
+
+ EObject lv_expression_8_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5921:28: ( ( ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'in' ( (lv_expression1_2_0= ruleExpression ) ) (otherlv_3= '..' ( (lv_expression2_4_0= ruleExpression ) ) )? ) | ( ( (lv_type_5_0= ruleQualifiedNameWithBinding ) ) ( (lv_name_6_0= RULE_ID ) ) otherlv_7= ':' ( (lv_expression_8_0= ruleExpression ) ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5922:1: ( ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'in' ( (lv_expression1_2_0= ruleExpression ) ) (otherlv_3= '..' ( (lv_expression2_4_0= ruleExpression ) ) )? ) | ( ( (lv_type_5_0= ruleQualifiedNameWithBinding ) ) ( (lv_name_6_0= RULE_ID ) ) otherlv_7= ':' ( (lv_expression_8_0= ruleExpression ) ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5922:1: ( ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'in' ( (lv_expression1_2_0= ruleExpression ) ) (otherlv_3= '..' ( (lv_expression2_4_0= ruleExpression ) ) )? ) | ( ( (lv_type_5_0= ruleQualifiedNameWithBinding ) ) ( (lv_name_6_0= RULE_ID ) ) otherlv_7= ':' ( (lv_expression_8_0= ruleExpression ) ) ) )
+ int alt84=2;
+ int LA84_0 = input.LA(1);
+
+ if ( (LA84_0==RULE_ID) ) {
+ int LA84_1 = input.LA(2);
+
+ if ( (LA84_1==80) ) {
+ alt84=1;
+ }
+ else if ( (LA84_1==RULE_ID||(LA84_1>=19 && LA84_1<=20)) ) {
+ alt84=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 84, 1, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 84, 0, input);
+
+ throw nvae;
+ }
+ switch (alt84) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5922:2: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'in' ( (lv_expression1_2_0= ruleExpression ) ) (otherlv_3= '..' ( (lv_expression2_4_0= ruleExpression ) ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5922:2: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'in' ( (lv_expression1_2_0= ruleExpression ) ) (otherlv_3= '..' ( (lv_expression2_4_0= ruleExpression ) ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5922:3: ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'in' ( (lv_expression1_2_0= ruleExpression ) ) (otherlv_3= '..' ( (lv_expression2_4_0= ruleExpression ) ) )?
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5922:3: ( (lv_name_0_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5923:1: (lv_name_0_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5923:1: (lv_name_0_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5924:3: lv_name_0_0= RULE_ID
+ {
+ lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleLoopVariableDefinition12931);
+
+ newLeafNode(lv_name_0_0, grammarAccess.getLoopVariableDefinitionAccess().getNameIDTerminalRuleCall_0_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getLoopVariableDefinitionRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_0_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,80,FOLLOW_80_in_ruleLoopVariableDefinition12948);
+
+ newLeafNode(otherlv_1, grammarAccess.getLoopVariableDefinitionAccess().getInKeyword_0_1());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5944:1: ( (lv_expression1_2_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5945:1: (lv_expression1_2_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5945:1: (lv_expression1_2_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5946:3: lv_expression1_2_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getLoopVariableDefinitionAccess().getExpression1ExpressionParserRuleCall_0_2_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleLoopVariableDefinition12969);
+ lv_expression1_2_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLoopVariableDefinitionRule());
+ }
+ set(
+ current,
+ "expression1",
+ lv_expression1_2_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5962:2: (otherlv_3= '..' ( (lv_expression2_4_0= ruleExpression ) ) )?
+ int alt83=2;
+ int LA83_0 = input.LA(1);
+
+ if ( (LA83_0==61) ) {
+ alt83=1;
+ }
+ switch (alt83) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5962:4: otherlv_3= '..' ( (lv_expression2_4_0= ruleExpression ) )
+ {
+ otherlv_3=(Token)match(input,61,FOLLOW_61_in_ruleLoopVariableDefinition12982);
+
+ newLeafNode(otherlv_3, grammarAccess.getLoopVariableDefinitionAccess().getFullStopFullStopKeyword_0_3_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5966:1: ( (lv_expression2_4_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5967:1: (lv_expression2_4_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5967:1: (lv_expression2_4_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5968:3: lv_expression2_4_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getLoopVariableDefinitionAccess().getExpression2ExpressionParserRuleCall_0_3_1_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleLoopVariableDefinition13003);
+ lv_expression2_4_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLoopVariableDefinitionRule());
+ }
+ set(
+ current,
+ "expression2",
+ lv_expression2_4_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5985:6: ( ( (lv_type_5_0= ruleQualifiedNameWithBinding ) ) ( (lv_name_6_0= RULE_ID ) ) otherlv_7= ':' ( (lv_expression_8_0= ruleExpression ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5985:6: ( ( (lv_type_5_0= ruleQualifiedNameWithBinding ) ) ( (lv_name_6_0= RULE_ID ) ) otherlv_7= ':' ( (lv_expression_8_0= ruleExpression ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5985:7: ( (lv_type_5_0= ruleQualifiedNameWithBinding ) ) ( (lv_name_6_0= RULE_ID ) ) otherlv_7= ':' ( (lv_expression_8_0= ruleExpression ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5985:7: ( (lv_type_5_0= ruleQualifiedNameWithBinding ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5986:1: (lv_type_5_0= ruleQualifiedNameWithBinding )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5986:1: (lv_type_5_0= ruleQualifiedNameWithBinding )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:5987:3: lv_type_5_0= ruleQualifiedNameWithBinding
+ {
+
+ newCompositeNode(grammarAccess.getLoopVariableDefinitionAccess().getTypeQualifiedNameWithBindingParserRuleCall_1_0_0());
+
+ pushFollow(FOLLOW_ruleQualifiedNameWithBinding_in_ruleLoopVariableDefinition13034);
+ lv_type_5_0=ruleQualifiedNameWithBinding();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLoopVariableDefinitionRule());
+ }
+ set(
+ current,
+ "type",
+ lv_type_5_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6003:2: ( (lv_name_6_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6004:1: (lv_name_6_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6004:1: (lv_name_6_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6005:3: lv_name_6_0= RULE_ID
+ {
+ lv_name_6_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleLoopVariableDefinition13051);
+
+ newLeafNode(lv_name_6_0, grammarAccess.getLoopVariableDefinitionAccess().getNameIDTerminalRuleCall_1_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getLoopVariableDefinitionRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_6_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ otherlv_7=(Token)match(input,27,FOLLOW_27_in_ruleLoopVariableDefinition13068);
+
+ newLeafNode(otherlv_7, grammarAccess.getLoopVariableDefinitionAccess().getColonKeyword_1_2());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6025:1: ( (lv_expression_8_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6026:1: (lv_expression_8_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6026:1: (lv_expression_8_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6027:3: lv_expression_8_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getLoopVariableDefinitionAccess().getExpressionExpressionParserRuleCall_1_3_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleLoopVariableDefinition13089);
+ lv_expression_8_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLoopVariableDefinitionRule());
+ }
+ set(
+ current,
+ "expression",
+ lv_expression_8_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleLoopVariableDefinition"
+
+
+ // $ANTLR start "entryRuleBreakStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6051:1: entryRuleBreakStatement returns [EObject current=null] : iv_ruleBreakStatement= ruleBreakStatement EOF ;
+ public final EObject entryRuleBreakStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleBreakStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6052:2: (iv_ruleBreakStatement= ruleBreakStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6053:2: iv_ruleBreakStatement= ruleBreakStatement EOF
+ {
+ newCompositeNode(grammarAccess.getBreakStatementRule());
+ pushFollow(FOLLOW_ruleBreakStatement_in_entryRuleBreakStatement13126);
+ iv_ruleBreakStatement=ruleBreakStatement();
+
+ state._fsp--;
+
+ current =iv_ruleBreakStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleBreakStatement13136);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleBreakStatement"
+
+
+ // $ANTLR start "ruleBreakStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6060:1: ruleBreakStatement returns [EObject current=null] : ( () otherlv_1= 'break' otherlv_2= ';' ) ;
+ public final EObject ruleBreakStatement() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_2=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6063:28: ( ( () otherlv_1= 'break' otherlv_2= ';' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6064:1: ( () otherlv_1= 'break' otherlv_2= ';' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6064:1: ( () otherlv_1= 'break' otherlv_2= ';' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6064:2: () otherlv_1= 'break' otherlv_2= ';'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6064:2: ()
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6065:5:
+ {
+
+ current = forceCreateModelElement(
+ grammarAccess.getBreakStatementAccess().getBreakStatementAction_0(),
+ current);
+
+
+ }
+
+ otherlv_1=(Token)match(input,81,FOLLOW_81_in_ruleBreakStatement13182);
+
+ newLeafNode(otherlv_1, grammarAccess.getBreakStatementAccess().getBreakKeyword_1());
+
+ otherlv_2=(Token)match(input,68,FOLLOW_68_in_ruleBreakStatement13194);
+
+ newLeafNode(otherlv_2, grammarAccess.getBreakStatementAccess().getSemicolonKeyword_2());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleBreakStatement"
+
+
+ // $ANTLR start "entryRuleReturnStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6086:1: entryRuleReturnStatement returns [EObject current=null] : iv_ruleReturnStatement= ruleReturnStatement EOF ;
+ public final EObject entryRuleReturnStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleReturnStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6087:2: (iv_ruleReturnStatement= ruleReturnStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6088:2: iv_ruleReturnStatement= ruleReturnStatement EOF
+ {
+ newCompositeNode(grammarAccess.getReturnStatementRule());
+ pushFollow(FOLLOW_ruleReturnStatement_in_entryRuleReturnStatement13230);
+ iv_ruleReturnStatement=ruleReturnStatement();
+
+ state._fsp--;
+
+ current =iv_ruleReturnStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleReturnStatement13240);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleReturnStatement"
+
+
+ // $ANTLR start "ruleReturnStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6095:1: ruleReturnStatement returns [EObject current=null] : (otherlv_0= 'return' ( (lv_expression_1_0= ruleExpression ) ) otherlv_2= ';' ) ;
+ public final EObject ruleReturnStatement() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ EObject lv_expression_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6098:28: ( (otherlv_0= 'return' ( (lv_expression_1_0= ruleExpression ) ) otherlv_2= ';' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6099:1: (otherlv_0= 'return' ( (lv_expression_1_0= ruleExpression ) ) otherlv_2= ';' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6099:1: (otherlv_0= 'return' ( (lv_expression_1_0= ruleExpression ) ) otherlv_2= ';' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6099:3: otherlv_0= 'return' ( (lv_expression_1_0= ruleExpression ) ) otherlv_2= ';'
+ {
+ otherlv_0=(Token)match(input,82,FOLLOW_82_in_ruleReturnStatement13277);
+
+ newLeafNode(otherlv_0, grammarAccess.getReturnStatementAccess().getReturnKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6103:1: ( (lv_expression_1_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6104:1: (lv_expression_1_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6104:1: (lv_expression_1_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6105:3: lv_expression_1_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getReturnStatementAccess().getExpressionExpressionParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleReturnStatement13298);
+ lv_expression_1_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getReturnStatementRule());
+ }
+ set(
+ current,
+ "expression",
+ lv_expression_1_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_2=(Token)match(input,68,FOLLOW_68_in_ruleReturnStatement13310);
+
+ newLeafNode(otherlv_2, grammarAccess.getReturnStatementAccess().getSemicolonKeyword_2());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleReturnStatement"
+
+
+ // $ANTLR start "entryRuleAcceptStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6133:1: entryRuleAcceptStatement returns [EObject current=null] : iv_ruleAcceptStatement= ruleAcceptStatement EOF ;
+ public final EObject entryRuleAcceptStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleAcceptStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6134:2: (iv_ruleAcceptStatement= ruleAcceptStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6135:2: iv_ruleAcceptStatement= ruleAcceptStatement EOF
+ {
+ newCompositeNode(grammarAccess.getAcceptStatementRule());
+ pushFollow(FOLLOW_ruleAcceptStatement_in_entryRuleAcceptStatement13346);
+ iv_ruleAcceptStatement=ruleAcceptStatement();
+
+ state._fsp--;
+
+ current =iv_ruleAcceptStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAcceptStatement13356);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleAcceptStatement"
+
+
+ // $ANTLR start "ruleAcceptStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6142:1: ruleAcceptStatement returns [EObject current=null] : ( ( (lv_clause_0_0= ruleAcceptClause ) ) ( ( (lv_simpleAccept_1_0= ruleSimpleAcceptStatementCompletion ) ) | ( (lv_compoundAccept_2_0= ruleCompoundAcceptStatementCompletion ) ) ) ) ;
+ public final EObject ruleAcceptStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_clause_0_0 = null;
+
+ EObject lv_simpleAccept_1_0 = null;
+
+ EObject lv_compoundAccept_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6145:28: ( ( ( (lv_clause_0_0= ruleAcceptClause ) ) ( ( (lv_simpleAccept_1_0= ruleSimpleAcceptStatementCompletion ) ) | ( (lv_compoundAccept_2_0= ruleCompoundAcceptStatementCompletion ) ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6146:1: ( ( (lv_clause_0_0= ruleAcceptClause ) ) ( ( (lv_simpleAccept_1_0= ruleSimpleAcceptStatementCompletion ) ) | ( (lv_compoundAccept_2_0= ruleCompoundAcceptStatementCompletion ) ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6146:1: ( ( (lv_clause_0_0= ruleAcceptClause ) ) ( ( (lv_simpleAccept_1_0= ruleSimpleAcceptStatementCompletion ) ) | ( (lv_compoundAccept_2_0= ruleCompoundAcceptStatementCompletion ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6146:2: ( (lv_clause_0_0= ruleAcceptClause ) ) ( ( (lv_simpleAccept_1_0= ruleSimpleAcceptStatementCompletion ) ) | ( (lv_compoundAccept_2_0= ruleCompoundAcceptStatementCompletion ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6146:2: ( (lv_clause_0_0= ruleAcceptClause ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6147:1: (lv_clause_0_0= ruleAcceptClause )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6147:1: (lv_clause_0_0= ruleAcceptClause )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6148:3: lv_clause_0_0= ruleAcceptClause
+ {
+
+ newCompositeNode(grammarAccess.getAcceptStatementAccess().getClauseAcceptClauseParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleAcceptClause_in_ruleAcceptStatement13402);
+ lv_clause_0_0=ruleAcceptClause();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAcceptStatementRule());
+ }
+ set(
+ current,
+ "clause",
+ lv_clause_0_0,
+ "AcceptClause");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6164:2: ( ( (lv_simpleAccept_1_0= ruleSimpleAcceptStatementCompletion ) ) | ( (lv_compoundAccept_2_0= ruleCompoundAcceptStatementCompletion ) ) )
+ int alt85=2;
+ int LA85_0 = input.LA(1);
+
+ if ( (LA85_0==68) ) {
+ alt85=1;
+ }
+ else if ( (LA85_0==60) ) {
+ alt85=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 85, 0, input);
+
+ throw nvae;
+ }
+ switch (alt85) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6164:3: ( (lv_simpleAccept_1_0= ruleSimpleAcceptStatementCompletion ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6164:3: ( (lv_simpleAccept_1_0= ruleSimpleAcceptStatementCompletion ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6165:1: (lv_simpleAccept_1_0= ruleSimpleAcceptStatementCompletion )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6165:1: (lv_simpleAccept_1_0= ruleSimpleAcceptStatementCompletion )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6166:3: lv_simpleAccept_1_0= ruleSimpleAcceptStatementCompletion
+ {
+
+ newCompositeNode(grammarAccess.getAcceptStatementAccess().getSimpleAcceptSimpleAcceptStatementCompletionParserRuleCall_1_0_0());
+
+ pushFollow(FOLLOW_ruleSimpleAcceptStatementCompletion_in_ruleAcceptStatement13424);
+ lv_simpleAccept_1_0=ruleSimpleAcceptStatementCompletion();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAcceptStatementRule());
+ }
+ set(
+ current,
+ "simpleAccept",
+ lv_simpleAccept_1_0,
+ "SimpleAcceptStatementCompletion");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6183:6: ( (lv_compoundAccept_2_0= ruleCompoundAcceptStatementCompletion ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6183:6: ( (lv_compoundAccept_2_0= ruleCompoundAcceptStatementCompletion ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6184:1: (lv_compoundAccept_2_0= ruleCompoundAcceptStatementCompletion )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6184:1: (lv_compoundAccept_2_0= ruleCompoundAcceptStatementCompletion )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6185:3: lv_compoundAccept_2_0= ruleCompoundAcceptStatementCompletion
+ {
+
+ newCompositeNode(grammarAccess.getAcceptStatementAccess().getCompoundAcceptCompoundAcceptStatementCompletionParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleCompoundAcceptStatementCompletion_in_ruleAcceptStatement13451);
+ lv_compoundAccept_2_0=ruleCompoundAcceptStatementCompletion();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAcceptStatementRule());
+ }
+ set(
+ current,
+ "compoundAccept",
+ lv_compoundAccept_2_0,
+ "CompoundAcceptStatementCompletion");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleAcceptStatement"
+
+
+ // $ANTLR start "entryRuleSimpleAcceptStatementCompletion"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6209:1: entryRuleSimpleAcceptStatementCompletion returns [EObject current=null] : iv_ruleSimpleAcceptStatementCompletion= ruleSimpleAcceptStatementCompletion EOF ;
+ public final EObject entryRuleSimpleAcceptStatementCompletion() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSimpleAcceptStatementCompletion = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6210:2: (iv_ruleSimpleAcceptStatementCompletion= ruleSimpleAcceptStatementCompletion EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6211:2: iv_ruleSimpleAcceptStatementCompletion= ruleSimpleAcceptStatementCompletion EOF
+ {
+ newCompositeNode(grammarAccess.getSimpleAcceptStatementCompletionRule());
+ pushFollow(FOLLOW_ruleSimpleAcceptStatementCompletion_in_entryRuleSimpleAcceptStatementCompletion13488);
+ iv_ruleSimpleAcceptStatementCompletion=ruleSimpleAcceptStatementCompletion();
+
+ state._fsp--;
+
+ current =iv_ruleSimpleAcceptStatementCompletion;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSimpleAcceptStatementCompletion13498);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSimpleAcceptStatementCompletion"
+
+
+ // $ANTLR start "ruleSimpleAcceptStatementCompletion"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6218:1: ruleSimpleAcceptStatementCompletion returns [EObject current=null] : ( () otherlv_1= ';' ) ;
+ public final EObject ruleSimpleAcceptStatementCompletion() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6221:28: ( ( () otherlv_1= ';' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6222:1: ( () otherlv_1= ';' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6222:1: ( () otherlv_1= ';' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6222:2: () otherlv_1= ';'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6222:2: ()
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6223:5:
+ {
+
+ current = forceCreateModelElement(
+ grammarAccess.getSimpleAcceptStatementCompletionAccess().getSimpleAcceptStatementCompletionAction_0(),
+ current);
+
+
+ }
+
+ otherlv_1=(Token)match(input,68,FOLLOW_68_in_ruleSimpleAcceptStatementCompletion13544);
+
+ newLeafNode(otherlv_1, grammarAccess.getSimpleAcceptStatementCompletionAccess().getSemicolonKeyword_1());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSimpleAcceptStatementCompletion"
+
+
+ // $ANTLR start "entryRuleCompoundAcceptStatementCompletion"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6240:1: entryRuleCompoundAcceptStatementCompletion returns [EObject current=null] : iv_ruleCompoundAcceptStatementCompletion= ruleCompoundAcceptStatementCompletion EOF ;
+ public final EObject entryRuleCompoundAcceptStatementCompletion() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleCompoundAcceptStatementCompletion = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6241:2: (iv_ruleCompoundAcceptStatementCompletion= ruleCompoundAcceptStatementCompletion EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6242:2: iv_ruleCompoundAcceptStatementCompletion= ruleCompoundAcceptStatementCompletion EOF
+ {
+ newCompositeNode(grammarAccess.getCompoundAcceptStatementCompletionRule());
+ pushFollow(FOLLOW_ruleCompoundAcceptStatementCompletion_in_entryRuleCompoundAcceptStatementCompletion13580);
+ iv_ruleCompoundAcceptStatementCompletion=ruleCompoundAcceptStatementCompletion();
+
+ state._fsp--;
+
+ current =iv_ruleCompoundAcceptStatementCompletion;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleCompoundAcceptStatementCompletion13590);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleCompoundAcceptStatementCompletion"
+
+
+ // $ANTLR start "ruleCompoundAcceptStatementCompletion"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6249:1: ruleCompoundAcceptStatementCompletion returns [EObject current=null] : ( ( (lv_block_0_0= ruleBlock ) ) (otherlv_1= 'or' ( (lv_acceptBlock_2_0= ruleAcceptBlock ) ) )* ) ;
+ public final EObject ruleCompoundAcceptStatementCompletion() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ EObject lv_block_0_0 = null;
+
+ EObject lv_acceptBlock_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6252:28: ( ( ( (lv_block_0_0= ruleBlock ) ) (otherlv_1= 'or' ( (lv_acceptBlock_2_0= ruleAcceptBlock ) ) )* ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6253:1: ( ( (lv_block_0_0= ruleBlock ) ) (otherlv_1= 'or' ( (lv_acceptBlock_2_0= ruleAcceptBlock ) ) )* )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6253:1: ( ( (lv_block_0_0= ruleBlock ) ) (otherlv_1= 'or' ( (lv_acceptBlock_2_0= ruleAcceptBlock ) ) )* )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6253:2: ( (lv_block_0_0= ruleBlock ) ) (otherlv_1= 'or' ( (lv_acceptBlock_2_0= ruleAcceptBlock ) ) )*
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6253:2: ( (lv_block_0_0= ruleBlock ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6254:1: (lv_block_0_0= ruleBlock )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6254:1: (lv_block_0_0= ruleBlock )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6255:3: lv_block_0_0= ruleBlock
+ {
+
+ newCompositeNode(grammarAccess.getCompoundAcceptStatementCompletionAccess().getBlockBlockParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleBlock_in_ruleCompoundAcceptStatementCompletion13636);
+ lv_block_0_0=ruleBlock();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCompoundAcceptStatementCompletionRule());
+ }
+ set(
+ current,
+ "block",
+ lv_block_0_0,
+ "Block");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6271:2: (otherlv_1= 'or' ( (lv_acceptBlock_2_0= ruleAcceptBlock ) ) )*
+ loop86:
+ do {
+ int alt86=2;
+ int LA86_0 = input.LA(1);
+
+ if ( (LA86_0==73) ) {
+ alt86=1;
+ }
+
+
+ switch (alt86) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6271:4: otherlv_1= 'or' ( (lv_acceptBlock_2_0= ruleAcceptBlock ) )
+ {
+ otherlv_1=(Token)match(input,73,FOLLOW_73_in_ruleCompoundAcceptStatementCompletion13649);
+
+ newLeafNode(otherlv_1, grammarAccess.getCompoundAcceptStatementCompletionAccess().getOrKeyword_1_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6275:1: ( (lv_acceptBlock_2_0= ruleAcceptBlock ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6276:1: (lv_acceptBlock_2_0= ruleAcceptBlock )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6276:1: (lv_acceptBlock_2_0= ruleAcceptBlock )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6277:3: lv_acceptBlock_2_0= ruleAcceptBlock
+ {
+
+ newCompositeNode(grammarAccess.getCompoundAcceptStatementCompletionAccess().getAcceptBlockAcceptBlockParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleAcceptBlock_in_ruleCompoundAcceptStatementCompletion13670);
+ lv_acceptBlock_2_0=ruleAcceptBlock();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCompoundAcceptStatementCompletionRule());
+ }
+ add(
+ current,
+ "acceptBlock",
+ lv_acceptBlock_2_0,
+ "AcceptBlock");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop86;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleCompoundAcceptStatementCompletion"
+
+
+ // $ANTLR start "entryRuleAcceptBlock"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6301:1: entryRuleAcceptBlock returns [EObject current=null] : iv_ruleAcceptBlock= ruleAcceptBlock EOF ;
+ public final EObject entryRuleAcceptBlock() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleAcceptBlock = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6302:2: (iv_ruleAcceptBlock= ruleAcceptBlock EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6303:2: iv_ruleAcceptBlock= ruleAcceptBlock EOF
+ {
+ newCompositeNode(grammarAccess.getAcceptBlockRule());
+ pushFollow(FOLLOW_ruleAcceptBlock_in_entryRuleAcceptBlock13708);
+ iv_ruleAcceptBlock=ruleAcceptBlock();
+
+ state._fsp--;
+
+ current =iv_ruleAcceptBlock;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAcceptBlock13718);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleAcceptBlock"
+
+
+ // $ANTLR start "ruleAcceptBlock"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6310:1: ruleAcceptBlock returns [EObject current=null] : ( ( (lv_clause_0_0= ruleAcceptClause ) ) ( (lv_block_1_0= ruleBlock ) ) ) ;
+ public final EObject ruleAcceptBlock() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_clause_0_0 = null;
+
+ EObject lv_block_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6313:28: ( ( ( (lv_clause_0_0= ruleAcceptClause ) ) ( (lv_block_1_0= ruleBlock ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6314:1: ( ( (lv_clause_0_0= ruleAcceptClause ) ) ( (lv_block_1_0= ruleBlock ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6314:1: ( ( (lv_clause_0_0= ruleAcceptClause ) ) ( (lv_block_1_0= ruleBlock ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6314:2: ( (lv_clause_0_0= ruleAcceptClause ) ) ( (lv_block_1_0= ruleBlock ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6314:2: ( (lv_clause_0_0= ruleAcceptClause ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6315:1: (lv_clause_0_0= ruleAcceptClause )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6315:1: (lv_clause_0_0= ruleAcceptClause )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6316:3: lv_clause_0_0= ruleAcceptClause
+ {
+
+ newCompositeNode(grammarAccess.getAcceptBlockAccess().getClauseAcceptClauseParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleAcceptClause_in_ruleAcceptBlock13764);
+ lv_clause_0_0=ruleAcceptClause();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAcceptBlockRule());
+ }
+ set(
+ current,
+ "clause",
+ lv_clause_0_0,
+ "AcceptClause");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6332:2: ( (lv_block_1_0= ruleBlock ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6333:1: (lv_block_1_0= ruleBlock )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6333:1: (lv_block_1_0= ruleBlock )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6334:3: lv_block_1_0= ruleBlock
+ {
+
+ newCompositeNode(grammarAccess.getAcceptBlockAccess().getBlockBlockParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleBlock_in_ruleAcceptBlock13785);
+ lv_block_1_0=ruleBlock();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAcceptBlockRule());
+ }
+ set(
+ current,
+ "block",
+ lv_block_1_0,
+ "Block");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleAcceptBlock"
+
+
+ // $ANTLR start "entryRuleAcceptClause"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6358:1: entryRuleAcceptClause returns [EObject current=null] : iv_ruleAcceptClause= ruleAcceptClause EOF ;
+ public final EObject entryRuleAcceptClause() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleAcceptClause = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6359:2: (iv_ruleAcceptClause= ruleAcceptClause EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6360:2: iv_ruleAcceptClause= ruleAcceptClause EOF
+ {
+ newCompositeNode(grammarAccess.getAcceptClauseRule());
+ pushFollow(FOLLOW_ruleAcceptClause_in_entryRuleAcceptClause13821);
+ iv_ruleAcceptClause=ruleAcceptClause();
+
+ state._fsp--;
+
+ current =iv_ruleAcceptClause;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAcceptClause13831);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleAcceptClause"
+
+
+ // $ANTLR start "ruleAcceptClause"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6367:1: ruleAcceptClause returns [EObject current=null] : (otherlv_0= 'accept' otherlv_1= '(' ( ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ':' )? ( (lv_qualifiedNameList_4_0= ruleQualifiedNameList ) ) otherlv_5= ')' ) ;
+ public final EObject ruleAcceptClause() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=null;
+ Token lv_name_2_0=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ EObject lv_qualifiedNameList_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6370:28: ( (otherlv_0= 'accept' otherlv_1= '(' ( ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ':' )? ( (lv_qualifiedNameList_4_0= ruleQualifiedNameList ) ) otherlv_5= ')' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6371:1: (otherlv_0= 'accept' otherlv_1= '(' ( ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ':' )? ( (lv_qualifiedNameList_4_0= ruleQualifiedNameList ) ) otherlv_5= ')' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6371:1: (otherlv_0= 'accept' otherlv_1= '(' ( ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ':' )? ( (lv_qualifiedNameList_4_0= ruleQualifiedNameList ) ) otherlv_5= ')' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6371:3: otherlv_0= 'accept' otherlv_1= '(' ( ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ':' )? ( (lv_qualifiedNameList_4_0= ruleQualifiedNameList ) ) otherlv_5= ')'
+ {
+ otherlv_0=(Token)match(input,83,FOLLOW_83_in_ruleAcceptClause13868);
+
+ newLeafNode(otherlv_0, grammarAccess.getAcceptClauseAccess().getAcceptKeyword_0());
+
+ otherlv_1=(Token)match(input,24,FOLLOW_24_in_ruleAcceptClause13880);
+
+ newLeafNode(otherlv_1, grammarAccess.getAcceptClauseAccess().getLeftParenthesisKeyword_1());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6379:1: ( ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ':' )?
+ int alt87=2;
+ int LA87_0 = input.LA(1);
+
+ if ( (LA87_0==RULE_ID) ) {
+ int LA87_1 = input.LA(2);
+
+ if ( (LA87_1==27) ) {
+ alt87=1;
+ }
+ }
+ switch (alt87) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6379:2: ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ':'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6379:2: ( (lv_name_2_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6380:1: (lv_name_2_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6380:1: (lv_name_2_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6381:3: lv_name_2_0= RULE_ID
+ {
+ lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAcceptClause13898);
+
+ newLeafNode(lv_name_2_0, grammarAccess.getAcceptClauseAccess().getNameIDTerminalRuleCall_2_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getAcceptClauseRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_2_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,27,FOLLOW_27_in_ruleAcceptClause13915);
+
+ newLeafNode(otherlv_3, grammarAccess.getAcceptClauseAccess().getColonKeyword_2_1());
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6401:3: ( (lv_qualifiedNameList_4_0= ruleQualifiedNameList ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6402:1: (lv_qualifiedNameList_4_0= ruleQualifiedNameList )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6402:1: (lv_qualifiedNameList_4_0= ruleQualifiedNameList )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6403:3: lv_qualifiedNameList_4_0= ruleQualifiedNameList
+ {
+
+ newCompositeNode(grammarAccess.getAcceptClauseAccess().getQualifiedNameListQualifiedNameListParserRuleCall_3_0());
+
+ pushFollow(FOLLOW_ruleQualifiedNameList_in_ruleAcceptClause13938);
+ lv_qualifiedNameList_4_0=ruleQualifiedNameList();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAcceptClauseRule());
+ }
+ set(
+ current,
+ "qualifiedNameList",
+ lv_qualifiedNameList_4_0,
+ "QualifiedNameList");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_5=(Token)match(input,25,FOLLOW_25_in_ruleAcceptClause13950);
+
+ newLeafNode(otherlv_5, grammarAccess.getAcceptClauseAccess().getRightParenthesisKeyword_4());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleAcceptClause"
+
+
+ // $ANTLR start "entryRuleClassifyStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6431:1: entryRuleClassifyStatement returns [EObject current=null] : iv_ruleClassifyStatement= ruleClassifyStatement EOF ;
+ public final EObject entryRuleClassifyStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleClassifyStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6432:2: (iv_ruleClassifyStatement= ruleClassifyStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6433:2: iv_ruleClassifyStatement= ruleClassifyStatement EOF
+ {
+ newCompositeNode(grammarAccess.getClassifyStatementRule());
+ pushFollow(FOLLOW_ruleClassifyStatement_in_entryRuleClassifyStatement13986);
+ iv_ruleClassifyStatement=ruleClassifyStatement();
+
+ state._fsp--;
+
+ current =iv_ruleClassifyStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleClassifyStatement13996);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleClassifyStatement"
+
+
+ // $ANTLR start "ruleClassifyStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6440:1: ruleClassifyStatement returns [EObject current=null] : (otherlv_0= 'classify' ( (lv_expression_1_0= ruleExpression ) ) ( (lv_clause_2_0= ruleClassificationClause ) ) otherlv_3= ';' ) ;
+ public final EObject ruleClassifyStatement() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_3=null;
+ EObject lv_expression_1_0 = null;
+
+ EObject lv_clause_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6443:28: ( (otherlv_0= 'classify' ( (lv_expression_1_0= ruleExpression ) ) ( (lv_clause_2_0= ruleClassificationClause ) ) otherlv_3= ';' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6444:1: (otherlv_0= 'classify' ( (lv_expression_1_0= ruleExpression ) ) ( (lv_clause_2_0= ruleClassificationClause ) ) otherlv_3= ';' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6444:1: (otherlv_0= 'classify' ( (lv_expression_1_0= ruleExpression ) ) ( (lv_clause_2_0= ruleClassificationClause ) ) otherlv_3= ';' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6444:3: otherlv_0= 'classify' ( (lv_expression_1_0= ruleExpression ) ) ( (lv_clause_2_0= ruleClassificationClause ) ) otherlv_3= ';'
+ {
+ otherlv_0=(Token)match(input,84,FOLLOW_84_in_ruleClassifyStatement14033);
+
+ newLeafNode(otherlv_0, grammarAccess.getClassifyStatementAccess().getClassifyKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6448:1: ( (lv_expression_1_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6449:1: (lv_expression_1_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6449:1: (lv_expression_1_0= ruleExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6450:3: lv_expression_1_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getClassifyStatementAccess().getExpressionExpressionParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleClassifyStatement14054);
+ lv_expression_1_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getClassifyStatementRule());
+ }
+ set(
+ current,
+ "expression",
+ lv_expression_1_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6466:2: ( (lv_clause_2_0= ruleClassificationClause ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6467:1: (lv_clause_2_0= ruleClassificationClause )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6467:1: (lv_clause_2_0= ruleClassificationClause )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6468:3: lv_clause_2_0= ruleClassificationClause
+ {
+
+ newCompositeNode(grammarAccess.getClassifyStatementAccess().getClauseClassificationClauseParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleClassificationClause_in_ruleClassifyStatement14075);
+ lv_clause_2_0=ruleClassificationClause();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getClassifyStatementRule());
+ }
+ set(
+ current,
+ "clause",
+ lv_clause_2_0,
+ "ClassificationClause");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,68,FOLLOW_68_in_ruleClassifyStatement14087);
+
+ newLeafNode(otherlv_3, grammarAccess.getClassifyStatementAccess().getSemicolonKeyword_3());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleClassifyStatement"
+
+
+ // $ANTLR start "entryRuleClassificationClause"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6496:1: entryRuleClassificationClause returns [EObject current=null] : iv_ruleClassificationClause= ruleClassificationClause EOF ;
+ public final EObject entryRuleClassificationClause() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleClassificationClause = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6497:2: (iv_ruleClassificationClause= ruleClassificationClause EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6498:2: iv_ruleClassificationClause= ruleClassificationClause EOF
+ {
+ newCompositeNode(grammarAccess.getClassificationClauseRule());
+ pushFollow(FOLLOW_ruleClassificationClause_in_entryRuleClassificationClause14123);
+ iv_ruleClassificationClause=ruleClassificationClause();
+
+ state._fsp--;
+
+ current =iv_ruleClassificationClause;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleClassificationClause14133);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleClassificationClause"
+
+
+ // $ANTLR start "ruleClassificationClause"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6505:1: ruleClassificationClause returns [EObject current=null] : ( ( ( (lv_classifyFromClause_0_0= ruleClassificationFromClause ) ) ( (lv_classifyToClause_1_0= ruleClassificationToClause ) )? ) | ( ( (lv_reclassyAllClause_2_0= ruleReclassifyAllClause ) )? ( (lv_classifyToClause_3_0= ruleClassificationToClause ) ) ) ) ;
+ public final EObject ruleClassificationClause() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_classifyFromClause_0_0 = null;
+
+ EObject lv_classifyToClause_1_0 = null;
+
+ EObject lv_reclassyAllClause_2_0 = null;
+
+ EObject lv_classifyToClause_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6508:28: ( ( ( ( (lv_classifyFromClause_0_0= ruleClassificationFromClause ) ) ( (lv_classifyToClause_1_0= ruleClassificationToClause ) )? ) | ( ( (lv_reclassyAllClause_2_0= ruleReclassifyAllClause ) )? ( (lv_classifyToClause_3_0= ruleClassificationToClause ) ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6509:1: ( ( ( (lv_classifyFromClause_0_0= ruleClassificationFromClause ) ) ( (lv_classifyToClause_1_0= ruleClassificationToClause ) )? ) | ( ( (lv_reclassyAllClause_2_0= ruleReclassifyAllClause ) )? ( (lv_classifyToClause_3_0= ruleClassificationToClause ) ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6509:1: ( ( ( (lv_classifyFromClause_0_0= ruleClassificationFromClause ) ) ( (lv_classifyToClause_1_0= ruleClassificationToClause ) )? ) | ( ( (lv_reclassyAllClause_2_0= ruleReclassifyAllClause ) )? ( (lv_classifyToClause_3_0= ruleClassificationToClause ) ) ) )
+ int alt90=2;
+ int LA90_0 = input.LA(1);
+
+ if ( (LA90_0==85) ) {
+ int LA90_1 = input.LA(2);
+
+ if ( (LA90_1==RULE_ID) ) {
+ alt90=1;
+ }
+ else if ( (LA90_1==16) ) {
+ alt90=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 90, 1, input);
+
+ throw nvae;
+ }
+ }
+ else if ( (LA90_0==86) ) {
+ alt90=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 90, 0, input);
+
+ throw nvae;
+ }
+ switch (alt90) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6509:2: ( ( (lv_classifyFromClause_0_0= ruleClassificationFromClause ) ) ( (lv_classifyToClause_1_0= ruleClassificationToClause ) )? )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6509:2: ( ( (lv_classifyFromClause_0_0= ruleClassificationFromClause ) ) ( (lv_classifyToClause_1_0= ruleClassificationToClause ) )? )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6509:3: ( (lv_classifyFromClause_0_0= ruleClassificationFromClause ) ) ( (lv_classifyToClause_1_0= ruleClassificationToClause ) )?
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6509:3: ( (lv_classifyFromClause_0_0= ruleClassificationFromClause ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6510:1: (lv_classifyFromClause_0_0= ruleClassificationFromClause )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6510:1: (lv_classifyFromClause_0_0= ruleClassificationFromClause )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6511:3: lv_classifyFromClause_0_0= ruleClassificationFromClause
+ {
+
+ newCompositeNode(grammarAccess.getClassificationClauseAccess().getClassifyFromClauseClassificationFromClauseParserRuleCall_0_0_0());
+
+ pushFollow(FOLLOW_ruleClassificationFromClause_in_ruleClassificationClause14180);
+ lv_classifyFromClause_0_0=ruleClassificationFromClause();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getClassificationClauseRule());
+ }
+ set(
+ current,
+ "classifyFromClause",
+ lv_classifyFromClause_0_0,
+ "ClassificationFromClause");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6527:2: ( (lv_classifyToClause_1_0= ruleClassificationToClause ) )?
+ int alt88=2;
+ int LA88_0 = input.LA(1);
+
+ if ( (LA88_0==86) ) {
+ alt88=1;
+ }
+ switch (alt88) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6528:1: (lv_classifyToClause_1_0= ruleClassificationToClause )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6528:1: (lv_classifyToClause_1_0= ruleClassificationToClause )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6529:3: lv_classifyToClause_1_0= ruleClassificationToClause
+ {
+
+ newCompositeNode(grammarAccess.getClassificationClauseAccess().getClassifyToClauseClassificationToClauseParserRuleCall_0_1_0());
+
+ pushFollow(FOLLOW_ruleClassificationToClause_in_ruleClassificationClause14201);
+ lv_classifyToClause_1_0=ruleClassificationToClause();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getClassificationClauseRule());
+ }
+ set(
+ current,
+ "classifyToClause",
+ lv_classifyToClause_1_0,
+ "ClassificationToClause");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6546:6: ( ( (lv_reclassyAllClause_2_0= ruleReclassifyAllClause ) )? ( (lv_classifyToClause_3_0= ruleClassificationToClause ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6546:6: ( ( (lv_reclassyAllClause_2_0= ruleReclassifyAllClause ) )? ( (lv_classifyToClause_3_0= ruleClassificationToClause ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6546:7: ( (lv_reclassyAllClause_2_0= ruleReclassifyAllClause ) )? ( (lv_classifyToClause_3_0= ruleClassificationToClause ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6546:7: ( (lv_reclassyAllClause_2_0= ruleReclassifyAllClause ) )?
+ int alt89=2;
+ int LA89_0 = input.LA(1);
+
+ if ( (LA89_0==85) ) {
+ alt89=1;
+ }
+ switch (alt89) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6547:1: (lv_reclassyAllClause_2_0= ruleReclassifyAllClause )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6547:1: (lv_reclassyAllClause_2_0= ruleReclassifyAllClause )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6548:3: lv_reclassyAllClause_2_0= ruleReclassifyAllClause
+ {
+
+ newCompositeNode(grammarAccess.getClassificationClauseAccess().getReclassyAllClauseReclassifyAllClauseParserRuleCall_1_0_0());
+
+ pushFollow(FOLLOW_ruleReclassifyAllClause_in_ruleClassificationClause14231);
+ lv_reclassyAllClause_2_0=ruleReclassifyAllClause();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getClassificationClauseRule());
+ }
+ set(
+ current,
+ "reclassyAllClause",
+ lv_reclassyAllClause_2_0,
+ "ReclassifyAllClause");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6564:3: ( (lv_classifyToClause_3_0= ruleClassificationToClause ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6565:1: (lv_classifyToClause_3_0= ruleClassificationToClause )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6565:1: (lv_classifyToClause_3_0= ruleClassificationToClause )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6566:3: lv_classifyToClause_3_0= ruleClassificationToClause
+ {
+
+ newCompositeNode(grammarAccess.getClassificationClauseAccess().getClassifyToClauseClassificationToClauseParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleClassificationToClause_in_ruleClassificationClause14253);
+ lv_classifyToClause_3_0=ruleClassificationToClause();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getClassificationClauseRule());
+ }
+ set(
+ current,
+ "classifyToClause",
+ lv_classifyToClause_3_0,
+ "ClassificationToClause");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleClassificationClause"
+
+
+ // $ANTLR start "entryRuleClassificationFromClause"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6590:1: entryRuleClassificationFromClause returns [EObject current=null] : iv_ruleClassificationFromClause= ruleClassificationFromClause EOF ;
+ public final EObject entryRuleClassificationFromClause() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleClassificationFromClause = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6591:2: (iv_ruleClassificationFromClause= ruleClassificationFromClause EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6592:2: iv_ruleClassificationFromClause= ruleClassificationFromClause EOF
+ {
+ newCompositeNode(grammarAccess.getClassificationFromClauseRule());
+ pushFollow(FOLLOW_ruleClassificationFromClause_in_entryRuleClassificationFromClause14290);
+ iv_ruleClassificationFromClause=ruleClassificationFromClause();
+
+ state._fsp--;
+
+ current =iv_ruleClassificationFromClause;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleClassificationFromClause14300);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleClassificationFromClause"
+
+
+ // $ANTLR start "ruleClassificationFromClause"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6599:1: ruleClassificationFromClause returns [EObject current=null] : (otherlv_0= 'from' ( (lv_qualifiedNameList_1_0= ruleQualifiedNameList ) ) ) ;
+ public final EObject ruleClassificationFromClause() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ EObject lv_qualifiedNameList_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6602:28: ( (otherlv_0= 'from' ( (lv_qualifiedNameList_1_0= ruleQualifiedNameList ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6603:1: (otherlv_0= 'from' ( (lv_qualifiedNameList_1_0= ruleQualifiedNameList ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6603:1: (otherlv_0= 'from' ( (lv_qualifiedNameList_1_0= ruleQualifiedNameList ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6603:3: otherlv_0= 'from' ( (lv_qualifiedNameList_1_0= ruleQualifiedNameList ) )
+ {
+ otherlv_0=(Token)match(input,85,FOLLOW_85_in_ruleClassificationFromClause14337);
+
+ newLeafNode(otherlv_0, grammarAccess.getClassificationFromClauseAccess().getFromKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6607:1: ( (lv_qualifiedNameList_1_0= ruleQualifiedNameList ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6608:1: (lv_qualifiedNameList_1_0= ruleQualifiedNameList )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6608:1: (lv_qualifiedNameList_1_0= ruleQualifiedNameList )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6609:3: lv_qualifiedNameList_1_0= ruleQualifiedNameList
+ {
+
+ newCompositeNode(grammarAccess.getClassificationFromClauseAccess().getQualifiedNameListQualifiedNameListParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleQualifiedNameList_in_ruleClassificationFromClause14358);
+ lv_qualifiedNameList_1_0=ruleQualifiedNameList();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getClassificationFromClauseRule());
+ }
+ set(
+ current,
+ "qualifiedNameList",
+ lv_qualifiedNameList_1_0,
+ "QualifiedNameList");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleClassificationFromClause"
+
+
+ // $ANTLR start "entryRuleClassificationToClause"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6633:1: entryRuleClassificationToClause returns [EObject current=null] : iv_ruleClassificationToClause= ruleClassificationToClause EOF ;
+ public final EObject entryRuleClassificationToClause() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleClassificationToClause = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6634:2: (iv_ruleClassificationToClause= ruleClassificationToClause EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6635:2: iv_ruleClassificationToClause= ruleClassificationToClause EOF
+ {
+ newCompositeNode(grammarAccess.getClassificationToClauseRule());
+ pushFollow(FOLLOW_ruleClassificationToClause_in_entryRuleClassificationToClause14394);
+ iv_ruleClassificationToClause=ruleClassificationToClause();
+
+ state._fsp--;
+
+ current =iv_ruleClassificationToClause;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleClassificationToClause14404);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleClassificationToClause"
+
+
+ // $ANTLR start "ruleClassificationToClause"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6642:1: ruleClassificationToClause returns [EObject current=null] : (otherlv_0= 'to' ( (lv_qualifiedNameList_1_0= ruleQualifiedNameList ) ) ) ;
+ public final EObject ruleClassificationToClause() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ EObject lv_qualifiedNameList_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6645:28: ( (otherlv_0= 'to' ( (lv_qualifiedNameList_1_0= ruleQualifiedNameList ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6646:1: (otherlv_0= 'to' ( (lv_qualifiedNameList_1_0= ruleQualifiedNameList ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6646:1: (otherlv_0= 'to' ( (lv_qualifiedNameList_1_0= ruleQualifiedNameList ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6646:3: otherlv_0= 'to' ( (lv_qualifiedNameList_1_0= ruleQualifiedNameList ) )
+ {
+ otherlv_0=(Token)match(input,86,FOLLOW_86_in_ruleClassificationToClause14441);
+
+ newLeafNode(otherlv_0, grammarAccess.getClassificationToClauseAccess().getToKeyword_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6650:1: ( (lv_qualifiedNameList_1_0= ruleQualifiedNameList ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6651:1: (lv_qualifiedNameList_1_0= ruleQualifiedNameList )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6651:1: (lv_qualifiedNameList_1_0= ruleQualifiedNameList )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6652:3: lv_qualifiedNameList_1_0= ruleQualifiedNameList
+ {
+
+ newCompositeNode(grammarAccess.getClassificationToClauseAccess().getQualifiedNameListQualifiedNameListParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleQualifiedNameList_in_ruleClassificationToClause14462);
+ lv_qualifiedNameList_1_0=ruleQualifiedNameList();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getClassificationToClauseRule());
+ }
+ set(
+ current,
+ "qualifiedNameList",
+ lv_qualifiedNameList_1_0,
+ "QualifiedNameList");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleClassificationToClause"
+
+
+ // $ANTLR start "entryRuleReclassifyAllClause"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6676:1: entryRuleReclassifyAllClause returns [EObject current=null] : iv_ruleReclassifyAllClause= ruleReclassifyAllClause EOF ;
+ public final EObject entryRuleReclassifyAllClause() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleReclassifyAllClause = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6677:2: (iv_ruleReclassifyAllClause= ruleReclassifyAllClause EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6678:2: iv_ruleReclassifyAllClause= ruleReclassifyAllClause EOF
+ {
+ newCompositeNode(grammarAccess.getReclassifyAllClauseRule());
+ pushFollow(FOLLOW_ruleReclassifyAllClause_in_entryRuleReclassifyAllClause14498);
+ iv_ruleReclassifyAllClause=ruleReclassifyAllClause();
+
+ state._fsp--;
+
+ current =iv_ruleReclassifyAllClause;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleReclassifyAllClause14508);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleReclassifyAllClause"
+
+
+ // $ANTLR start "ruleReclassifyAllClause"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6685:1: ruleReclassifyAllClause returns [EObject current=null] : ( () otherlv_1= 'from' otherlv_2= '*' ) ;
+ public final EObject ruleReclassifyAllClause() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_2=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6688:28: ( ( () otherlv_1= 'from' otherlv_2= '*' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6689:1: ( () otherlv_1= 'from' otherlv_2= '*' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6689:1: ( () otherlv_1= 'from' otherlv_2= '*' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6689:2: () otherlv_1= 'from' otherlv_2= '*'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6689:2: ()
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6690:5:
+ {
+
+ current = forceCreateModelElement(
+ grammarAccess.getReclassifyAllClauseAccess().getReclassifyAllClauseAction_0(),
+ current);
+
+
+ }
+
+ otherlv_1=(Token)match(input,85,FOLLOW_85_in_ruleReclassifyAllClause14554);
+
+ newLeafNode(otherlv_1, grammarAccess.getReclassifyAllClauseAccess().getFromKeyword_1());
+
+ otherlv_2=(Token)match(input,16,FOLLOW_16_in_ruleReclassifyAllClause14566);
+
+ newLeafNode(otherlv_2, grammarAccess.getReclassifyAllClauseAccess().getAsteriskKeyword_2());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleReclassifyAllClause"
+
+
+ // $ANTLR start "entryRuleQualifiedNameList"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6711:1: entryRuleQualifiedNameList returns [EObject current=null] : iv_ruleQualifiedNameList= ruleQualifiedNameList EOF ;
+ public final EObject entryRuleQualifiedNameList() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleQualifiedNameList = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6712:2: (iv_ruleQualifiedNameList= ruleQualifiedNameList EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6713:2: iv_ruleQualifiedNameList= ruleQualifiedNameList EOF
+ {
+ newCompositeNode(grammarAccess.getQualifiedNameListRule());
+ pushFollow(FOLLOW_ruleQualifiedNameList_in_entryRuleQualifiedNameList14602);
+ iv_ruleQualifiedNameList=ruleQualifiedNameList();
+
+ state._fsp--;
+
+ current =iv_ruleQualifiedNameList;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedNameList14612);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleQualifiedNameList"
+
+
+ // $ANTLR start "ruleQualifiedNameList"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6720:1: ruleQualifiedNameList returns [EObject current=null] : ( ( (lv_qualifiedName_0_0= ruleQualifiedNameWithBinding ) ) (otherlv_1= ',' ( (lv_qualifiedName_2_0= ruleQualifiedNameWithBinding ) ) )* ) ;
+ public final EObject ruleQualifiedNameList() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ EObject lv_qualifiedName_0_0 = null;
+
+ EObject lv_qualifiedName_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6723:28: ( ( ( (lv_qualifiedName_0_0= ruleQualifiedNameWithBinding ) ) (otherlv_1= ',' ( (lv_qualifiedName_2_0= ruleQualifiedNameWithBinding ) ) )* ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6724:1: ( ( (lv_qualifiedName_0_0= ruleQualifiedNameWithBinding ) ) (otherlv_1= ',' ( (lv_qualifiedName_2_0= ruleQualifiedNameWithBinding ) ) )* )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6724:1: ( ( (lv_qualifiedName_0_0= ruleQualifiedNameWithBinding ) ) (otherlv_1= ',' ( (lv_qualifiedName_2_0= ruleQualifiedNameWithBinding ) ) )* )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6724:2: ( (lv_qualifiedName_0_0= ruleQualifiedNameWithBinding ) ) (otherlv_1= ',' ( (lv_qualifiedName_2_0= ruleQualifiedNameWithBinding ) ) )*
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6724:2: ( (lv_qualifiedName_0_0= ruleQualifiedNameWithBinding ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6725:1: (lv_qualifiedName_0_0= ruleQualifiedNameWithBinding )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6725:1: (lv_qualifiedName_0_0= ruleQualifiedNameWithBinding )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6726:3: lv_qualifiedName_0_0= ruleQualifiedNameWithBinding
+ {
+
+ newCompositeNode(grammarAccess.getQualifiedNameListAccess().getQualifiedNameQualifiedNameWithBindingParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleQualifiedNameWithBinding_in_ruleQualifiedNameList14658);
+ lv_qualifiedName_0_0=ruleQualifiedNameWithBinding();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getQualifiedNameListRule());
+ }
+ add(
+ current,
+ "qualifiedName",
+ lv_qualifiedName_0_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6742:2: (otherlv_1= ',' ( (lv_qualifiedName_2_0= ruleQualifiedNameWithBinding ) ) )*
+ loop91:
+ do {
+ int alt91=2;
+ int LA91_0 = input.LA(1);
+
+ if ( (LA91_0==21) ) {
+ alt91=1;
+ }
+
+
+ switch (alt91) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6742:4: otherlv_1= ',' ( (lv_qualifiedName_2_0= ruleQualifiedNameWithBinding ) )
+ {
+ otherlv_1=(Token)match(input,21,FOLLOW_21_in_ruleQualifiedNameList14671);
+
+ newLeafNode(otherlv_1, grammarAccess.getQualifiedNameListAccess().getCommaKeyword_1_0());
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6746:1: ( (lv_qualifiedName_2_0= ruleQualifiedNameWithBinding ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6747:1: (lv_qualifiedName_2_0= ruleQualifiedNameWithBinding )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6747:1: (lv_qualifiedName_2_0= ruleQualifiedNameWithBinding )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6748:3: lv_qualifiedName_2_0= ruleQualifiedNameWithBinding
+ {
+
+ newCompositeNode(grammarAccess.getQualifiedNameListAccess().getQualifiedNameQualifiedNameWithBindingParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleQualifiedNameWithBinding_in_ruleQualifiedNameList14692);
+ lv_qualifiedName_2_0=ruleQualifiedNameWithBinding();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getQualifiedNameListRule());
+ }
+ add(
+ current,
+ "qualifiedName",
+ lv_qualifiedName_2_0,
+ "QualifiedNameWithBinding");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop91;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleQualifiedNameList"
+
+
+ // $ANTLR start "entryRuleInvocationOrAssignementOrDeclarationStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6772:1: entryRuleInvocationOrAssignementOrDeclarationStatement returns [EObject current=null] : iv_ruleInvocationOrAssignementOrDeclarationStatement= ruleInvocationOrAssignementOrDeclarationStatement EOF ;
+ public final EObject entryRuleInvocationOrAssignementOrDeclarationStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleInvocationOrAssignementOrDeclarationStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6773:2: (iv_ruleInvocationOrAssignementOrDeclarationStatement= ruleInvocationOrAssignementOrDeclarationStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6774:2: iv_ruleInvocationOrAssignementOrDeclarationStatement= ruleInvocationOrAssignementOrDeclarationStatement EOF
+ {
+ newCompositeNode(grammarAccess.getInvocationOrAssignementOrDeclarationStatementRule());
+ pushFollow(FOLLOW_ruleInvocationOrAssignementOrDeclarationStatement_in_entryRuleInvocationOrAssignementOrDeclarationStatement14730);
+ iv_ruleInvocationOrAssignementOrDeclarationStatement=ruleInvocationOrAssignementOrDeclarationStatement();
+
+ state._fsp--;
+
+ current =iv_ruleInvocationOrAssignementOrDeclarationStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleInvocationOrAssignementOrDeclarationStatement14740);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleInvocationOrAssignementOrDeclarationStatement"
+
+
+ // $ANTLR start "ruleInvocationOrAssignementOrDeclarationStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6781:1: ruleInvocationOrAssignementOrDeclarationStatement returns [EObject current=null] : ( ( (lv_typePart_OR_assignedPart_OR_invocationPart_0_0= ruleNameExpression ) ) ( ( (lv_variableDeclarationCompletion_1_0= ruleVariableDeclarationCompletion ) ) | ( (lv_assignmentCompletion_2_0= ruleAssignmentCompletion ) ) )? otherlv_3= ';' ) ;
+ public final EObject ruleInvocationOrAssignementOrDeclarationStatement() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_3=null;
+ EObject lv_typePart_OR_assignedPart_OR_invocationPart_0_0 = null;
+
+ EObject lv_variableDeclarationCompletion_1_0 = null;
+
+ EObject lv_assignmentCompletion_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6784:28: ( ( ( (lv_typePart_OR_assignedPart_OR_invocationPart_0_0= ruleNameExpression ) ) ( ( (lv_variableDeclarationCompletion_1_0= ruleVariableDeclarationCompletion ) ) | ( (lv_assignmentCompletion_2_0= ruleAssignmentCompletion ) ) )? otherlv_3= ';' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6785:1: ( ( (lv_typePart_OR_assignedPart_OR_invocationPart_0_0= ruleNameExpression ) ) ( ( (lv_variableDeclarationCompletion_1_0= ruleVariableDeclarationCompletion ) ) | ( (lv_assignmentCompletion_2_0= ruleAssignmentCompletion ) ) )? otherlv_3= ';' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6785:1: ( ( (lv_typePart_OR_assignedPart_OR_invocationPart_0_0= ruleNameExpression ) ) ( ( (lv_variableDeclarationCompletion_1_0= ruleVariableDeclarationCompletion ) ) | ( (lv_assignmentCompletion_2_0= ruleAssignmentCompletion ) ) )? otherlv_3= ';' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6785:2: ( (lv_typePart_OR_assignedPart_OR_invocationPart_0_0= ruleNameExpression ) ) ( ( (lv_variableDeclarationCompletion_1_0= ruleVariableDeclarationCompletion ) ) | ( (lv_assignmentCompletion_2_0= ruleAssignmentCompletion ) ) )? otherlv_3= ';'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6785:2: ( (lv_typePart_OR_assignedPart_OR_invocationPart_0_0= ruleNameExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6786:1: (lv_typePart_OR_assignedPart_OR_invocationPart_0_0= ruleNameExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6786:1: (lv_typePart_OR_assignedPart_OR_invocationPart_0_0= ruleNameExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6787:3: lv_typePart_OR_assignedPart_OR_invocationPart_0_0= ruleNameExpression
+ {
+
+ newCompositeNode(grammarAccess.getInvocationOrAssignementOrDeclarationStatementAccess().getTypePart_OR_assignedPart_OR_invocationPartNameExpressionParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleNameExpression_in_ruleInvocationOrAssignementOrDeclarationStatement14786);
+ lv_typePart_OR_assignedPart_OR_invocationPart_0_0=ruleNameExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getInvocationOrAssignementOrDeclarationStatementRule());
+ }
+ set(
+ current,
+ "typePart_OR_assignedPart_OR_invocationPart",
+ lv_typePart_OR_assignedPart_OR_invocationPart_0_0,
+ "NameExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6803:2: ( ( (lv_variableDeclarationCompletion_1_0= ruleVariableDeclarationCompletion ) ) | ( (lv_assignmentCompletion_2_0= ruleAssignmentCompletion ) ) )?
+ int alt92=3;
+ int LA92_0 = input.LA(1);
+
+ if ( (LA92_0==RULE_ID||LA92_0==50) ) {
+ alt92=1;
+ }
+ else if ( (LA92_0==70||(LA92_0>=103 && LA92_0<=113)) ) {
+ alt92=2;
+ }
+ switch (alt92) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6803:3: ( (lv_variableDeclarationCompletion_1_0= ruleVariableDeclarationCompletion ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6803:3: ( (lv_variableDeclarationCompletion_1_0= ruleVariableDeclarationCompletion ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6804:1: (lv_variableDeclarationCompletion_1_0= ruleVariableDeclarationCompletion )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6804:1: (lv_variableDeclarationCompletion_1_0= ruleVariableDeclarationCompletion )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6805:3: lv_variableDeclarationCompletion_1_0= ruleVariableDeclarationCompletion
+ {
+
+ newCompositeNode(grammarAccess.getInvocationOrAssignementOrDeclarationStatementAccess().getVariableDeclarationCompletionVariableDeclarationCompletionParserRuleCall_1_0_0());
+
+ pushFollow(FOLLOW_ruleVariableDeclarationCompletion_in_ruleInvocationOrAssignementOrDeclarationStatement14808);
+ lv_variableDeclarationCompletion_1_0=ruleVariableDeclarationCompletion();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getInvocationOrAssignementOrDeclarationStatementRule());
+ }
+ set(
+ current,
+ "variableDeclarationCompletion",
+ lv_variableDeclarationCompletion_1_0,
+ "VariableDeclarationCompletion");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6822:6: ( (lv_assignmentCompletion_2_0= ruleAssignmentCompletion ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6822:6: ( (lv_assignmentCompletion_2_0= ruleAssignmentCompletion ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6823:1: (lv_assignmentCompletion_2_0= ruleAssignmentCompletion )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6823:1: (lv_assignmentCompletion_2_0= ruleAssignmentCompletion )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6824:3: lv_assignmentCompletion_2_0= ruleAssignmentCompletion
+ {
+
+ newCompositeNode(grammarAccess.getInvocationOrAssignementOrDeclarationStatementAccess().getAssignmentCompletionAssignmentCompletionParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleAssignmentCompletion_in_ruleInvocationOrAssignementOrDeclarationStatement14835);
+ lv_assignmentCompletion_2_0=ruleAssignmentCompletion();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getInvocationOrAssignementOrDeclarationStatementRule());
+ }
+ set(
+ current,
+ "assignmentCompletion",
+ lv_assignmentCompletion_2_0,
+ "AssignmentCompletion");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_3=(Token)match(input,68,FOLLOW_68_in_ruleInvocationOrAssignementOrDeclarationStatement14849);
+
+ newLeafNode(otherlv_3, grammarAccess.getInvocationOrAssignementOrDeclarationStatementAccess().getSemicolonKeyword_2());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleInvocationOrAssignementOrDeclarationStatement"
+
+
+ // $ANTLR start "entryRuleSuperInvocationStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6852:1: entryRuleSuperInvocationStatement returns [EObject current=null] : iv_ruleSuperInvocationStatement= ruleSuperInvocationStatement EOF ;
+ public final EObject entryRuleSuperInvocationStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSuperInvocationStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6853:2: (iv_ruleSuperInvocationStatement= ruleSuperInvocationStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6854:2: iv_ruleSuperInvocationStatement= ruleSuperInvocationStatement EOF
+ {
+ newCompositeNode(grammarAccess.getSuperInvocationStatementRule());
+ pushFollow(FOLLOW_ruleSuperInvocationStatement_in_entryRuleSuperInvocationStatement14885);
+ iv_ruleSuperInvocationStatement=ruleSuperInvocationStatement();
+
+ state._fsp--;
+
+ current =iv_ruleSuperInvocationStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSuperInvocationStatement14895);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSuperInvocationStatement"
+
+
+ // $ANTLR start "ruleSuperInvocationStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6861:1: ruleSuperInvocationStatement returns [EObject current=null] : ( ( (lv__super_0_0= ruleSuperInvocationExpression ) ) otherlv_1= ';' ) ;
+ public final EObject ruleSuperInvocationStatement() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ EObject lv__super_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6864:28: ( ( ( (lv__super_0_0= ruleSuperInvocationExpression ) ) otherlv_1= ';' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6865:1: ( ( (lv__super_0_0= ruleSuperInvocationExpression ) ) otherlv_1= ';' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6865:1: ( ( (lv__super_0_0= ruleSuperInvocationExpression ) ) otherlv_1= ';' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6865:2: ( (lv__super_0_0= ruleSuperInvocationExpression ) ) otherlv_1= ';'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6865:2: ( (lv__super_0_0= ruleSuperInvocationExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6866:1: (lv__super_0_0= ruleSuperInvocationExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6866:1: (lv__super_0_0= ruleSuperInvocationExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6867:3: lv__super_0_0= ruleSuperInvocationExpression
+ {
+
+ newCompositeNode(grammarAccess.getSuperInvocationStatementAccess().get_superSuperInvocationExpressionParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleSuperInvocationExpression_in_ruleSuperInvocationStatement14941);
+ lv__super_0_0=ruleSuperInvocationExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSuperInvocationStatementRule());
+ }
+ set(
+ current,
+ "_super",
+ lv__super_0_0,
+ "SuperInvocationExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,68,FOLLOW_68_in_ruleSuperInvocationStatement14953);
+
+ newLeafNode(otherlv_1, grammarAccess.getSuperInvocationStatementAccess().getSemicolonKeyword_1());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSuperInvocationStatement"
+
+
+ // $ANTLR start "entryRuleThisInvocationStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6895:1: entryRuleThisInvocationStatement returns [EObject current=null] : iv_ruleThisInvocationStatement= ruleThisInvocationStatement EOF ;
+ public final EObject entryRuleThisInvocationStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleThisInvocationStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6896:2: (iv_ruleThisInvocationStatement= ruleThisInvocationStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6897:2: iv_ruleThisInvocationStatement= ruleThisInvocationStatement EOF
+ {
+ newCompositeNode(grammarAccess.getThisInvocationStatementRule());
+ pushFollow(FOLLOW_ruleThisInvocationStatement_in_entryRuleThisInvocationStatement14989);
+ iv_ruleThisInvocationStatement=ruleThisInvocationStatement();
+
+ state._fsp--;
+
+ current =iv_ruleThisInvocationStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleThisInvocationStatement14999);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleThisInvocationStatement"
+
+
+ // $ANTLR start "ruleThisInvocationStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6904:1: ruleThisInvocationStatement returns [EObject current=null] : ( ( (lv__this_0_0= ruleThisExpression ) ) ( (lv_assignmentCompletion_1_0= ruleAssignmentCompletion ) )? otherlv_2= ';' ) ;
+ public final EObject ruleThisInvocationStatement() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_2=null;
+ EObject lv__this_0_0 = null;
+
+ EObject lv_assignmentCompletion_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6907:28: ( ( ( (lv__this_0_0= ruleThisExpression ) ) ( (lv_assignmentCompletion_1_0= ruleAssignmentCompletion ) )? otherlv_2= ';' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6908:1: ( ( (lv__this_0_0= ruleThisExpression ) ) ( (lv_assignmentCompletion_1_0= ruleAssignmentCompletion ) )? otherlv_2= ';' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6908:1: ( ( (lv__this_0_0= ruleThisExpression ) ) ( (lv_assignmentCompletion_1_0= ruleAssignmentCompletion ) )? otherlv_2= ';' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6908:2: ( (lv__this_0_0= ruleThisExpression ) ) ( (lv_assignmentCompletion_1_0= ruleAssignmentCompletion ) )? otherlv_2= ';'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6908:2: ( (lv__this_0_0= ruleThisExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6909:1: (lv__this_0_0= ruleThisExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6909:1: (lv__this_0_0= ruleThisExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6910:3: lv__this_0_0= ruleThisExpression
+ {
+
+ newCompositeNode(grammarAccess.getThisInvocationStatementAccess().get_thisThisExpressionParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleThisExpression_in_ruleThisInvocationStatement15045);
+ lv__this_0_0=ruleThisExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getThisInvocationStatementRule());
+ }
+ set(
+ current,
+ "_this",
+ lv__this_0_0,
+ "ThisExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6926:2: ( (lv_assignmentCompletion_1_0= ruleAssignmentCompletion ) )?
+ int alt93=2;
+ int LA93_0 = input.LA(1);
+
+ if ( (LA93_0==70||(LA93_0>=103 && LA93_0<=113)) ) {
+ alt93=1;
+ }
+ switch (alt93) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6927:1: (lv_assignmentCompletion_1_0= ruleAssignmentCompletion )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6927:1: (lv_assignmentCompletion_1_0= ruleAssignmentCompletion )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6928:3: lv_assignmentCompletion_1_0= ruleAssignmentCompletion
+ {
+
+ newCompositeNode(grammarAccess.getThisInvocationStatementAccess().getAssignmentCompletionAssignmentCompletionParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleAssignmentCompletion_in_ruleThisInvocationStatement15066);
+ lv_assignmentCompletion_1_0=ruleAssignmentCompletion();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getThisInvocationStatementRule());
+ }
+ set(
+ current,
+ "assignmentCompletion",
+ lv_assignmentCompletion_1_0,
+ "AssignmentCompletion");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_2=(Token)match(input,68,FOLLOW_68_in_ruleThisInvocationStatement15079);
+
+ newLeafNode(otherlv_2, grammarAccess.getThisInvocationStatementAccess().getSemicolonKeyword_2());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleThisInvocationStatement"
+
+
+ // $ANTLR start "entryRuleInstanceCreationInvocationStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6956:1: entryRuleInstanceCreationInvocationStatement returns [EObject current=null] : iv_ruleInstanceCreationInvocationStatement= ruleInstanceCreationInvocationStatement EOF ;
+ public final EObject entryRuleInstanceCreationInvocationStatement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleInstanceCreationInvocationStatement = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6957:2: (iv_ruleInstanceCreationInvocationStatement= ruleInstanceCreationInvocationStatement EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6958:2: iv_ruleInstanceCreationInvocationStatement= ruleInstanceCreationInvocationStatement EOF
+ {
+ newCompositeNode(grammarAccess.getInstanceCreationInvocationStatementRule());
+ pushFollow(FOLLOW_ruleInstanceCreationInvocationStatement_in_entryRuleInstanceCreationInvocationStatement15115);
+ iv_ruleInstanceCreationInvocationStatement=ruleInstanceCreationInvocationStatement();
+
+ state._fsp--;
+
+ current =iv_ruleInstanceCreationInvocationStatement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleInstanceCreationInvocationStatement15125);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleInstanceCreationInvocationStatement"
+
+
+ // $ANTLR start "ruleInstanceCreationInvocationStatement"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6965:1: ruleInstanceCreationInvocationStatement returns [EObject current=null] : ( ( (lv__new_0_0= ruleInstanceCreationExpression ) ) otherlv_1= ';' ) ;
+ public final EObject ruleInstanceCreationInvocationStatement() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ EObject lv__new_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6968:28: ( ( ( (lv__new_0_0= ruleInstanceCreationExpression ) ) otherlv_1= ';' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6969:1: ( ( (lv__new_0_0= ruleInstanceCreationExpression ) ) otherlv_1= ';' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6969:1: ( ( (lv__new_0_0= ruleInstanceCreationExpression ) ) otherlv_1= ';' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6969:2: ( (lv__new_0_0= ruleInstanceCreationExpression ) ) otherlv_1= ';'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6969:2: ( (lv__new_0_0= ruleInstanceCreationExpression ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6970:1: (lv__new_0_0= ruleInstanceCreationExpression )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6970:1: (lv__new_0_0= ruleInstanceCreationExpression )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6971:3: lv__new_0_0= ruleInstanceCreationExpression
+ {
+
+ newCompositeNode(grammarAccess.getInstanceCreationInvocationStatementAccess().get_newInstanceCreationExpressionParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleInstanceCreationExpression_in_ruleInstanceCreationInvocationStatement15171);
+ lv__new_0_0=ruleInstanceCreationExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getInstanceCreationInvocationStatementRule());
+ }
+ set(
+ current,
+ "_new",
+ lv__new_0_0,
+ "InstanceCreationExpression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,68,FOLLOW_68_in_ruleInstanceCreationInvocationStatement15183);
+
+ newLeafNode(otherlv_1, grammarAccess.getInstanceCreationInvocationStatementAccess().getSemicolonKeyword_1());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleInstanceCreationInvocationStatement"
+
+
+ // $ANTLR start "entryRuleVariableDeclarationCompletion"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:6999:1: entryRuleVariableDeclarationCompletion returns [EObject current=null] : iv_ruleVariableDeclarationCompletion= ruleVariableDeclarationCompletion EOF ;
+ public final EObject entryRuleVariableDeclarationCompletion() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleVariableDeclarationCompletion = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7000:2: (iv_ruleVariableDeclarationCompletion= ruleVariableDeclarationCompletion EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7001:2: iv_ruleVariableDeclarationCompletion= ruleVariableDeclarationCompletion EOF
+ {
+ newCompositeNode(grammarAccess.getVariableDeclarationCompletionRule());
+ pushFollow(FOLLOW_ruleVariableDeclarationCompletion_in_entryRuleVariableDeclarationCompletion15219);
+ iv_ruleVariableDeclarationCompletion=ruleVariableDeclarationCompletion();
+
+ state._fsp--;
+
+ current =iv_ruleVariableDeclarationCompletion;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleVariableDeclarationCompletion15229);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleVariableDeclarationCompletion"
+
+
+ // $ANTLR start "ruleVariableDeclarationCompletion"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7008:1: ruleVariableDeclarationCompletion returns [EObject current=null] : ( ( ( (lv_multiplicityIndicator_0_0= '[' ) ) otherlv_1= ']' )? ( (lv_variableName_2_0= RULE_ID ) ) ( (lv_initValue_3_0= ruleAssignmentCompletion ) ) ) ;
+ public final EObject ruleVariableDeclarationCompletion() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_multiplicityIndicator_0_0=null;
+ Token otherlv_1=null;
+ Token lv_variableName_2_0=null;
+ EObject lv_initValue_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7011:28: ( ( ( ( (lv_multiplicityIndicator_0_0= '[' ) ) otherlv_1= ']' )? ( (lv_variableName_2_0= RULE_ID ) ) ( (lv_initValue_3_0= ruleAssignmentCompletion ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7012:1: ( ( ( (lv_multiplicityIndicator_0_0= '[' ) ) otherlv_1= ']' )? ( (lv_variableName_2_0= RULE_ID ) ) ( (lv_initValue_3_0= ruleAssignmentCompletion ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7012:1: ( ( ( (lv_multiplicityIndicator_0_0= '[' ) ) otherlv_1= ']' )? ( (lv_variableName_2_0= RULE_ID ) ) ( (lv_initValue_3_0= ruleAssignmentCompletion ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7012:2: ( ( (lv_multiplicityIndicator_0_0= '[' ) ) otherlv_1= ']' )? ( (lv_variableName_2_0= RULE_ID ) ) ( (lv_initValue_3_0= ruleAssignmentCompletion ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7012:2: ( ( (lv_multiplicityIndicator_0_0= '[' ) ) otherlv_1= ']' )?
+ int alt94=2;
+ int LA94_0 = input.LA(1);
+
+ if ( (LA94_0==50) ) {
+ alt94=1;
+ }
+ switch (alt94) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7012:3: ( (lv_multiplicityIndicator_0_0= '[' ) ) otherlv_1= ']'
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7012:3: ( (lv_multiplicityIndicator_0_0= '[' ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7013:1: (lv_multiplicityIndicator_0_0= '[' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7013:1: (lv_multiplicityIndicator_0_0= '[' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7014:3: lv_multiplicityIndicator_0_0= '['
+ {
+ lv_multiplicityIndicator_0_0=(Token)match(input,50,FOLLOW_50_in_ruleVariableDeclarationCompletion15273);
+
+ newLeafNode(lv_multiplicityIndicator_0_0, grammarAccess.getVariableDeclarationCompletionAccess().getMultiplicityIndicatorLeftSquareBracketKeyword_0_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getVariableDeclarationCompletionRule());
+ }
+ setWithLastConsumed(current, "multiplicityIndicator", true, "[");
+
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,51,FOLLOW_51_in_ruleVariableDeclarationCompletion15298);
+
+ newLeafNode(otherlv_1, grammarAccess.getVariableDeclarationCompletionAccess().getRightSquareBracketKeyword_0_1());
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7031:3: ( (lv_variableName_2_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7032:1: (lv_variableName_2_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7032:1: (lv_variableName_2_0= RULE_ID )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7033:3: lv_variableName_2_0= RULE_ID
+ {
+ lv_variableName_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleVariableDeclarationCompletion15317);
+
+ newLeafNode(lv_variableName_2_0, grammarAccess.getVariableDeclarationCompletionAccess().getVariableNameIDTerminalRuleCall_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getVariableDeclarationCompletionRule());
+ }
+ setWithLastConsumed(
+ current,
+ "variableName",
+ lv_variableName_2_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7049:2: ( (lv_initValue_3_0= ruleAssignmentCompletion ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7050:1: (lv_initValue_3_0= ruleAssignmentCompletion )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7050:1: (lv_initValue_3_0= ruleAssignmentCompletion )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7051:3: lv_initValue_3_0= ruleAssignmentCompletion
+ {
+
+ newCompositeNode(grammarAccess.getVariableDeclarationCompletionAccess().getInitValueAssignmentCompletionParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleAssignmentCompletion_in_ruleVariableDeclarationCompletion15343);
+ lv_initValue_3_0=ruleAssignmentCompletion();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getVariableDeclarationCompletionRule());
+ }
+ set(
+ current,
+ "initValue",
+ lv_initValue_3_0,
+ "AssignmentCompletion");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleVariableDeclarationCompletion"
+
+
+ // $ANTLR start "entryRuleAssignmentCompletion"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7075:1: entryRuleAssignmentCompletion returns [EObject current=null] : iv_ruleAssignmentCompletion= ruleAssignmentCompletion EOF ;
+ public final EObject entryRuleAssignmentCompletion() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleAssignmentCompletion = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7076:2: (iv_ruleAssignmentCompletion= ruleAssignmentCompletion EOF )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7077:2: iv_ruleAssignmentCompletion= ruleAssignmentCompletion EOF
+ {
+ newCompositeNode(grammarAccess.getAssignmentCompletionRule());
+ pushFollow(FOLLOW_ruleAssignmentCompletion_in_entryRuleAssignmentCompletion15379);
+ iv_ruleAssignmentCompletion=ruleAssignmentCompletion();
+
+ state._fsp--;
+
+ current =iv_ruleAssignmentCompletion;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAssignmentCompletion15389);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleAssignmentCompletion"
+
+
+ // $ANTLR start "ruleAssignmentCompletion"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7084:1: ruleAssignmentCompletion returns [EObject current=null] : ( ( (lv_op_0_0= ruleAssignmentOperator ) ) ( (lv_rightHandSide_1_0= ruleSequenceElement ) ) ) ;
+ public final EObject ruleAssignmentCompletion() throws RecognitionException {
+ EObject current = null;
+
+ Enumerator lv_op_0_0 = null;
+
+ EObject lv_rightHandSide_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7087:28: ( ( ( (lv_op_0_0= ruleAssignmentOperator ) ) ( (lv_rightHandSide_1_0= ruleSequenceElement ) ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7088:1: ( ( (lv_op_0_0= ruleAssignmentOperator ) ) ( (lv_rightHandSide_1_0= ruleSequenceElement ) ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7088:1: ( ( (lv_op_0_0= ruleAssignmentOperator ) ) ( (lv_rightHandSide_1_0= ruleSequenceElement ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7088:2: ( (lv_op_0_0= ruleAssignmentOperator ) ) ( (lv_rightHandSide_1_0= ruleSequenceElement ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7088:2: ( (lv_op_0_0= ruleAssignmentOperator ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7089:1: (lv_op_0_0= ruleAssignmentOperator )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7089:1: (lv_op_0_0= ruleAssignmentOperator )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7090:3: lv_op_0_0= ruleAssignmentOperator
+ {
+
+ newCompositeNode(grammarAccess.getAssignmentCompletionAccess().getOpAssignmentOperatorEnumRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleAssignmentOperator_in_ruleAssignmentCompletion15435);
+ lv_op_0_0=ruleAssignmentOperator();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAssignmentCompletionRule());
+ }
+ set(
+ current,
+ "op",
+ lv_op_0_0,
+ "AssignmentOperator");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7106:2: ( (lv_rightHandSide_1_0= ruleSequenceElement ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7107:1: (lv_rightHandSide_1_0= ruleSequenceElement )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7107:1: (lv_rightHandSide_1_0= ruleSequenceElement )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7108:3: lv_rightHandSide_1_0= ruleSequenceElement
+ {
+
+ newCompositeNode(grammarAccess.getAssignmentCompletionAccess().getRightHandSideSequenceElementParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleSequenceElement_in_ruleAssignmentCompletion15456);
+ lv_rightHandSide_1_0=ruleSequenceElement();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAssignmentCompletionRule());
+ }
+ set(
+ current,
+ "rightHandSide",
+ lv_rightHandSide_1_0,
+ "SequenceElement");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleAssignmentCompletion"
+
+
+ // $ANTLR start "ruleBooleanValue"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7132:1: ruleBooleanValue returns [Enumerator current=null] : ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) ) ;
+ public final Enumerator ruleBooleanValue() throws RecognitionException {
+ Enumerator current = null;
+
+ Token enumLiteral_0=null;
+ Token enumLiteral_1=null;
+
+ enterRule();
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7134:28: ( ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7135:1: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7135:1: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) )
+ int alt95=2;
+ int LA95_0 = input.LA(1);
+
+ if ( (LA95_0==87) ) {
+ alt95=1;
+ }
+ else if ( (LA95_0==88) ) {
+ alt95=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 95, 0, input);
+
+ throw nvae;
+ }
+ switch (alt95) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7135:2: (enumLiteral_0= 'true' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7135:2: (enumLiteral_0= 'true' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7135:4: enumLiteral_0= 'true'
+ {
+ enumLiteral_0=(Token)match(input,87,FOLLOW_87_in_ruleBooleanValue15506);
+
+ current = grammarAccess.getBooleanValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getBooleanValueAccess().getTRUEEnumLiteralDeclaration_0());
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7141:6: (enumLiteral_1= 'false' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7141:6: (enumLiteral_1= 'false' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7141:8: enumLiteral_1= 'false'
+ {
+ enumLiteral_1=(Token)match(input,88,FOLLOW_88_in_ruleBooleanValue15523);
+
+ current = grammarAccess.getBooleanValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getBooleanValueAccess().getFALSEEnumLiteralDeclaration_1());
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleBooleanValue"
+
+
+ // $ANTLR start "ruleLinkOperationKind"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7151:1: ruleLinkOperationKind returns [Enumerator current=null] : ( (enumLiteral_0= 'createLink' ) | (enumLiteral_1= 'destroyLink' ) | (enumLiteral_2= 'clearAssoc' ) ) ;
+ public final Enumerator ruleLinkOperationKind() throws RecognitionException {
+ Enumerator current = null;
+
+ Token enumLiteral_0=null;
+ Token enumLiteral_1=null;
+ Token enumLiteral_2=null;
+
+ enterRule();
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7153:28: ( ( (enumLiteral_0= 'createLink' ) | (enumLiteral_1= 'destroyLink' ) | (enumLiteral_2= 'clearAssoc' ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7154:1: ( (enumLiteral_0= 'createLink' ) | (enumLiteral_1= 'destroyLink' ) | (enumLiteral_2= 'clearAssoc' ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7154:1: ( (enumLiteral_0= 'createLink' ) | (enumLiteral_1= 'destroyLink' ) | (enumLiteral_2= 'clearAssoc' ) )
+ int alt96=3;
+ switch ( input.LA(1) ) {
+ case 89:
+ {
+ alt96=1;
+ }
+ break;
+ case 90:
+ {
+ alt96=2;
+ }
+ break;
+ case 91:
+ {
+ alt96=3;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 96, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt96) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7154:2: (enumLiteral_0= 'createLink' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7154:2: (enumLiteral_0= 'createLink' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7154:4: enumLiteral_0= 'createLink'
+ {
+ enumLiteral_0=(Token)match(input,89,FOLLOW_89_in_ruleLinkOperationKind15568);
+
+ current = grammarAccess.getLinkOperationKindAccess().getCREATEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getLinkOperationKindAccess().getCREATEEnumLiteralDeclaration_0());
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7160:6: (enumLiteral_1= 'destroyLink' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7160:6: (enumLiteral_1= 'destroyLink' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7160:8: enumLiteral_1= 'destroyLink'
+ {
+ enumLiteral_1=(Token)match(input,90,FOLLOW_90_in_ruleLinkOperationKind15585);
+
+ current = grammarAccess.getLinkOperationKindAccess().getDESTROYEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getLinkOperationKindAccess().getDESTROYEnumLiteralDeclaration_1());
+
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7166:6: (enumLiteral_2= 'clearAssoc' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7166:6: (enumLiteral_2= 'clearAssoc' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7166:8: enumLiteral_2= 'clearAssoc'
+ {
+ enumLiteral_2=(Token)match(input,91,FOLLOW_91_in_ruleLinkOperationKind15602);
+
+ current = grammarAccess.getLinkOperationKindAccess().getCLEAREnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_2, grammarAccess.getLinkOperationKindAccess().getCLEAREnumLiteralDeclaration_2());
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleLinkOperationKind"
+
+
+ // $ANTLR start "ruleSelectOrRejectOperator"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7176:1: ruleSelectOrRejectOperator returns [Enumerator current=null] : ( (enumLiteral_0= 'select' ) | (enumLiteral_1= 'reject' ) ) ;
+ public final Enumerator ruleSelectOrRejectOperator() throws RecognitionException {
+ Enumerator current = null;
+
+ Token enumLiteral_0=null;
+ Token enumLiteral_1=null;
+
+ enterRule();
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7178:28: ( ( (enumLiteral_0= 'select' ) | (enumLiteral_1= 'reject' ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7179:1: ( (enumLiteral_0= 'select' ) | (enumLiteral_1= 'reject' ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7179:1: ( (enumLiteral_0= 'select' ) | (enumLiteral_1= 'reject' ) )
+ int alt97=2;
+ int LA97_0 = input.LA(1);
+
+ if ( (LA97_0==92) ) {
+ alt97=1;
+ }
+ else if ( (LA97_0==93) ) {
+ alt97=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 97, 0, input);
+
+ throw nvae;
+ }
+ switch (alt97) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7179:2: (enumLiteral_0= 'select' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7179:2: (enumLiteral_0= 'select' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7179:4: enumLiteral_0= 'select'
+ {
+ enumLiteral_0=(Token)match(input,92,FOLLOW_92_in_ruleSelectOrRejectOperator15647);
+
+ current = grammarAccess.getSelectOrRejectOperatorAccess().getSELECTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getSelectOrRejectOperatorAccess().getSELECTEnumLiteralDeclaration_0());
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7185:6: (enumLiteral_1= 'reject' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7185:6: (enumLiteral_1= 'reject' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7185:8: enumLiteral_1= 'reject'
+ {
+ enumLiteral_1=(Token)match(input,93,FOLLOW_93_in_ruleSelectOrRejectOperator15664);
+
+ current = grammarAccess.getSelectOrRejectOperatorAccess().getREJECTEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getSelectOrRejectOperatorAccess().getREJECTEnumLiteralDeclaration_1());
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSelectOrRejectOperator"
+
+
+ // $ANTLR start "ruleCollectOrIterateOperator"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7195:1: ruleCollectOrIterateOperator returns [Enumerator current=null] : ( (enumLiteral_0= 'collect' ) | (enumLiteral_1= 'iterate' ) ) ;
+ public final Enumerator ruleCollectOrIterateOperator() throws RecognitionException {
+ Enumerator current = null;
+
+ Token enumLiteral_0=null;
+ Token enumLiteral_1=null;
+
+ enterRule();
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7197:28: ( ( (enumLiteral_0= 'collect' ) | (enumLiteral_1= 'iterate' ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7198:1: ( (enumLiteral_0= 'collect' ) | (enumLiteral_1= 'iterate' ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7198:1: ( (enumLiteral_0= 'collect' ) | (enumLiteral_1= 'iterate' ) )
+ int alt98=2;
+ int LA98_0 = input.LA(1);
+
+ if ( (LA98_0==94) ) {
+ alt98=1;
+ }
+ else if ( (LA98_0==95) ) {
+ alt98=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 98, 0, input);
+
+ throw nvae;
+ }
+ switch (alt98) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7198:2: (enumLiteral_0= 'collect' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7198:2: (enumLiteral_0= 'collect' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7198:4: enumLiteral_0= 'collect'
+ {
+ enumLiteral_0=(Token)match(input,94,FOLLOW_94_in_ruleCollectOrIterateOperator15709);
+
+ current = grammarAccess.getCollectOrIterateOperatorAccess().getCOLLECTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getCollectOrIterateOperatorAccess().getCOLLECTEnumLiteralDeclaration_0());
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7204:6: (enumLiteral_1= 'iterate' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7204:6: (enumLiteral_1= 'iterate' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7204:8: enumLiteral_1= 'iterate'
+ {
+ enumLiteral_1=(Token)match(input,95,FOLLOW_95_in_ruleCollectOrIterateOperator15726);
+
+ current = grammarAccess.getCollectOrIterateOperatorAccess().getITERATEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getCollectOrIterateOperatorAccess().getITERATEEnumLiteralDeclaration_1());
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleCollectOrIterateOperator"
+
+
+ // $ANTLR start "ruleForAllOrExistsOrOneOperator"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7214:1: ruleForAllOrExistsOrOneOperator returns [Enumerator current=null] : ( (enumLiteral_0= 'forAll' ) | (enumLiteral_1= 'exists' ) | (enumLiteral_2= 'one' ) ) ;
+ public final Enumerator ruleForAllOrExistsOrOneOperator() throws RecognitionException {
+ Enumerator current = null;
+
+ Token enumLiteral_0=null;
+ Token enumLiteral_1=null;
+ Token enumLiteral_2=null;
+
+ enterRule();
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7216:28: ( ( (enumLiteral_0= 'forAll' ) | (enumLiteral_1= 'exists' ) | (enumLiteral_2= 'one' ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7217:1: ( (enumLiteral_0= 'forAll' ) | (enumLiteral_1= 'exists' ) | (enumLiteral_2= 'one' ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7217:1: ( (enumLiteral_0= 'forAll' ) | (enumLiteral_1= 'exists' ) | (enumLiteral_2= 'one' ) )
+ int alt99=3;
+ switch ( input.LA(1) ) {
+ case 96:
+ {
+ alt99=1;
+ }
+ break;
+ case 97:
+ {
+ alt99=2;
+ }
+ break;
+ case 98:
+ {
+ alt99=3;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 99, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt99) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7217:2: (enumLiteral_0= 'forAll' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7217:2: (enumLiteral_0= 'forAll' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7217:4: enumLiteral_0= 'forAll'
+ {
+ enumLiteral_0=(Token)match(input,96,FOLLOW_96_in_ruleForAllOrExistsOrOneOperator15771);
+
+ current = grammarAccess.getForAllOrExistsOrOneOperatorAccess().getFORALLEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getForAllOrExistsOrOneOperatorAccess().getFORALLEnumLiteralDeclaration_0());
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7223:6: (enumLiteral_1= 'exists' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7223:6: (enumLiteral_1= 'exists' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7223:8: enumLiteral_1= 'exists'
+ {
+ enumLiteral_1=(Token)match(input,97,FOLLOW_97_in_ruleForAllOrExistsOrOneOperator15788);
+
+ current = grammarAccess.getForAllOrExistsOrOneOperatorAccess().getEXISTSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getForAllOrExistsOrOneOperatorAccess().getEXISTSEnumLiteralDeclaration_1());
+
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7229:6: (enumLiteral_2= 'one' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7229:6: (enumLiteral_2= 'one' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7229:8: enumLiteral_2= 'one'
+ {
+ enumLiteral_2=(Token)match(input,98,FOLLOW_98_in_ruleForAllOrExistsOrOneOperator15805);
+
+ current = grammarAccess.getForAllOrExistsOrOneOperatorAccess().getONEEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_2, grammarAccess.getForAllOrExistsOrOneOperatorAccess().getONEEnumLiteralDeclaration_2());
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleForAllOrExistsOrOneOperator"
+
+
+ // $ANTLR start "ruleAnnotationKind"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7239:1: ruleAnnotationKind returns [Enumerator current=null] : ( (enumLiteral_0= 'isolated' ) | (enumLiteral_1= 'determined' ) | (enumLiteral_2= 'assured' ) | (enumLiteral_3= 'parallel' ) ) ;
+ public final Enumerator ruleAnnotationKind() throws RecognitionException {
+ Enumerator current = null;
+
+ Token enumLiteral_0=null;
+ Token enumLiteral_1=null;
+ Token enumLiteral_2=null;
+ Token enumLiteral_3=null;
+
+ enterRule();
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7241:28: ( ( (enumLiteral_0= 'isolated' ) | (enumLiteral_1= 'determined' ) | (enumLiteral_2= 'assured' ) | (enumLiteral_3= 'parallel' ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7242:1: ( (enumLiteral_0= 'isolated' ) | (enumLiteral_1= 'determined' ) | (enumLiteral_2= 'assured' ) | (enumLiteral_3= 'parallel' ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7242:1: ( (enumLiteral_0= 'isolated' ) | (enumLiteral_1= 'determined' ) | (enumLiteral_2= 'assured' ) | (enumLiteral_3= 'parallel' ) )
+ int alt100=4;
+ switch ( input.LA(1) ) {
+ case 99:
+ {
+ alt100=1;
+ }
+ break;
+ case 100:
+ {
+ alt100=2;
+ }
+ break;
+ case 101:
+ {
+ alt100=3;
+ }
+ break;
+ case 102:
+ {
+ alt100=4;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 100, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt100) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7242:2: (enumLiteral_0= 'isolated' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7242:2: (enumLiteral_0= 'isolated' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7242:4: enumLiteral_0= 'isolated'
+ {
+ enumLiteral_0=(Token)match(input,99,FOLLOW_99_in_ruleAnnotationKind15850);
+
+ current = grammarAccess.getAnnotationKindAccess().getISOLATEDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getAnnotationKindAccess().getISOLATEDEnumLiteralDeclaration_0());
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7248:6: (enumLiteral_1= 'determined' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7248:6: (enumLiteral_1= 'determined' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7248:8: enumLiteral_1= 'determined'
+ {
+ enumLiteral_1=(Token)match(input,100,FOLLOW_100_in_ruleAnnotationKind15867);
+
+ current = grammarAccess.getAnnotationKindAccess().getDETERMINEDEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getAnnotationKindAccess().getDETERMINEDEnumLiteralDeclaration_1());
+
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7254:6: (enumLiteral_2= 'assured' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7254:6: (enumLiteral_2= 'assured' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7254:8: enumLiteral_2= 'assured'
+ {
+ enumLiteral_2=(Token)match(input,101,FOLLOW_101_in_ruleAnnotationKind15884);
+
+ current = grammarAccess.getAnnotationKindAccess().getASSUREDEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_2, grammarAccess.getAnnotationKindAccess().getASSUREDEnumLiteralDeclaration_2());
+
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7260:6: (enumLiteral_3= 'parallel' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7260:6: (enumLiteral_3= 'parallel' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7260:8: enumLiteral_3= 'parallel'
+ {
+ enumLiteral_3=(Token)match(input,102,FOLLOW_102_in_ruleAnnotationKind15901);
+
+ current = grammarAccess.getAnnotationKindAccess().getPARALLELEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_3, grammarAccess.getAnnotationKindAccess().getPARALLELEnumLiteralDeclaration_3());
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleAnnotationKind"
+
+
+ // $ANTLR start "ruleAssignmentOperator"
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7270:1: ruleAssignmentOperator returns [Enumerator current=null] : ( (enumLiteral_0= '=' ) | (enumLiteral_1= '+=' ) | (enumLiteral_2= '-=' ) | (enumLiteral_3= '*=' ) | (enumLiteral_4= '%=' ) | (enumLiteral_5= '/=' ) | (enumLiteral_6= '&=' ) | (enumLiteral_7= '|=' ) | (enumLiteral_8= '^=' ) | (enumLiteral_9= '<<=' ) | (enumLiteral_10= '>>=' ) | (enumLiteral_11= '>>>=' ) ) ;
+ public final Enumerator ruleAssignmentOperator() throws RecognitionException {
+ Enumerator current = null;
+
+ Token enumLiteral_0=null;
+ Token enumLiteral_1=null;
+ Token enumLiteral_2=null;
+ Token enumLiteral_3=null;
+ Token enumLiteral_4=null;
+ Token enumLiteral_5=null;
+ Token enumLiteral_6=null;
+ Token enumLiteral_7=null;
+ Token enumLiteral_8=null;
+ Token enumLiteral_9=null;
+ Token enumLiteral_10=null;
+ Token enumLiteral_11=null;
+
+ enterRule();
+ try {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7272:28: ( ( (enumLiteral_0= '=' ) | (enumLiteral_1= '+=' ) | (enumLiteral_2= '-=' ) | (enumLiteral_3= '*=' ) | (enumLiteral_4= '%=' ) | (enumLiteral_5= '/=' ) | (enumLiteral_6= '&=' ) | (enumLiteral_7= '|=' ) | (enumLiteral_8= '^=' ) | (enumLiteral_9= '<<=' ) | (enumLiteral_10= '>>=' ) | (enumLiteral_11= '>>>=' ) ) )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7273:1: ( (enumLiteral_0= '=' ) | (enumLiteral_1= '+=' ) | (enumLiteral_2= '-=' ) | (enumLiteral_3= '*=' ) | (enumLiteral_4= '%=' ) | (enumLiteral_5= '/=' ) | (enumLiteral_6= '&=' ) | (enumLiteral_7= '|=' ) | (enumLiteral_8= '^=' ) | (enumLiteral_9= '<<=' ) | (enumLiteral_10= '>>=' ) | (enumLiteral_11= '>>>=' ) )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7273:1: ( (enumLiteral_0= '=' ) | (enumLiteral_1= '+=' ) | (enumLiteral_2= '-=' ) | (enumLiteral_3= '*=' ) | (enumLiteral_4= '%=' ) | (enumLiteral_5= '/=' ) | (enumLiteral_6= '&=' ) | (enumLiteral_7= '|=' ) | (enumLiteral_8= '^=' ) | (enumLiteral_9= '<<=' ) | (enumLiteral_10= '>>=' ) | (enumLiteral_11= '>>>=' ) )
+ int alt101=12;
+ switch ( input.LA(1) ) {
+ case 70:
+ {
+ alt101=1;
+ }
+ break;
+ case 103:
+ {
+ alt101=2;
+ }
+ break;
+ case 104:
+ {
+ alt101=3;
+ }
+ break;
+ case 105:
+ {
+ alt101=4;
+ }
+ break;
+ case 106:
+ {
+ alt101=5;
+ }
+ break;
+ case 107:
+ {
+ alt101=6;
+ }
+ break;
+ case 108:
+ {
+ alt101=7;
+ }
+ break;
+ case 109:
+ {
+ alt101=8;
+ }
+ break;
+ case 110:
+ {
+ alt101=9;
+ }
+ break;
+ case 111:
+ {
+ alt101=10;
+ }
+ break;
+ case 112:
+ {
+ alt101=11;
+ }
+ break;
+ case 113:
+ {
+ alt101=12;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 101, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt101) {
+ case 1 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7273:2: (enumLiteral_0= '=' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7273:2: (enumLiteral_0= '=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7273:4: enumLiteral_0= '='
+ {
+ enumLiteral_0=(Token)match(input,70,FOLLOW_70_in_ruleAssignmentOperator15946);
+
+ current = grammarAccess.getAssignmentOperatorAccess().getASSIGNEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getAssignmentOperatorAccess().getASSIGNEnumLiteralDeclaration_0());
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7279:6: (enumLiteral_1= '+=' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7279:6: (enumLiteral_1= '+=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7279:8: enumLiteral_1= '+='
+ {
+ enumLiteral_1=(Token)match(input,103,FOLLOW_103_in_ruleAssignmentOperator15963);
+
+ current = grammarAccess.getAssignmentOperatorAccess().getPLUSASSIGNEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getAssignmentOperatorAccess().getPLUSASSIGNEnumLiteralDeclaration_1());
+
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7285:6: (enumLiteral_2= '-=' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7285:6: (enumLiteral_2= '-=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7285:8: enumLiteral_2= '-='
+ {
+ enumLiteral_2=(Token)match(input,104,FOLLOW_104_in_ruleAssignmentOperator15980);
+
+ current = grammarAccess.getAssignmentOperatorAccess().getMINUSASSIGNEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_2, grammarAccess.getAssignmentOperatorAccess().getMINUSASSIGNEnumLiteralDeclaration_2());
+
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7291:6: (enumLiteral_3= '*=' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7291:6: (enumLiteral_3= '*=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7291:8: enumLiteral_3= '*='
+ {
+ enumLiteral_3=(Token)match(input,105,FOLLOW_105_in_ruleAssignmentOperator15997);
+
+ current = grammarAccess.getAssignmentOperatorAccess().getMULTASSIGNEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_3, grammarAccess.getAssignmentOperatorAccess().getMULTASSIGNEnumLiteralDeclaration_3());
+
+
+ }
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7297:6: (enumLiteral_4= '%=' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7297:6: (enumLiteral_4= '%=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7297:8: enumLiteral_4= '%='
+ {
+ enumLiteral_4=(Token)match(input,106,FOLLOW_106_in_ruleAssignmentOperator16014);
+
+ current = grammarAccess.getAssignmentOperatorAccess().getMODASSIGNEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_4, grammarAccess.getAssignmentOperatorAccess().getMODASSIGNEnumLiteralDeclaration_4());
+
+
+ }
+
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7303:6: (enumLiteral_5= '/=' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7303:6: (enumLiteral_5= '/=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7303:8: enumLiteral_5= '/='
+ {
+ enumLiteral_5=(Token)match(input,107,FOLLOW_107_in_ruleAssignmentOperator16031);
+
+ current = grammarAccess.getAssignmentOperatorAccess().getDIVASSIGNEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_5, grammarAccess.getAssignmentOperatorAccess().getDIVASSIGNEnumLiteralDeclaration_5());
+
+
+ }
+
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7309:6: (enumLiteral_6= '&=' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7309:6: (enumLiteral_6= '&=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7309:8: enumLiteral_6= '&='
+ {
+ enumLiteral_6=(Token)match(input,108,FOLLOW_108_in_ruleAssignmentOperator16048);
+
+ current = grammarAccess.getAssignmentOperatorAccess().getANDASSIGNEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_6, grammarAccess.getAssignmentOperatorAccess().getANDASSIGNEnumLiteralDeclaration_6());
+
+
+ }
+
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7315:6: (enumLiteral_7= '|=' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7315:6: (enumLiteral_7= '|=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7315:8: enumLiteral_7= '|='
+ {
+ enumLiteral_7=(Token)match(input,109,FOLLOW_109_in_ruleAssignmentOperator16065);
+
+ current = grammarAccess.getAssignmentOperatorAccess().getORASSIGNEnumLiteralDeclaration_7().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_7, grammarAccess.getAssignmentOperatorAccess().getORASSIGNEnumLiteralDeclaration_7());
+
+
+ }
+
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7321:6: (enumLiteral_8= '^=' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7321:6: (enumLiteral_8= '^=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7321:8: enumLiteral_8= '^='
+ {
+ enumLiteral_8=(Token)match(input,110,FOLLOW_110_in_ruleAssignmentOperator16082);
+
+ current = grammarAccess.getAssignmentOperatorAccess().getXORASSIGNEnumLiteralDeclaration_8().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_8, grammarAccess.getAssignmentOperatorAccess().getXORASSIGNEnumLiteralDeclaration_8());
+
+
+ }
+
+
+ }
+ break;
+ case 10 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7327:6: (enumLiteral_9= '<<=' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7327:6: (enumLiteral_9= '<<=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7327:8: enumLiteral_9= '<<='
+ {
+ enumLiteral_9=(Token)match(input,111,FOLLOW_111_in_ruleAssignmentOperator16099);
+
+ current = grammarAccess.getAssignmentOperatorAccess().getLSHIFTASSIGNEnumLiteralDeclaration_9().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_9, grammarAccess.getAssignmentOperatorAccess().getLSHIFTASSIGNEnumLiteralDeclaration_9());
+
+
+ }
+
+
+ }
+ break;
+ case 11 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7333:6: (enumLiteral_10= '>>=' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7333:6: (enumLiteral_10= '>>=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7333:8: enumLiteral_10= '>>='
+ {
+ enumLiteral_10=(Token)match(input,112,FOLLOW_112_in_ruleAssignmentOperator16116);
+
+ current = grammarAccess.getAssignmentOperatorAccess().getRSHIFTASSIGNEnumLiteralDeclaration_10().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_10, grammarAccess.getAssignmentOperatorAccess().getRSHIFTASSIGNEnumLiteralDeclaration_10());
+
+
+ }
+
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7339:6: (enumLiteral_11= '>>>=' )
+ {
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7339:6: (enumLiteral_11= '>>>=' )
+ // ../org.eclipse.papyrus.alf/src-gen/org/eclipse/papyrus/alf/parser/antlr/internal/InternalAlf.g:7339:8: enumLiteral_11= '>>>='
+ {
+ enumLiteral_11=(Token)match(input,113,FOLLOW_113_in_ruleAssignmentOperator16133);
+
+ current = grammarAccess.getAssignmentOperatorAccess().getURSHIFTASSIGNEnumLiteralDeclaration_11().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_11, grammarAccess.getAssignmentOperatorAccess().getURSHIFTASSIGNEnumLiteralDeclaration_11());
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleAssignmentOperator"
+
+ // Delegated rules
+
+
+ protected DFA40 dfa40 = new DFA40(this);
+ static final String DFA40_eotS =
+ "\13\uffff";
+ static final String DFA40_eofS =
+ "\3\uffff\1\12\7\uffff";
+ static final String DFA40_minS =
+ "\1\61\3\6\7\uffff";
+ static final String DFA40_maxS =
+ "\1\64\1\133\1\142\1\161\7\uffff";
+ static final String DFA40_acceptS =
+ "\4\uffff\1\3\1\7\1\5\1\6\1\4\1\1\1\2";
+ static final String DFA40_specialS =
+ "\13\uffff}>";
+ static final String[] DFA40_transitionS = {
+ "\1\1\2\uffff\1\2",
+ "\1\3\70\uffff\1\5\31\uffff\3\4",
+ "\1\10\56\uffff\1\6\1\uffff\1\7\44\uffff\7\7",
+ "\1\12\5\uffff\5\12\3\uffff\3\12\1\uffff\1\11\25\12\3\uffff"+
+ "\4\12\10\uffff\2\12\5\uffff\1\12\1\uffff\1\12\16\uffff\2\12"+
+ "\20\uffff\13\12",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ };
+
+ static final short[] DFA40_eot = DFA.unpackEncodedString(DFA40_eotS);
+ static final short[] DFA40_eof = DFA.unpackEncodedString(DFA40_eofS);
+ static final char[] DFA40_min = DFA.unpackEncodedStringToUnsignedChars(DFA40_minS);
+ static final char[] DFA40_max = DFA.unpackEncodedStringToUnsignedChars(DFA40_maxS);
+ static final short[] DFA40_accept = DFA.unpackEncodedString(DFA40_acceptS);
+ static final short[] DFA40_special = DFA.unpackEncodedString(DFA40_specialS);
+ static final short[][] DFA40_transition;
+
+ static {
+ int numStates = DFA40_transitionS.length;
+ DFA40_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA40_transition[i] = DFA.unpackEncodedString(DFA40_transitionS[i]);
+ }
+ }
+
+ class DFA40 extends DFA {
+
+ public DFA40(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 40;
+ this.eot = DFA40_eot;
+ this.eof = DFA40_eof;
+ this.min = DFA40_min;
+ this.max = DFA40_max;
+ this.accept = DFA40_accept;
+ this.special = DFA40_special;
+ this.transition = DFA40_transition;
+ }
+ public String getDescription() {
+ return "2198:1: (this_OperationCallExpression_0= ruleOperationCallExpression | this_PropertyCallExpression_1= rulePropertyCallExpression | this_LinkOperationExpression_2= ruleLinkOperationExpression | this_SequenceOperationExpression_3= ruleSequenceOperationExpression | this_SequenceReductionExpression_4= ruleSequenceReductionExpression | this_SequenceExpansionExpression_5= ruleSequenceExpansionExpression | this_ClassExtentExpression_6= ruleClassExtentExpression )";
+ }
+ }
+
+
+ public static final BitSet FOLLOW_ruleTest_in_entryRuleTest75 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTest85 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_12_in_ruleTest123 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleTest144 = new BitSet(new long[]{0x000000000000F000L});
+ public static final BitSet FOLLOW_13_in_ruleTest159 = new BitSet(new long[]{0x0000000000000000L,0x0003FF8000000040L});
+ public static final BitSet FOLLOW_ruleAssignmentCompletion_in_ruleTest180 = new BitSet(new long[]{0x000000000000E000L});
+ public static final BitSet FOLLOW_14_in_ruleTest195 = new BitSet(new long[]{0x1E00000000060040L,0x00000000001EE4B9L});
+ public static final BitSet FOLLOW_ruleStatement_in_ruleTest216 = new BitSet(new long[]{0x000000000000C000L});
+ public static final BitSet FOLLOW_15_in_ruleTest231 = new BitSet(new long[]{0x1000000000000000L});
+ public static final BitSet FOLLOW_ruleBlock_in_ruleTest252 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLITERAL_in_entryRuleLITERAL289 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleLITERAL299 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleBOOLEAN_LITERAL_in_ruleLITERAL346 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNUMBER_LITERAL_in_ruleLITERAL373 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSTRING_LITERAL_in_ruleLITERAL400 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleBOOLEAN_LITERAL_in_entryRuleBOOLEAN_LITERAL435 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleBOOLEAN_LITERAL445 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleBooleanValue_in_ruleBOOLEAN_LITERAL490 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNUMBER_LITERAL_in_entryRuleNUMBER_LITERAL525 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNUMBER_LITERAL535 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleINTEGER_LITERAL_in_ruleNUMBER_LITERAL582 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUNLIMITED_LITERAL_in_ruleNUMBER_LITERAL609 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleINTEGER_LITERAL_in_entryRuleINTEGER_LITERAL644 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleINTEGER_LITERAL654 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INTEGERVALUE_in_ruleINTEGER_LITERAL695 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUNLIMITED_LITERAL_in_entryRuleUNLIMITED_LITERAL735 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUNLIMITED_LITERAL745 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_16_in_ruleUNLIMITED_LITERAL787 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSTRING_LITERAL_in_entryRuleSTRING_LITERAL835 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSTRING_LITERAL845 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_STRING_in_ruleSTRING_LITERAL886 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNameExpression_in_entryRuleNameExpression926 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNameExpression936 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_ruleNameExpression983 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_18_in_ruleNameExpression1012 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_ruleQualifiedNamePath_in_ruleNameExpression1049 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleNameExpression1067 = new BitSet(new long[]{0x0012000000000002L});
+ public static final BitSet FOLLOW_ruleQualifiedNamePath_in_ruleNameExpression1101 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleNameExpression1119 = new BitSet(new long[]{0x1016000001060002L});
+ public static final BitSet FOLLOW_ruleTuple_in_ruleNameExpression1146 = new BitSet(new long[]{0x0012000000000002L});
+ public static final BitSet FOLLOW_ruleSequenceConstructionOrAccessCompletion_in_ruleNameExpression1173 = new BitSet(new long[]{0x0012000000000002L});
+ public static final BitSet FOLLOW_17_in_ruleNameExpression1199 = new BitSet(new long[]{0x0012000000000002L});
+ public static final BitSet FOLLOW_18_in_ruleNameExpression1228 = new BitSet(new long[]{0x0012000000000002L});
+ public static final BitSet FOLLOW_ruleSuffixExpression_in_ruleNameExpression1269 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQualifiedNamePath_in_entryRuleQualifiedNamePath1306 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedNamePath1316 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnqualifiedName_in_ruleQualifiedNamePath1362 = new BitSet(new long[]{0x0000000000080000L});
+ public static final BitSet FOLLOW_19_in_ruleQualifiedNamePath1374 = new BitSet(new long[]{0x0000000000000042L});
+ public static final BitSet FOLLOW_ruleUnqualifiedName_in_entryRuleUnqualifiedName1411 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUnqualifiedName1421 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleUnqualifiedName1463 = new BitSet(new long[]{0x0000000000100002L});
+ public static final BitSet FOLLOW_ruleTemplateBinding_in_ruleUnqualifiedName1489 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTemplateBinding_in_entryRuleTemplateBinding1526 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTemplateBinding1536 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_20_in_ruleTemplateBinding1573 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_ruleNamedTemplateBinding_in_ruleTemplateBinding1594 = new BitSet(new long[]{0x0000000000600000L});
+ public static final BitSet FOLLOW_21_in_ruleTemplateBinding1607 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_ruleNamedTemplateBinding_in_ruleTemplateBinding1628 = new BitSet(new long[]{0x0000000000600000L});
+ public static final BitSet FOLLOW_22_in_ruleTemplateBinding1642 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNamedTemplateBinding_in_entryRuleNamedTemplateBinding1678 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNamedTemplateBinding1688 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleNamedTemplateBinding1730 = new BitSet(new long[]{0x0000000000800000L});
+ public static final BitSet FOLLOW_23_in_ruleNamedTemplateBinding1747 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_ruleQualifiedNameWithBinding_in_ruleNamedTemplateBinding1768 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQualifiedNameWithBinding_in_entryRuleQualifiedNameWithBinding1804 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedNameWithBinding1814 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleQualifiedNameWithBinding1856 = new BitSet(new long[]{0x0000000000180002L});
+ public static final BitSet FOLLOW_ruleTemplateBinding_in_ruleQualifiedNameWithBinding1882 = new BitSet(new long[]{0x0000000000080002L});
+ public static final BitSet FOLLOW_19_in_ruleQualifiedNameWithBinding1896 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_ruleQualifiedNameWithBinding_in_ruleQualifiedNameWithBinding1917 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTuple_in_entryRuleTuple1955 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTuple1965 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_24_in_ruleTuple2011 = new BitSet(new long[]{0x0F01CC0003070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleTupleElement_in_ruleTuple2033 = new BitSet(new long[]{0x0000000002200000L});
+ public static final BitSet FOLLOW_21_in_ruleTuple2046 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleTupleElement_in_ruleTuple2067 = new BitSet(new long[]{0x0000000002200000L});
+ public static final BitSet FOLLOW_25_in_ruleTuple2083 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTupleElement_in_entryRuleTupleElement2119 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTupleElement2129 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleTupleElement2174 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpression_in_entryRuleExpression2209 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleExpression2219 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleConditionalTestExpression_in_ruleExpression2265 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleConditionalTestExpression_in_entryRuleConditionalTestExpression2299 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleConditionalTestExpression2309 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleConditionalOrExpression_in_ruleConditionalTestExpression2355 = new BitSet(new long[]{0x0000000004000002L});
+ public static final BitSet FOLLOW_26_in_ruleConditionalTestExpression2368 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleConditionalTestExpression_in_ruleConditionalTestExpression2389 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_27_in_ruleConditionalTestExpression2401 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleConditionalTestExpression_in_ruleConditionalTestExpression2422 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleConditionalOrExpression_in_entryRuleConditionalOrExpression2460 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleConditionalOrExpression2470 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleConditionalAndExpression_in_ruleConditionalOrExpression2516 = new BitSet(new long[]{0x0000000010000002L});
+ public static final BitSet FOLLOW_28_in_ruleConditionalOrExpression2529 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleConditionalAndExpression_in_ruleConditionalOrExpression2550 = new BitSet(new long[]{0x0000000010000002L});
+ public static final BitSet FOLLOW_ruleConditionalAndExpression_in_entryRuleConditionalAndExpression2588 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleConditionalAndExpression2598 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInclusiveOrExpression_in_ruleConditionalAndExpression2644 = new BitSet(new long[]{0x0000000020000002L});
+ public static final BitSet FOLLOW_29_in_ruleConditionalAndExpression2657 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleInclusiveOrExpression_in_ruleConditionalAndExpression2678 = new BitSet(new long[]{0x0000000020000002L});
+ public static final BitSet FOLLOW_ruleInclusiveOrExpression_in_entryRuleInclusiveOrExpression2716 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInclusiveOrExpression2726 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExclusiveOrExpression_in_ruleInclusiveOrExpression2772 = new BitSet(new long[]{0x0000000040000002L});
+ public static final BitSet FOLLOW_30_in_ruleInclusiveOrExpression2785 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExclusiveOrExpression_in_ruleInclusiveOrExpression2806 = new BitSet(new long[]{0x0000000040000002L});
+ public static final BitSet FOLLOW_ruleExclusiveOrExpression_in_entryRuleExclusiveOrExpression2844 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleExclusiveOrExpression2854 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAndExpression_in_ruleExclusiveOrExpression2900 = new BitSet(new long[]{0x0000000080000002L});
+ public static final BitSet FOLLOW_31_in_ruleExclusiveOrExpression2913 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleAndExpression_in_ruleExclusiveOrExpression2934 = new BitSet(new long[]{0x0000000080000002L});
+ public static final BitSet FOLLOW_ruleAndExpression_in_entryRuleAndExpression2972 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAndExpression2982 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEqualityExpression_in_ruleAndExpression3028 = new BitSet(new long[]{0x0000000100000002L});
+ public static final BitSet FOLLOW_32_in_ruleAndExpression3041 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleEqualityExpression_in_ruleAndExpression3062 = new BitSet(new long[]{0x0000000100000002L});
+ public static final BitSet FOLLOW_ruleEqualityExpression_in_entryRuleEqualityExpression3100 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEqualityExpression3110 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleClassificationExpression_in_ruleEqualityExpression3156 = new BitSet(new long[]{0x0000000600000002L});
+ public static final BitSet FOLLOW_33_in_ruleEqualityExpression3177 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_34_in_ruleEqualityExpression3206 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleClassificationExpression_in_ruleEqualityExpression3243 = new BitSet(new long[]{0x0000000600000002L});
+ public static final BitSet FOLLOW_ruleClassificationExpression_in_entryRuleClassificationExpression3281 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleClassificationExpression3291 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRelationalExpression_in_ruleClassificationExpression3337 = new BitSet(new long[]{0x0000001800000002L});
+ public static final BitSet FOLLOW_35_in_ruleClassificationExpression3358 = new BitSet(new long[]{0x0000000000060040L});
+ public static final BitSet FOLLOW_36_in_ruleClassificationExpression3387 = new BitSet(new long[]{0x0000000000060040L});
+ public static final BitSet FOLLOW_ruleNameExpression_in_ruleClassificationExpression3424 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRelationalExpression_in_entryRuleRelationalExpression3462 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRelationalExpression3472 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleShiftExpression_in_ruleRelationalExpression3518 = new BitSet(new long[]{0x0000006000500002L});
+ public static final BitSet FOLLOW_20_in_ruleRelationalExpression3539 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_22_in_ruleRelationalExpression3568 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_37_in_ruleRelationalExpression3597 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_38_in_ruleRelationalExpression3626 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleShiftExpression_in_ruleRelationalExpression3663 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleShiftExpression_in_entryRuleShiftExpression3701 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleShiftExpression3711 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAdditiveExpression_in_ruleShiftExpression3757 = new BitSet(new long[]{0x0000038000000002L});
+ public static final BitSet FOLLOW_39_in_ruleShiftExpression3778 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_40_in_ruleShiftExpression3807 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_41_in_ruleShiftExpression3836 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleAdditiveExpression_in_ruleShiftExpression3873 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAdditiveExpression_in_entryRuleAdditiveExpression3911 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAdditiveExpression3921 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMultiplicativeExpression_in_ruleAdditiveExpression3967 = new BitSet(new long[]{0x00000C0000000002L});
+ public static final BitSet FOLLOW_42_in_ruleAdditiveExpression3988 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_43_in_ruleAdditiveExpression4017 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleMultiplicativeExpression_in_ruleAdditiveExpression4054 = new BitSet(new long[]{0x00000C0000000002L});
+ public static final BitSet FOLLOW_ruleMultiplicativeExpression_in_entryRuleMultiplicativeExpression4092 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleMultiplicativeExpression4102 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryExpression_in_ruleMultiplicativeExpression4148 = new BitSet(new long[]{0x0000300000010002L});
+ public static final BitSet FOLLOW_16_in_ruleMultiplicativeExpression4169 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_44_in_ruleMultiplicativeExpression4198 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_45_in_ruleMultiplicativeExpression4227 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleUnaryExpression_in_ruleMultiplicativeExpression4264 = new BitSet(new long[]{0x0000300000010002L});
+ public static final BitSet FOLLOW_ruleUnaryExpression_in_entryRuleUnaryExpression4302 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUnaryExpression4312 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_46_in_ruleUnaryExpression4357 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_43_in_ruleUnaryExpression4386 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_42_in_ruleUnaryExpression4415 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_47_in_ruleUnaryExpression4444 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_48_in_ruleUnaryExpression4473 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_rulePrimaryExpression_in_ruleUnaryExpression4511 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePrimaryExpression_in_entryRulePrimaryExpression4547 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePrimaryExpression4557 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleValueSpecification_in_rulePrimaryExpression4602 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSuffixExpression_in_entryRuleSuffixExpression4637 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSuffixExpression4647 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleOperationCallExpression_in_ruleSuffixExpression4694 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePropertyCallExpression_in_ruleSuffixExpression4721 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLinkOperationExpression_in_ruleSuffixExpression4748 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSequenceOperationExpression_in_ruleSuffixExpression4775 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSequenceReductionExpression_in_ruleSuffixExpression4802 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSequenceExpansionExpression_in_ruleSuffixExpression4829 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleClassExtentExpression_in_ruleSuffixExpression4856 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleOperationCallExpression_in_entryRuleOperationCallExpression4891 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleOperationCallExpression4901 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_49_in_ruleOperationCallExpression4938 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleOperationCallExpression4955 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_ruleTuple_in_ruleOperationCallExpression4981 = new BitSet(new long[]{0x0012000000000002L});
+ public static final BitSet FOLLOW_ruleSuffixExpression_in_ruleOperationCallExpression5002 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePropertyCallExpression_in_entryRulePropertyCallExpression5039 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePropertyCallExpression5049 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_49_in_rulePropertyCallExpression5086 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_ID_in_rulePropertyCallExpression5103 = new BitSet(new long[]{0x0016000000000002L});
+ public static final BitSet FOLLOW_50_in_rulePropertyCallExpression5121 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_rulePropertyCallExpression5142 = new BitSet(new long[]{0x0008000000000000L});
+ public static final BitSet FOLLOW_51_in_rulePropertyCallExpression5154 = new BitSet(new long[]{0x0012000000000002L});
+ public static final BitSet FOLLOW_ruleSuffixExpression_in_rulePropertyCallExpression5177 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLinkOperationExpression_in_entryRuleLinkOperationExpression5214 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleLinkOperationExpression5224 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_49_in_ruleLinkOperationExpression5261 = new BitSet(new long[]{0x0000000000000000L,0x000000000E000000L});
+ public static final BitSet FOLLOW_ruleLinkOperationKind_in_ruleLinkOperationExpression5282 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_ruleLinkOperationTuple_in_ruleLinkOperationExpression5303 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLinkOperationTuple_in_entryRuleLinkOperationTuple5339 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleLinkOperationTuple5349 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_24_in_ruleLinkOperationTuple5386 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_ruleLinkOperationTupleElement_in_ruleLinkOperationTuple5407 = new BitSet(new long[]{0x0000000002200000L});
+ public static final BitSet FOLLOW_21_in_ruleLinkOperationTuple5420 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_ruleLinkOperationTupleElement_in_ruleLinkOperationTuple5441 = new BitSet(new long[]{0x0000000002200000L});
+ public static final BitSet FOLLOW_25_in_ruleLinkOperationTuple5455 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLinkOperationTupleElement_in_entryRuleLinkOperationTupleElement5491 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleLinkOperationTupleElement5501 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleLinkOperationTupleElement5543 = new BitSet(new long[]{0x0004000000800000L});
+ public static final BitSet FOLLOW_50_in_ruleLinkOperationTupleElement5561 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleLinkOperationTupleElement5582 = new BitSet(new long[]{0x0008000000000000L});
+ public static final BitSet FOLLOW_51_in_ruleLinkOperationTupleElement5594 = new BitSet(new long[]{0x0000000000800000L});
+ public static final BitSet FOLLOW_23_in_ruleLinkOperationTupleElement5608 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleLinkOperationTupleElement5629 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSequenceOperationExpression_in_entryRuleSequenceOperationExpression5665 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSequenceOperationExpression5675 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_52_in_ruleSequenceOperationExpression5712 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_ruleQualifiedNameWithBinding_in_ruleSequenceOperationExpression5733 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_ruleTuple_in_ruleSequenceOperationExpression5754 = new BitSet(new long[]{0x0012000000000002L});
+ public static final BitSet FOLLOW_ruleSuffixExpression_in_ruleSequenceOperationExpression5775 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSequenceReductionExpression_in_entryRuleSequenceReductionExpression5812 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSequenceReductionExpression5822 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_52_in_ruleSequenceReductionExpression5859 = new BitSet(new long[]{0x0020000000000000L});
+ public static final BitSet FOLLOW_53_in_ruleSequenceReductionExpression5871 = new BitSet(new long[]{0x0040000000000040L});
+ public static final BitSet FOLLOW_54_in_ruleSequenceReductionExpression5889 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_ruleQualifiedNameWithBinding_in_ruleSequenceReductionExpression5924 = new BitSet(new long[]{0x0012000000000002L});
+ public static final BitSet FOLLOW_ruleSuffixExpression_in_ruleSequenceReductionExpression5945 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSequenceExpansionExpression_in_entryRuleSequenceExpansionExpression5982 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSequenceExpansionExpression5992 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSelectOrRejectOperation_in_ruleSequenceExpansionExpression6039 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectOrIterateOperation_in_ruleSequenceExpansionExpression6066 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleForAllOrExistsOrOneOperation_in_ruleSequenceExpansionExpression6093 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleIsUniqueOperation_in_ruleSequenceExpansionExpression6120 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSelectOrRejectOperation_in_entryRuleSelectOrRejectOperation6155 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSelectOrRejectOperation6165 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_52_in_ruleSelectOrRejectOperation6202 = new BitSet(new long[]{0x0000000000000000L,0x0000000030000000L});
+ public static final BitSet FOLLOW_ruleSelectOrRejectOperator_in_ruleSelectOrRejectOperation6223 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleSelectOrRejectOperation6240 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_24_in_ruleSelectOrRejectOperation6257 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleSelectOrRejectOperation6278 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleSelectOrRejectOperation6290 = new BitSet(new long[]{0x0012000000000002L});
+ public static final BitSet FOLLOW_ruleSuffixExpression_in_ruleSelectOrRejectOperation6311 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCollectOrIterateOperation_in_entryRuleCollectOrIterateOperation6348 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCollectOrIterateOperation6358 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_52_in_ruleCollectOrIterateOperation6395 = new BitSet(new long[]{0x0000000000000000L,0x00000000C0000000L});
+ public static final BitSet FOLLOW_ruleCollectOrIterateOperator_in_ruleCollectOrIterateOperation6416 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleCollectOrIterateOperation6433 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_24_in_ruleCollectOrIterateOperation6450 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleCollectOrIterateOperation6471 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleCollectOrIterateOperation6483 = new BitSet(new long[]{0x0012000000000002L});
+ public static final BitSet FOLLOW_ruleSuffixExpression_in_ruleCollectOrIterateOperation6504 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleForAllOrExistsOrOneOperation_in_entryRuleForAllOrExistsOrOneOperation6541 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleForAllOrExistsOrOneOperation6551 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_52_in_ruleForAllOrExistsOrOneOperation6588 = new BitSet(new long[]{0x0000000000000000L,0x0000000700000000L});
+ public static final BitSet FOLLOW_ruleForAllOrExistsOrOneOperator_in_ruleForAllOrExistsOrOneOperation6609 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleForAllOrExistsOrOneOperation6626 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_24_in_ruleForAllOrExistsOrOneOperation6643 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleForAllOrExistsOrOneOperation6664 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleForAllOrExistsOrOneOperation6676 = new BitSet(new long[]{0x0012000000000002L});
+ public static final BitSet FOLLOW_ruleSuffixExpression_in_ruleForAllOrExistsOrOneOperation6697 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleIsUniqueOperation_in_entryRuleIsUniqueOperation6734 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleIsUniqueOperation6744 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_52_in_ruleIsUniqueOperation6781 = new BitSet(new long[]{0x0080000000000000L});
+ public static final BitSet FOLLOW_55_in_ruleIsUniqueOperation6793 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleIsUniqueOperation6810 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_24_in_ruleIsUniqueOperation6827 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleIsUniqueOperation6848 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleIsUniqueOperation6860 = new BitSet(new long[]{0x0012000000000002L});
+ public static final BitSet FOLLOW_ruleSuffixExpression_in_ruleIsUniqueOperation6881 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleValueSpecification_in_entryRuleValueSpecification6918 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleValueSpecification6928 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNameExpression_in_ruleValueSpecification6975 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLITERAL_in_ruleValueSpecification7002 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleThisExpression_in_ruleValueSpecification7029 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSuperInvocationExpression_in_ruleValueSpecification7056 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInstanceCreationExpression_in_ruleValueSpecification7083 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleParenthesizedExpression_in_ruleValueSpecification7110 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNullExpression_in_ruleValueSpecification7137 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNonLiteralValueSpecification_in_entryRuleNonLiteralValueSpecification7172 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNonLiteralValueSpecification7182 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNameExpression_in_ruleNonLiteralValueSpecification7229 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleParenthesizedExpression_in_ruleNonLiteralValueSpecification7256 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInstanceCreationExpression_in_ruleNonLiteralValueSpecification7283 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleThisExpression_in_ruleNonLiteralValueSpecification7310 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSuperInvocationExpression_in_ruleNonLiteralValueSpecification7337 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleParenthesizedExpression_in_entryRuleParenthesizedExpression7372 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleParenthesizedExpression7382 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_24_in_ruleParenthesizedExpression7419 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleParenthesizedExpression7440 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleParenthesizedExpression7452 = new BitSet(new long[]{0x0E12000001060042L});
+ public static final BitSet FOLLOW_ruleNonLiteralValueSpecification_in_ruleParenthesizedExpression7474 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSuffixExpression_in_ruleParenthesizedExpression7501 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNullExpression_in_entryRuleNullExpression7539 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNullExpression7549 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_56_in_ruleNullExpression7595 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleThisExpression_in_entryRuleThisExpression7631 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleThisExpression7641 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_57_in_ruleThisExpression7687 = new BitSet(new long[]{0x0012000000000002L});
+ public static final BitSet FOLLOW_ruleSuffixExpression_in_ruleThisExpression7708 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSuperInvocationExpression_in_entryRuleSuperInvocationExpression7745 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSuperInvocationExpression7755 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_58_in_ruleSuperInvocationExpression7792 = new BitSet(new long[]{0x0002000001000000L});
+ public static final BitSet FOLLOW_ruleTuple_in_ruleSuperInvocationExpression7814 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_49_in_ruleSuperInvocationExpression7833 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_ruleQualifiedNameWithBinding_in_ruleSuperInvocationExpression7854 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_ruleTuple_in_ruleSuperInvocationExpression7875 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInstanceCreationExpression_in_entryRuleInstanceCreationExpression7913 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInstanceCreationExpression7923 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_59_in_ruleInstanceCreationExpression7960 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_ruleQualifiedNameWithBinding_in_ruleInstanceCreationExpression7981 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_ruleInstanceCreationTuple_in_ruleInstanceCreationExpression8002 = new BitSet(new long[]{0x0012000000000002L});
+ public static final BitSet FOLLOW_ruleSuffixExpression_in_ruleInstanceCreationExpression8023 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInstanceCreationTuple_in_entryRuleInstanceCreationTuple8060 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInstanceCreationTuple8070 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_24_in_ruleInstanceCreationTuple8116 = new BitSet(new long[]{0x0000000002000040L});
+ public static final BitSet FOLLOW_ruleInstanceCreationTupleElement_in_ruleInstanceCreationTuple8138 = new BitSet(new long[]{0x0000000002200000L});
+ public static final BitSet FOLLOW_21_in_ruleInstanceCreationTuple8151 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_ruleInstanceCreationTupleElement_in_ruleInstanceCreationTuple8172 = new BitSet(new long[]{0x0000000002200000L});
+ public static final BitSet FOLLOW_25_in_ruleInstanceCreationTuple8188 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInstanceCreationTupleElement_in_entryRuleInstanceCreationTupleElement8224 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInstanceCreationTupleElement8234 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleInstanceCreationTupleElement8276 = new BitSet(new long[]{0x0000000000800000L});
+ public static final BitSet FOLLOW_23_in_ruleInstanceCreationTupleElement8293 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleInstanceCreationTupleElement8314 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSequenceConstructionOrAccessCompletion_in_entryRuleSequenceConstructionOrAccessCompletion8350 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSequenceConstructionOrAccessCompletion8360 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_50_in_ruleSequenceConstructionOrAccessCompletion8404 = new BitSet(new long[]{0x0F09CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleAccessCompletion_in_ruleSequenceConstructionOrAccessCompletion8439 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePartialSequenceConstructionCompletion_in_ruleSequenceConstructionOrAccessCompletion8466 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSequenceConstructionExpression_in_ruleSequenceConstructionOrAccessCompletion8495 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAccessCompletion_in_entryRuleAccessCompletion8531 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAccessCompletion8541 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleAccessCompletion8587 = new BitSet(new long[]{0x0008000000000000L});
+ public static final BitSet FOLLOW_51_in_ruleAccessCompletion8599 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePartialSequenceConstructionCompletion_in_entryRulePartialSequenceConstructionCompletion8635 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePartialSequenceConstructionCompletion8645 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_51_in_rulePartialSequenceConstructionCompletion8682 = new BitSet(new long[]{0x1004000000000000L});
+ public static final BitSet FOLLOW_ruleSequenceConstructionExpression_in_rulePartialSequenceConstructionCompletion8703 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSequenceConstructionExpression_in_entryRuleSequenceConstructionExpression8739 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSequenceConstructionExpression8749 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_60_in_ruleSequenceConstructionExpression8786 = new BitSet(new long[]{0x1F05CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleSequenceElement_in_ruleSequenceConstructionExpression8807 = new BitSet(new long[]{0x6000000000200000L});
+ public static final BitSet FOLLOW_21_in_ruleSequenceConstructionExpression8821 = new BitSet(new long[]{0x1F05CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleSequenceElement_in_ruleSequenceConstructionExpression8842 = new BitSet(new long[]{0x4000000000200000L});
+ public static final BitSet FOLLOW_61_in_ruleSequenceConstructionExpression8863 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleSequenceConstructionExpression8884 = new BitSet(new long[]{0x4000000000000000L});
+ public static final BitSet FOLLOW_62_in_ruleSequenceConstructionExpression8898 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSequenceElement_in_entryRuleSequenceElement8934 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSequenceElement8944 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleSequenceElement8991 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSequenceConstructionExpression_in_ruleSequenceElement9018 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleClassExtentExpression_in_entryRuleClassExtentExpression9053 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleClassExtentExpression9063 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_49_in_ruleClassExtentExpression9109 = new BitSet(new long[]{0x8000000000000000L});
+ public static final BitSet FOLLOW_63_in_ruleClassExtentExpression9121 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_24_in_ruleClassExtentExpression9133 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleClassExtentExpression9145 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleBlock_in_entryRuleBlock9181 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleBlock9191 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_60_in_ruleBlock9228 = new BitSet(new long[]{0x5E000000000601C0L,0x00000000001EE4B9L});
+ public static final BitSet FOLLOW_ruleStatementSequence_in_ruleBlock9258 = new BitSet(new long[]{0x4000000000000000L});
+ public static final BitSet FOLLOW_62_in_ruleBlock9271 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStatementSequence_in_entryRuleStatementSequence9307 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleStatementSequence9317 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDocumentedStatement_in_ruleStatementSequence9362 = new BitSet(new long[]{0x1E000000000601C2L,0x00000000001EE4B9L});
+ public static final BitSet FOLLOW_ruleDocumentedStatement_in_entryRuleDocumentedStatement9398 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleDocumentedStatement9408 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ML_COMMENT_in_ruleDocumentedStatement9452 = new BitSet(new long[]{0x1E00000000060040L,0x00000000001EE4B9L});
+ public static final BitSet FOLLOW_RULE_SL_COMMENT_in_ruleDocumentedStatement9472 = new BitSet(new long[]{0x1E00000000060040L,0x00000000001EE4B9L});
+ public static final BitSet FOLLOW_ruleStatement_in_ruleDocumentedStatement9502 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInlineStatement_in_entryRuleInlineStatement9538 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInlineStatement9548 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_64_in_ruleInlineStatement9585 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+ public static final BitSet FOLLOW_65_in_ruleInlineStatement9597 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_24_in_ruleInlineStatement9609 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleInlineStatement9626 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleInlineStatement9643 = new BitSet(new long[]{0x0000000000000020L});
+ public static final BitSet FOLLOW_RULE_STRING_in_ruleInlineStatement9660 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
+ public static final BitSet FOLLOW_66_in_ruleInlineStatement9677 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAnnotatedStatement_in_entryRuleAnnotatedStatement9713 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAnnotatedStatement9723 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_67_in_ruleAnnotatedStatement9760 = new BitSet(new long[]{0x0000000000000000L,0x0000007800000000L});
+ public static final BitSet FOLLOW_ruleAnnotation_in_ruleAnnotatedStatement9781 = new BitSet(new long[]{0x1E00000000060040L,0x00000000001EE4B9L});
+ public static final BitSet FOLLOW_ruleStatement_in_ruleAnnotatedStatement9802 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStatement_in_entryRuleStatement9838 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleStatement9848 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAnnotatedStatement_in_ruleStatement9895 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInlineStatement_in_ruleStatement9922 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleBlockStatement_in_ruleStatement9949 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEmptyStatement_in_ruleStatement9976 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLocalNameDeclarationStatement_in_ruleStatement10003 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleIfStatement_in_ruleStatement10030 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSwitchStatement_in_ruleStatement10057 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleWhileStatement_in_ruleStatement10084 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDoStatement_in_ruleStatement10111 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleForStatement_in_ruleStatement10138 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleBreakStatement_in_ruleStatement10165 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleReturnStatement_in_ruleStatement10192 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAcceptStatement_in_ruleStatement10219 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleClassifyStatement_in_ruleStatement10246 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInvocationOrAssignementOrDeclarationStatement_in_ruleStatement10273 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSuperInvocationStatement_in_ruleStatement10300 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleThisInvocationStatement_in_ruleStatement10327 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInstanceCreationInvocationStatement_in_ruleStatement10354 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAnnotation_in_entryRuleAnnotation10389 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAnnotation10399 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAnnotationKind_in_ruleAnnotation10445 = new BitSet(new long[]{0x0000000001000002L});
+ public static final BitSet FOLLOW_24_in_ruleAnnotation10458 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleAnnotation10475 = new BitSet(new long[]{0x0000000002200000L});
+ public static final BitSet FOLLOW_21_in_ruleAnnotation10493 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleAnnotation10510 = new BitSet(new long[]{0x0000000002200000L});
+ public static final BitSet FOLLOW_25_in_ruleAnnotation10529 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleBlockStatement_in_entryRuleBlockStatement10567 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleBlockStatement10577 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleBlock_in_ruleBlockStatement10622 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEmptyStatement_in_entryRuleEmptyStatement10657 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEmptyStatement10667 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_68_in_ruleEmptyStatement10713 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLocalNameDeclarationStatement_in_entryRuleLocalNameDeclarationStatement10749 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleLocalNameDeclarationStatement10759 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_69_in_ruleLocalNameDeclarationStatement10796 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleLocalNameDeclarationStatement10813 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_27_in_ruleLocalNameDeclarationStatement10830 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_ruleQualifiedNameWithBinding_in_ruleLocalNameDeclarationStatement10851 = new BitSet(new long[]{0x0004000000000000L,0x0000000000000040L});
+ public static final BitSet FOLLOW_50_in_ruleLocalNameDeclarationStatement10870 = new BitSet(new long[]{0x0008000000000000L});
+ public static final BitSet FOLLOW_51_in_ruleLocalNameDeclarationStatement10895 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
+ public static final BitSet FOLLOW_70_in_ruleLocalNameDeclarationStatement10909 = new BitSet(new long[]{0x1F05CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleSequenceElement_in_ruleLocalNameDeclarationStatement10930 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+ public static final BitSet FOLLOW_68_in_ruleLocalNameDeclarationStatement10942 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleIfStatement_in_entryRuleIfStatement10978 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleIfStatement10988 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_71_in_ruleIfStatement11025 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_ruleSequentialClauses_in_ruleIfStatement11046 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L});
+ public static final BitSet FOLLOW_ruleFinalClause_in_ruleIfStatement11067 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSequentialClauses_in_entryRuleSequentialClauses11104 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSequentialClauses11114 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleConcurrentClauses_in_ruleSequentialClauses11160 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L});
+ public static final BitSet FOLLOW_72_in_ruleSequentialClauses11173 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+ public static final BitSet FOLLOW_71_in_ruleSequentialClauses11185 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_ruleConcurrentClauses_in_ruleSequentialClauses11206 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L});
+ public static final BitSet FOLLOW_ruleConcurrentClauses_in_entryRuleConcurrentClauses11244 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleConcurrentClauses11254 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNonFinalClause_in_ruleConcurrentClauses11300 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_73_in_ruleConcurrentClauses11313 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+ public static final BitSet FOLLOW_71_in_ruleConcurrentClauses11325 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_ruleNonFinalClause_in_ruleConcurrentClauses11346 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_ruleNonFinalClause_in_entryRuleNonFinalClause11384 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNonFinalClause11394 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_24_in_ruleNonFinalClause11431 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleNonFinalClause11452 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleNonFinalClause11464 = new BitSet(new long[]{0x1000000000000000L});
+ public static final BitSet FOLLOW_ruleBlock_in_ruleNonFinalClause11485 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleFinalClause_in_entryRuleFinalClause11521 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleFinalClause11531 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_72_in_ruleFinalClause11568 = new BitSet(new long[]{0x1000000000000000L});
+ public static final BitSet FOLLOW_ruleBlock_in_ruleFinalClause11589 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSwitchStatement_in_entryRuleSwitchStatement11625 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSwitchStatement11635 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_74_in_ruleSwitchStatement11672 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_24_in_ruleSwitchStatement11684 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleSwitchStatement11705 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleSwitchStatement11717 = new BitSet(new long[]{0x1000000000000000L});
+ public static final BitSet FOLLOW_60_in_ruleSwitchStatement11729 = new BitSet(new long[]{0x4000000000000000L,0x0000000000001800L});
+ public static final BitSet FOLLOW_ruleSwitchClause_in_ruleSwitchStatement11750 = new BitSet(new long[]{0x4000000000000000L,0x0000000000001800L});
+ public static final BitSet FOLLOW_ruleSwitchDefaultClause_in_ruleSwitchStatement11772 = new BitSet(new long[]{0x4000000000000000L});
+ public static final BitSet FOLLOW_62_in_ruleSwitchStatement11785 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSwitchClause_in_entryRuleSwitchClause11821 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSwitchClause11831 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSwitchCase_in_ruleSwitchClause11877 = new BitSet(new long[]{0x1E000000000601C0L,0x00000000001EECB9L});
+ public static final BitSet FOLLOW_ruleSwitchCase_in_ruleSwitchClause11898 = new BitSet(new long[]{0x1E000000000601C0L,0x00000000001EECB9L});
+ public static final BitSet FOLLOW_ruleNonEmptyStatementSequence_in_ruleSwitchClause11920 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSwitchCase_in_entryRuleSwitchCase11956 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSwitchCase11966 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_75_in_ruleSwitchCase12003 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleSwitchCase12024 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_27_in_ruleSwitchCase12036 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSwitchDefaultClause_in_entryRuleSwitchDefaultClause12072 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSwitchDefaultClause12082 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_76_in_ruleSwitchDefaultClause12119 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_27_in_ruleSwitchDefaultClause12131 = new BitSet(new long[]{0x1E000000000601C0L,0x00000000001EECB9L});
+ public static final BitSet FOLLOW_ruleNonEmptyStatementSequence_in_ruleSwitchDefaultClause12152 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNonEmptyStatementSequence_in_entryRuleNonEmptyStatementSequence12188 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNonEmptyStatementSequence12198 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDocumentedStatement_in_ruleNonEmptyStatementSequence12243 = new BitSet(new long[]{0x1E000000000601C2L,0x00000000001EE4B9L});
+ public static final BitSet FOLLOW_ruleWhileStatement_in_entryRuleWhileStatement12279 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleWhileStatement12289 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_77_in_ruleWhileStatement12326 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_24_in_ruleWhileStatement12338 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleWhileStatement12359 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleWhileStatement12371 = new BitSet(new long[]{0x1000000000000000L});
+ public static final BitSet FOLLOW_ruleBlock_in_ruleWhileStatement12392 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDoStatement_in_entryRuleDoStatement12428 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleDoStatement12438 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_78_in_ruleDoStatement12475 = new BitSet(new long[]{0x1000000000000000L});
+ public static final BitSet FOLLOW_ruleBlock_in_ruleDoStatement12496 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L});
+ public static final BitSet FOLLOW_77_in_ruleDoStatement12508 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_24_in_ruleDoStatement12520 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleDoStatement12541 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleDoStatement12553 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+ public static final BitSet FOLLOW_68_in_ruleDoStatement12565 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleForStatement_in_entryRuleForStatement12601 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleForStatement12611 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_79_in_ruleForStatement12648 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_24_in_ruleForStatement12660 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_ruleForControl_in_ruleForStatement12681 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleForStatement12693 = new BitSet(new long[]{0x1000000000000000L});
+ public static final BitSet FOLLOW_ruleBlock_in_ruleForStatement12714 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleForControl_in_entryRuleForControl12750 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleForControl12760 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLoopVariableDefinition_in_ruleForControl12806 = new BitSet(new long[]{0x0000000000200002L});
+ public static final BitSet FOLLOW_21_in_ruleForControl12819 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_ruleLoopVariableDefinition_in_ruleForControl12840 = new BitSet(new long[]{0x0000000000200002L});
+ public static final BitSet FOLLOW_ruleLoopVariableDefinition_in_entryRuleLoopVariableDefinition12878 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleLoopVariableDefinition12888 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleLoopVariableDefinition12931 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
+ public static final BitSet FOLLOW_80_in_ruleLoopVariableDefinition12948 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleLoopVariableDefinition12969 = new BitSet(new long[]{0x2000000000000002L});
+ public static final BitSet FOLLOW_61_in_ruleLoopVariableDefinition12982 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleLoopVariableDefinition13003 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQualifiedNameWithBinding_in_ruleLoopVariableDefinition13034 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleLoopVariableDefinition13051 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_27_in_ruleLoopVariableDefinition13068 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleLoopVariableDefinition13089 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleBreakStatement_in_entryRuleBreakStatement13126 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleBreakStatement13136 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_81_in_ruleBreakStatement13182 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+ public static final BitSet FOLLOW_68_in_ruleBreakStatement13194 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleReturnStatement_in_entryRuleReturnStatement13230 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleReturnStatement13240 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_82_in_ruleReturnStatement13277 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleReturnStatement13298 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+ public static final BitSet FOLLOW_68_in_ruleReturnStatement13310 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAcceptStatement_in_entryRuleAcceptStatement13346 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAcceptStatement13356 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAcceptClause_in_ruleAcceptStatement13402 = new BitSet(new long[]{0x1000000000000000L,0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleSimpleAcceptStatementCompletion_in_ruleAcceptStatement13424 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCompoundAcceptStatementCompletion_in_ruleAcceptStatement13451 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSimpleAcceptStatementCompletion_in_entryRuleSimpleAcceptStatementCompletion13488 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSimpleAcceptStatementCompletion13498 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_68_in_ruleSimpleAcceptStatementCompletion13544 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCompoundAcceptStatementCompletion_in_entryRuleCompoundAcceptStatementCompletion13580 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCompoundAcceptStatementCompletion13590 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleBlock_in_ruleCompoundAcceptStatementCompletion13636 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_73_in_ruleCompoundAcceptStatementCompletion13649 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L});
+ public static final BitSet FOLLOW_ruleAcceptBlock_in_ruleCompoundAcceptStatementCompletion13670 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
+ public static final BitSet FOLLOW_ruleAcceptBlock_in_entryRuleAcceptBlock13708 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAcceptBlock13718 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAcceptClause_in_ruleAcceptBlock13764 = new BitSet(new long[]{0x1000000000000000L});
+ public static final BitSet FOLLOW_ruleBlock_in_ruleAcceptBlock13785 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAcceptClause_in_entryRuleAcceptClause13821 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAcceptClause13831 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_83_in_ruleAcceptClause13868 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_24_in_ruleAcceptClause13880 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleAcceptClause13898 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_27_in_ruleAcceptClause13915 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_ruleQualifiedNameList_in_ruleAcceptClause13938 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleAcceptClause13950 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleClassifyStatement_in_entryRuleClassifyStatement13986 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleClassifyStatement13996 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_84_in_ruleClassifyStatement14033 = new BitSet(new long[]{0x0F01CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleClassifyStatement14054 = new BitSet(new long[]{0x0000000000000000L,0x0000000000600000L});
+ public static final BitSet FOLLOW_ruleClassificationClause_in_ruleClassifyStatement14075 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+ public static final BitSet FOLLOW_68_in_ruleClassifyStatement14087 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleClassificationClause_in_entryRuleClassificationClause14123 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleClassificationClause14133 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleClassificationFromClause_in_ruleClassificationClause14180 = new BitSet(new long[]{0x0000000000000002L,0x0000000000600000L});
+ public static final BitSet FOLLOW_ruleClassificationToClause_in_ruleClassificationClause14201 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleReclassifyAllClause_in_ruleClassificationClause14231 = new BitSet(new long[]{0x0000000000000000L,0x0000000000600000L});
+ public static final BitSet FOLLOW_ruleClassificationToClause_in_ruleClassificationClause14253 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleClassificationFromClause_in_entryRuleClassificationFromClause14290 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleClassificationFromClause14300 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_85_in_ruleClassificationFromClause14337 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_ruleQualifiedNameList_in_ruleClassificationFromClause14358 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleClassificationToClause_in_entryRuleClassificationToClause14394 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleClassificationToClause14404 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_86_in_ruleClassificationToClause14441 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_ruleQualifiedNameList_in_ruleClassificationToClause14462 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleReclassifyAllClause_in_entryRuleReclassifyAllClause14498 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleReclassifyAllClause14508 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_85_in_ruleReclassifyAllClause14554 = new BitSet(new long[]{0x0000000000010000L});
+ public static final BitSet FOLLOW_16_in_ruleReclassifyAllClause14566 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQualifiedNameList_in_entryRuleQualifiedNameList14602 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedNameList14612 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleQualifiedNameWithBinding_in_ruleQualifiedNameList14658 = new BitSet(new long[]{0x0000000000200002L});
+ public static final BitSet FOLLOW_21_in_ruleQualifiedNameList14671 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_ruleQualifiedNameWithBinding_in_ruleQualifiedNameList14692 = new BitSet(new long[]{0x0000000000200002L});
+ public static final BitSet FOLLOW_ruleInvocationOrAssignementOrDeclarationStatement_in_entryRuleInvocationOrAssignementOrDeclarationStatement14730 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInvocationOrAssignementOrDeclarationStatement14740 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNameExpression_in_ruleInvocationOrAssignementOrDeclarationStatement14786 = new BitSet(new long[]{0x0004000000000040L,0x0003FF8000000050L});
+ public static final BitSet FOLLOW_ruleVariableDeclarationCompletion_in_ruleInvocationOrAssignementOrDeclarationStatement14808 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleAssignmentCompletion_in_ruleInvocationOrAssignementOrDeclarationStatement14835 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+ public static final BitSet FOLLOW_68_in_ruleInvocationOrAssignementOrDeclarationStatement14849 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSuperInvocationStatement_in_entryRuleSuperInvocationStatement14885 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSuperInvocationStatement14895 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSuperInvocationExpression_in_ruleSuperInvocationStatement14941 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+ public static final BitSet FOLLOW_68_in_ruleSuperInvocationStatement14953 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleThisInvocationStatement_in_entryRuleThisInvocationStatement14989 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleThisInvocationStatement14999 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleThisExpression_in_ruleThisInvocationStatement15045 = new BitSet(new long[]{0x0000000000000000L,0x0003FF8000000050L});
+ public static final BitSet FOLLOW_ruleAssignmentCompletion_in_ruleThisInvocationStatement15066 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+ public static final BitSet FOLLOW_68_in_ruleThisInvocationStatement15079 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInstanceCreationInvocationStatement_in_entryRuleInstanceCreationInvocationStatement15115 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInstanceCreationInvocationStatement15125 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInstanceCreationExpression_in_ruleInstanceCreationInvocationStatement15171 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+ public static final BitSet FOLLOW_68_in_ruleInstanceCreationInvocationStatement15183 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleVariableDeclarationCompletion_in_entryRuleVariableDeclarationCompletion15219 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleVariableDeclarationCompletion15229 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_50_in_ruleVariableDeclarationCompletion15273 = new BitSet(new long[]{0x0008000000000000L});
+ public static final BitSet FOLLOW_51_in_ruleVariableDeclarationCompletion15298 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleVariableDeclarationCompletion15317 = new BitSet(new long[]{0x0000000000000000L,0x0003FF8000000040L});
+ public static final BitSet FOLLOW_ruleAssignmentCompletion_in_ruleVariableDeclarationCompletion15343 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAssignmentCompletion_in_entryRuleAssignmentCompletion15379 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAssignmentCompletion15389 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAssignmentOperator_in_ruleAssignmentCompletion15435 = new BitSet(new long[]{0x1F05CC0001070070L,0x0000000001800000L});
+ public static final BitSet FOLLOW_ruleSequenceElement_in_ruleAssignmentCompletion15456 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_87_in_ruleBooleanValue15506 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_88_in_ruleBooleanValue15523 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_89_in_ruleLinkOperationKind15568 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_90_in_ruleLinkOperationKind15585 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_91_in_ruleLinkOperationKind15602 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_92_in_ruleSelectOrRejectOperator15647 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_93_in_ruleSelectOrRejectOperator15664 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_94_in_ruleCollectOrIterateOperator15709 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_95_in_ruleCollectOrIterateOperator15726 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_96_in_ruleForAllOrExistsOrOneOperator15771 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_97_in_ruleForAllOrExistsOrOneOperator15788 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_98_in_ruleForAllOrExistsOrOneOperator15805 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_99_in_ruleAnnotationKind15850 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_100_in_ruleAnnotationKind15867 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_101_in_ruleAnnotationKind15884 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_102_in_ruleAnnotationKind15901 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_70_in_ruleAssignmentOperator15946 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_103_in_ruleAssignmentOperator15963 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_104_in_ruleAssignmentOperator15980 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_105_in_ruleAssignmentOperator15997 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_106_in_ruleAssignmentOperator16014 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_107_in_ruleAssignmentOperator16031 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_108_in_ruleAssignmentOperator16048 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_109_in_ruleAssignmentOperator16065 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_110_in_ruleAssignmentOperator16082 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_111_in_ruleAssignmentOperator16099 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_112_in_ruleAssignmentOperator16116 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_113_in_ruleAssignmentOperator16133 = new BitSet(new long[]{0x0000000000000002L});
+
+} \ No newline at end of file
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/services/AlfGrammarAccess.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/services/AlfGrammarAccess.java
new file mode 100644
index 00000000000..ba708542b5e
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/services/AlfGrammarAccess.java
@@ -0,0 +1,5756 @@
+/*
+* generated by Xtext
+*/
+
+package org.eclipse.papyrus.alf.services;
+
+import com.google.inject.Singleton;
+import com.google.inject.Inject;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.service.GrammarProvider;
+import org.eclipse.xtext.service.AbstractElementFinder.*;
+
+import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
+
+@Singleton
+public class AlfGrammarAccess extends AbstractGrammarElementFinder {
+
+
+ public class TestElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Test");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Group cGroup_0 = (Group)cGroup.eContents().get(0);
+ private final Keyword cTestExpressionKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0);
+ private final Assignment cExpressionAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
+ private final RuleCall cExpressionExpressionParserRuleCall_0_1_0 = (RuleCall)cExpressionAssignment_0_1.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cTestAssignmentExpressionKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cAssignExpressionAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cAssignExpressionAssignmentCompletionParserRuleCall_1_1_0 = (RuleCall)cAssignExpressionAssignment_1_1.eContents().get(0);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Keyword cTestStatementKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+ private final Assignment cStatementsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
+ private final RuleCall cStatementsStatementParserRuleCall_2_1_0 = (RuleCall)cStatementsAssignment_2_1.eContents().get(0);
+ private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+ private final Keyword cTestBlockKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+ private final Assignment cBlockAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
+ private final RuleCall cBlockBlockParserRuleCall_3_1_0 = (RuleCall)cBlockAssignment_3_1.eContents().get(0);
+
+ /// *
+ // Test rule
+ // * / Test:
+ // ("testExpression" expression+=Expression)* ("testAssignmentExpression" assignExpression+=AssignmentCompletion)*
+ // ("testStatement" statements+=Statement)* ("testBlock" block=Block);
+ public ParserRule getRule() { return rule; }
+
+ //("testExpression" expression+=Expression)* ("testAssignmentExpression" assignExpression+=AssignmentCompletion)*
+ //("testStatement" statements+=Statement)* ("testBlock" block=Block)
+ public Group getGroup() { return cGroup; }
+
+ //("testExpression" expression+=Expression)*
+ public Group getGroup_0() { return cGroup_0; }
+
+ //"testExpression"
+ public Keyword getTestExpressionKeyword_0_0() { return cTestExpressionKeyword_0_0; }
+
+ //expression+=Expression
+ public Assignment getExpressionAssignment_0_1() { return cExpressionAssignment_0_1; }
+
+ //Expression
+ public RuleCall getExpressionExpressionParserRuleCall_0_1_0() { return cExpressionExpressionParserRuleCall_0_1_0; }
+
+ //("testAssignmentExpression" assignExpression+=AssignmentCompletion)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"testAssignmentExpression"
+ public Keyword getTestAssignmentExpressionKeyword_1_0() { return cTestAssignmentExpressionKeyword_1_0; }
+
+ //assignExpression+=AssignmentCompletion
+ public Assignment getAssignExpressionAssignment_1_1() { return cAssignExpressionAssignment_1_1; }
+
+ //AssignmentCompletion
+ public RuleCall getAssignExpressionAssignmentCompletionParserRuleCall_1_1_0() { return cAssignExpressionAssignmentCompletionParserRuleCall_1_1_0; }
+
+ //("testStatement" statements+=Statement)*
+ public Group getGroup_2() { return cGroup_2; }
+
+ //"testStatement"
+ public Keyword getTestStatementKeyword_2_0() { return cTestStatementKeyword_2_0; }
+
+ //statements+=Statement
+ public Assignment getStatementsAssignment_2_1() { return cStatementsAssignment_2_1; }
+
+ //Statement
+ public RuleCall getStatementsStatementParserRuleCall_2_1_0() { return cStatementsStatementParserRuleCall_2_1_0; }
+
+ //"testBlock" block=Block
+ public Group getGroup_3() { return cGroup_3; }
+
+ //"testBlock"
+ public Keyword getTestBlockKeyword_3_0() { return cTestBlockKeyword_3_0; }
+
+ //block=Block
+ public Assignment getBlockAssignment_3_1() { return cBlockAssignment_3_1; }
+
+ //Block
+ public RuleCall getBlockBlockParserRuleCall_3_1_0() { return cBlockBlockParserRuleCall_3_1_0; }
+ }
+
+ public class LITERALElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LITERAL");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cBOOLEAN_LITERALParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cNUMBER_LITERALParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+ private final RuleCall cSTRING_LITERALParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+
+ ////('testStatementSequence' statement += StatementSequence)* ;
+ /// *********************************
+ // * PrimitiveLiterals
+ // ********************************** / LITERAL:
+ // BOOLEAN_LITERAL | NUMBER_LITERAL | STRING_LITERAL;
+ public ParserRule getRule() { return rule; }
+
+ //BOOLEAN_LITERAL | NUMBER_LITERAL | STRING_LITERAL
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //BOOLEAN_LITERAL
+ public RuleCall getBOOLEAN_LITERALParserRuleCall_0() { return cBOOLEAN_LITERALParserRuleCall_0; }
+
+ //NUMBER_LITERAL
+ public RuleCall getNUMBER_LITERALParserRuleCall_1() { return cNUMBER_LITERALParserRuleCall_1; }
+
+ //STRING_LITERAL
+ public RuleCall getSTRING_LITERALParserRuleCall_2() { return cSTRING_LITERALParserRuleCall_2; }
+ }
+
+ public class BOOLEAN_LITERALElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BOOLEAN_LITERAL");
+ private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cValueBooleanValueEnumRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
+
+ //// (suffix = SuffixExpression) ? ;
+ //BOOLEAN_LITERAL:
+ // value=BooleanValue;
+ public ParserRule getRule() { return rule; }
+
+ //value=BooleanValue
+ public Assignment getValueAssignment() { return cValueAssignment; }
+
+ //BooleanValue
+ public RuleCall getValueBooleanValueEnumRuleCall_0() { return cValueBooleanValueEnumRuleCall_0; }
+ }
+
+ public class NUMBER_LITERALElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NUMBER_LITERAL");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cINTEGER_LITERALParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cUNLIMITED_LITERALParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+
+ //NUMBER_LITERAL:
+ // INTEGER_LITERAL | UNLIMITED_LITERAL;
+ public ParserRule getRule() { return rule; }
+
+ //INTEGER_LITERAL | UNLIMITED_LITERAL
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //INTEGER_LITERAL
+ public RuleCall getINTEGER_LITERALParserRuleCall_0() { return cINTEGER_LITERALParserRuleCall_0; }
+
+ //UNLIMITED_LITERAL
+ public RuleCall getUNLIMITED_LITERALParserRuleCall_1() { return cUNLIMITED_LITERALParserRuleCall_1; }
+ }
+
+ public class INTEGER_LITERALElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "INTEGER_LITERAL");
+ private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cValueIntegerValueTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
+
+ //// (suffix = SuffixExpression) ? ;
+ //INTEGER_LITERAL:
+ // value=IntegerValue;
+ public ParserRule getRule() { return rule; }
+
+ //value=IntegerValue
+ public Assignment getValueAssignment() { return cValueAssignment; }
+
+ //IntegerValue
+ public RuleCall getValueIntegerValueTerminalRuleCall_0() { return cValueIntegerValueTerminalRuleCall_0; }
+ }
+
+ public class UNLIMITED_LITERALElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "UNLIMITED_LITERAL");
+ private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
+ private final Keyword cValueAsteriskKeyword_0 = (Keyword)cValueAssignment.eContents().get(0);
+
+ //// (suffix = SuffixExpression) ? ;
+ //UNLIMITED_LITERAL:
+ // value="*";
+ public ParserRule getRule() { return rule; }
+
+ //value="*"
+ public Assignment getValueAssignment() { return cValueAssignment; }
+
+ //"*"
+ public Keyword getValueAsteriskKeyword_0() { return cValueAsteriskKeyword_0; }
+ }
+
+ public class STRING_LITERALElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "STRING_LITERAL");
+ private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cValueSTRINGTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
+
+ //// (suffix = SuffixExpression) ?;
+ //STRING_LITERAL:
+ // value=STRING;
+ public ParserRule getRule() { return rule; }
+
+ //value=STRING
+ public Assignment getValueAssignment() { return cValueAssignment; }
+
+ //STRING
+ public RuleCall getValueSTRINGTerminalRuleCall_0() { return cValueSTRINGTerminalRuleCall_0; }
+ }
+
+ public class NameExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NameExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
+ private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0);
+ private final Assignment cPrefixOpAssignment_0_0_0 = (Assignment)cGroup_0_0.eContents().get(0);
+ private final Alternatives cPrefixOpAlternatives_0_0_0_0 = (Alternatives)cPrefixOpAssignment_0_0_0.eContents().get(0);
+ private final Keyword cPrefixOpPlusSignPlusSignKeyword_0_0_0_0_0 = (Keyword)cPrefixOpAlternatives_0_0_0_0.eContents().get(0);
+ private final Keyword cPrefixOpHyphenMinusHyphenMinusKeyword_0_0_0_0_1 = (Keyword)cPrefixOpAlternatives_0_0_0_0.eContents().get(1);
+ private final Assignment cPathAssignment_0_0_1 = (Assignment)cGroup_0_0.eContents().get(1);
+ private final RuleCall cPathQualifiedNamePathParserRuleCall_0_0_1_0 = (RuleCall)cPathAssignment_0_0_1.eContents().get(0);
+ private final Assignment cIdAssignment_0_0_2 = (Assignment)cGroup_0_0.eContents().get(2);
+ private final RuleCall cIdIDTerminalRuleCall_0_0_2_0 = (RuleCall)cIdAssignment_0_0_2.eContents().get(0);
+ private final Group cGroup_0_1 = (Group)cAlternatives_0.eContents().get(1);
+ private final Assignment cPathAssignment_0_1_0 = (Assignment)cGroup_0_1.eContents().get(0);
+ private final RuleCall cPathQualifiedNamePathParserRuleCall_0_1_0_0 = (RuleCall)cPathAssignment_0_1_0.eContents().get(0);
+ private final Assignment cIdAssignment_0_1_1 = (Assignment)cGroup_0_1.eContents().get(1);
+ private final RuleCall cIdIDTerminalRuleCall_0_1_1_0 = (RuleCall)cIdAssignment_0_1_1.eContents().get(0);
+ private final Alternatives cAlternatives_0_1_2 = (Alternatives)cGroup_0_1.eContents().get(2);
+ private final Assignment cInvocationCompletionAssignment_0_1_2_0 = (Assignment)cAlternatives_0_1_2.eContents().get(0);
+ private final RuleCall cInvocationCompletionTupleParserRuleCall_0_1_2_0_0 = (RuleCall)cInvocationCompletionAssignment_0_1_2_0.eContents().get(0);
+ private final Assignment cSequenceConstructionCompletionAssignment_0_1_2_1 = (Assignment)cAlternatives_0_1_2.eContents().get(1);
+ private final RuleCall cSequenceConstructionCompletionSequenceConstructionOrAccessCompletionParserRuleCall_0_1_2_1_0 = (RuleCall)cSequenceConstructionCompletionAssignment_0_1_2_1.eContents().get(0);
+ private final Assignment cPostfixOpAssignment_0_1_2_2 = (Assignment)cAlternatives_0_1_2.eContents().get(2);
+ private final Alternatives cPostfixOpAlternatives_0_1_2_2_0 = (Alternatives)cPostfixOpAssignment_0_1_2_2.eContents().get(0);
+ private final Keyword cPostfixOpPlusSignPlusSignKeyword_0_1_2_2_0_0 = (Keyword)cPostfixOpAlternatives_0_1_2_2_0.eContents().get(0);
+ private final Keyword cPostfixOpHyphenMinusHyphenMinusKeyword_0_1_2_2_0_1 = (Keyword)cPostfixOpAlternatives_0_1_2_2_0.eContents().get(1);
+ private final Assignment cSuffixAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cSuffixSuffixExpressionParserRuleCall_1_0 = (RuleCall)cSuffixAssignment_1.eContents().get(0);
+
+ //NameExpression:
+ // (prefixOp=("++" | "--") path=QualifiedNamePath? id=ID | path=QualifiedNamePath? id=ID (invocationCompletion=Tuple |
+ // sequenceConstructionCompletion=SequenceConstructionOrAccessCompletion | postfixOp=("++" | "--"))?)
+ // suffix=SuffixExpression?;
+ public ParserRule getRule() { return rule; }
+
+ //(prefixOp=("++" | "--") path=QualifiedNamePath? id=ID | path=QualifiedNamePath? id=ID (invocationCompletion=Tuple |
+ //sequenceConstructionCompletion=SequenceConstructionOrAccessCompletion | postfixOp=("++" | "--"))?)
+ //suffix=SuffixExpression?
+ public Group getGroup() { return cGroup; }
+
+ //prefixOp=("++" | "--") path=QualifiedNamePath? id=ID | path=QualifiedNamePath? id=ID (invocationCompletion=Tuple |
+ //sequenceConstructionCompletion=SequenceConstructionOrAccessCompletion | postfixOp=("++" | "--"))?
+ public Alternatives getAlternatives_0() { return cAlternatives_0; }
+
+ //prefixOp=("++" | "--") path=QualifiedNamePath? id=ID
+ public Group getGroup_0_0() { return cGroup_0_0; }
+
+ //prefixOp=("++" | "--")
+ public Assignment getPrefixOpAssignment_0_0_0() { return cPrefixOpAssignment_0_0_0; }
+
+ //"++" | "--"
+ public Alternatives getPrefixOpAlternatives_0_0_0_0() { return cPrefixOpAlternatives_0_0_0_0; }
+
+ //"++"
+ public Keyword getPrefixOpPlusSignPlusSignKeyword_0_0_0_0_0() { return cPrefixOpPlusSignPlusSignKeyword_0_0_0_0_0; }
+
+ //"--"
+ public Keyword getPrefixOpHyphenMinusHyphenMinusKeyword_0_0_0_0_1() { return cPrefixOpHyphenMinusHyphenMinusKeyword_0_0_0_0_1; }
+
+ //path=QualifiedNamePath?
+ public Assignment getPathAssignment_0_0_1() { return cPathAssignment_0_0_1; }
+
+ //QualifiedNamePath
+ public RuleCall getPathQualifiedNamePathParserRuleCall_0_0_1_0() { return cPathQualifiedNamePathParserRuleCall_0_0_1_0; }
+
+ //id=ID
+ public Assignment getIdAssignment_0_0_2() { return cIdAssignment_0_0_2; }
+
+ //ID
+ public RuleCall getIdIDTerminalRuleCall_0_0_2_0() { return cIdIDTerminalRuleCall_0_0_2_0; }
+
+ //path=QualifiedNamePath? id=ID (invocationCompletion=Tuple |
+ //sequenceConstructionCompletion=SequenceConstructionOrAccessCompletion | postfixOp=("++" | "--"))?
+ public Group getGroup_0_1() { return cGroup_0_1; }
+
+ //path=QualifiedNamePath?
+ public Assignment getPathAssignment_0_1_0() { return cPathAssignment_0_1_0; }
+
+ //QualifiedNamePath
+ public RuleCall getPathQualifiedNamePathParserRuleCall_0_1_0_0() { return cPathQualifiedNamePathParserRuleCall_0_1_0_0; }
+
+ //id=ID
+ public Assignment getIdAssignment_0_1_1() { return cIdAssignment_0_1_1; }
+
+ //ID
+ public RuleCall getIdIDTerminalRuleCall_0_1_1_0() { return cIdIDTerminalRuleCall_0_1_1_0; }
+
+ //(invocationCompletion=Tuple | sequenceConstructionCompletion=SequenceConstructionOrAccessCompletion | postfixOp=("++" |
+ //"--"))?
+ public Alternatives getAlternatives_0_1_2() { return cAlternatives_0_1_2; }
+
+ //invocationCompletion=Tuple
+ public Assignment getInvocationCompletionAssignment_0_1_2_0() { return cInvocationCompletionAssignment_0_1_2_0; }
+
+ //Tuple
+ public RuleCall getInvocationCompletionTupleParserRuleCall_0_1_2_0_0() { return cInvocationCompletionTupleParserRuleCall_0_1_2_0_0; }
+
+ //sequenceConstructionCompletion=SequenceConstructionOrAccessCompletion
+ public Assignment getSequenceConstructionCompletionAssignment_0_1_2_1() { return cSequenceConstructionCompletionAssignment_0_1_2_1; }
+
+ //SequenceConstructionOrAccessCompletion
+ public RuleCall getSequenceConstructionCompletionSequenceConstructionOrAccessCompletionParserRuleCall_0_1_2_1_0() { return cSequenceConstructionCompletionSequenceConstructionOrAccessCompletionParserRuleCall_0_1_2_1_0; }
+
+ //postfixOp=("++" | "--")
+ public Assignment getPostfixOpAssignment_0_1_2_2() { return cPostfixOpAssignment_0_1_2_2; }
+
+ //"++" | "--"
+ public Alternatives getPostfixOpAlternatives_0_1_2_2_0() { return cPostfixOpAlternatives_0_1_2_2_0; }
+
+ //"++"
+ public Keyword getPostfixOpPlusSignPlusSignKeyword_0_1_2_2_0_0() { return cPostfixOpPlusSignPlusSignKeyword_0_1_2_2_0_0; }
+
+ //"--"
+ public Keyword getPostfixOpHyphenMinusHyphenMinusKeyword_0_1_2_2_0_1() { return cPostfixOpHyphenMinusHyphenMinusKeyword_0_1_2_2_0_1; }
+
+ //suffix=SuffixExpression?
+ public Assignment getSuffixAssignment_1() { return cSuffixAssignment_1; }
+
+ //SuffixExpression
+ public RuleCall getSuffixSuffixExpressionParserRuleCall_1_0() { return cSuffixSuffixExpressionParserRuleCall_1_0; }
+ }
+
+ public class QualifiedNamePathElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "QualifiedNamePath");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cNamespaceAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cNamespaceUnqualifiedNameParserRuleCall_0_0 = (RuleCall)cNamespaceAssignment_0.eContents().get(0);
+ private final Keyword cColonColonKeyword_1 = (Keyword)cGroup.eContents().get(1);
+
+ //QualifiedNamePath:
+ // (namespace+=UnqualifiedName "::")+;
+ public ParserRule getRule() { return rule; }
+
+ //(namespace+=UnqualifiedName "::")+
+ public Group getGroup() { return cGroup; }
+
+ //namespace+=UnqualifiedName
+ public Assignment getNamespaceAssignment_0() { return cNamespaceAssignment_0; }
+
+ //UnqualifiedName
+ public RuleCall getNamespaceUnqualifiedNameParserRuleCall_0_0() { return cNamespaceUnqualifiedNameParserRuleCall_0_0; }
+
+ //"::"
+ public Keyword getColonColonKeyword_1() { return cColonColonKeyword_1; }
+ }
+
+ public class UnqualifiedNameElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "UnqualifiedName");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0);
+ private final Assignment cTemplateBindingAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cTemplateBindingTemplateBindingParserRuleCall_1_0 = (RuleCall)cTemplateBindingAssignment_1.eContents().get(0);
+
+ //UnqualifiedName:
+ // name=ID templateBinding=TemplateBinding?;
+ public ParserRule getRule() { return rule; }
+
+ //name=ID templateBinding=TemplateBinding?
+ public Group getGroup() { return cGroup; }
+
+ //name=ID
+ public Assignment getNameAssignment_0() { return cNameAssignment_0; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; }
+
+ //templateBinding=TemplateBinding?
+ public Assignment getTemplateBindingAssignment_1() { return cTemplateBindingAssignment_1; }
+
+ //TemplateBinding
+ public RuleCall getTemplateBindingTemplateBindingParserRuleCall_1_0() { return cTemplateBindingTemplateBindingParserRuleCall_1_0; }
+ }
+
+ public class TemplateBindingElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TemplateBinding");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cLessThanSignKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cBindingsAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cBindingsNamedTemplateBindingParserRuleCall_1_0 = (RuleCall)cBindingsAssignment_1.eContents().get(0);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Keyword cCommaKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+ private final Assignment cBindingsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
+ private final RuleCall cBindingsNamedTemplateBindingParserRuleCall_2_1_0 = (RuleCall)cBindingsAssignment_2_1.eContents().get(0);
+ private final Keyword cGreaterThanSignKeyword_3 = (Keyword)cGroup.eContents().get(3);
+
+ //TemplateBinding:
+ // "<" bindings+=NamedTemplateBinding ("," bindings+=NamedTemplateBinding)* ">";
+ public ParserRule getRule() { return rule; }
+
+ //"<" bindings+=NamedTemplateBinding ("," bindings+=NamedTemplateBinding)* ">"
+ public Group getGroup() { return cGroup; }
+
+ //"<"
+ public Keyword getLessThanSignKeyword_0() { return cLessThanSignKeyword_0; }
+
+ //bindings+=NamedTemplateBinding
+ public Assignment getBindingsAssignment_1() { return cBindingsAssignment_1; }
+
+ //NamedTemplateBinding
+ public RuleCall getBindingsNamedTemplateBindingParserRuleCall_1_0() { return cBindingsNamedTemplateBindingParserRuleCall_1_0; }
+
+ //("," bindings+=NamedTemplateBinding)*
+ public Group getGroup_2() { return cGroup_2; }
+
+ //","
+ public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; }
+
+ //bindings+=NamedTemplateBinding
+ public Assignment getBindingsAssignment_2_1() { return cBindingsAssignment_2_1; }
+
+ //NamedTemplateBinding
+ public RuleCall getBindingsNamedTemplateBindingParserRuleCall_2_1_0() { return cBindingsNamedTemplateBindingParserRuleCall_2_1_0; }
+
+ //">"
+ public Keyword getGreaterThanSignKeyword_3() { return cGreaterThanSignKeyword_3; }
+ }
+
+ public class NamedTemplateBindingElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NamedTemplateBinding");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cFormalAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cFormalIDTerminalRuleCall_0_0 = (RuleCall)cFormalAssignment_0.eContents().get(0);
+ private final Keyword cEqualsSignGreaterThanSignKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cActualAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cActualQualifiedNameWithBindingParserRuleCall_2_0 = (RuleCall)cActualAssignment_2.eContents().get(0);
+
+ //NamedTemplateBinding:
+ // formal=ID "=>" actual=QualifiedNameWithBinding;
+ public ParserRule getRule() { return rule; }
+
+ //formal=ID "=>" actual=QualifiedNameWithBinding
+ public Group getGroup() { return cGroup; }
+
+ //formal=ID
+ public Assignment getFormalAssignment_0() { return cFormalAssignment_0; }
+
+ //ID
+ public RuleCall getFormalIDTerminalRuleCall_0_0() { return cFormalIDTerminalRuleCall_0_0; }
+
+ //"=>"
+ public Keyword getEqualsSignGreaterThanSignKeyword_1() { return cEqualsSignGreaterThanSignKeyword_1; }
+
+ //actual=QualifiedNameWithBinding
+ public Assignment getActualAssignment_2() { return cActualAssignment_2; }
+
+ //QualifiedNameWithBinding
+ public RuleCall getActualQualifiedNameWithBindingParserRuleCall_2_0() { return cActualQualifiedNameWithBindingParserRuleCall_2_0; }
+ }
+
+ public class QualifiedNameWithBindingElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "QualifiedNameWithBinding");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cIdAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cIdIDTerminalRuleCall_0_0 = (RuleCall)cIdAssignment_0.eContents().get(0);
+ private final Assignment cBindingAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cBindingTemplateBindingParserRuleCall_1_0 = (RuleCall)cBindingAssignment_1.eContents().get(0);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Keyword cColonColonKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+ private final Assignment cRemainingAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
+ private final RuleCall cRemainingQualifiedNameWithBindingParserRuleCall_2_1_0 = (RuleCall)cRemainingAssignment_2_1.eContents().get(0);
+
+ //QualifiedNameWithBinding:
+ // id=ID binding=TemplateBinding? ("::" remaining=QualifiedNameWithBinding)?;
+ public ParserRule getRule() { return rule; }
+
+ //id=ID binding=TemplateBinding? ("::" remaining=QualifiedNameWithBinding)?
+ public Group getGroup() { return cGroup; }
+
+ //id=ID
+ public Assignment getIdAssignment_0() { return cIdAssignment_0; }
+
+ //ID
+ public RuleCall getIdIDTerminalRuleCall_0_0() { return cIdIDTerminalRuleCall_0_0; }
+
+ //binding=TemplateBinding?
+ public Assignment getBindingAssignment_1() { return cBindingAssignment_1; }
+
+ //TemplateBinding
+ public RuleCall getBindingTemplateBindingParserRuleCall_1_0() { return cBindingTemplateBindingParserRuleCall_1_0; }
+
+ //("::" remaining=QualifiedNameWithBinding)?
+ public Group getGroup_2() { return cGroup_2; }
+
+ //"::"
+ public Keyword getColonColonKeyword_2_0() { return cColonColonKeyword_2_0; }
+
+ //remaining=QualifiedNameWithBinding
+ public Assignment getRemainingAssignment_2_1() { return cRemainingAssignment_2_1; }
+
+ //QualifiedNameWithBinding
+ public RuleCall getRemainingQualifiedNameWithBindingParserRuleCall_2_1_0() { return cRemainingQualifiedNameWithBindingParserRuleCall_2_1_0; }
+ }
+
+ public class TupleElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Tuple");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cTupleAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Assignment cTupleElementsAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0);
+ private final RuleCall cTupleElementsTupleElementParserRuleCall_2_0_0 = (RuleCall)cTupleElementsAssignment_2_0.eContents().get(0);
+ private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1);
+ private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0);
+ private final Assignment cTupleElementsAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1);
+ private final RuleCall cTupleElementsTupleElementParserRuleCall_2_1_1_0 = (RuleCall)cTupleElementsAssignment_2_1_1.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
+
+ //Tuple:
+ // {Tuple} "(" (tupleElements+=TupleElement ("," tupleElements+=TupleElement)*)? ")";
+ public ParserRule getRule() { return rule; }
+
+ //{Tuple} "(" (tupleElements+=TupleElement ("," tupleElements+=TupleElement)*)? ")"
+ public Group getGroup() { return cGroup; }
+
+ //{Tuple}
+ public Action getTupleAction_0() { return cTupleAction_0; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
+
+ //(tupleElements+=TupleElement ("," tupleElements+=TupleElement)*)?
+ public Group getGroup_2() { return cGroup_2; }
+
+ //tupleElements+=TupleElement
+ public Assignment getTupleElementsAssignment_2_0() { return cTupleElementsAssignment_2_0; }
+
+ //TupleElement
+ public RuleCall getTupleElementsTupleElementParserRuleCall_2_0_0() { return cTupleElementsTupleElementParserRuleCall_2_0_0; }
+
+ //("," tupleElements+=TupleElement)*
+ public Group getGroup_2_1() { return cGroup_2_1; }
+
+ //","
+ public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; }
+
+ //tupleElements+=TupleElement
+ public Assignment getTupleElementsAssignment_2_1_1() { return cTupleElementsAssignment_2_1_1; }
+
+ //TupleElement
+ public RuleCall getTupleElementsTupleElementParserRuleCall_2_1_1_0() { return cTupleElementsTupleElementParserRuleCall_2_1_1_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
+ }
+
+ public class TupleElementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TupleElement");
+ private final Assignment cArgumentAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cArgumentExpressionParserRuleCall_0 = (RuleCall)cArgumentAssignment.eContents().get(0);
+
+ //TupleElement:
+ // argument=Expression;
+ public ParserRule getRule() { return rule; }
+
+ //argument=Expression
+ public Assignment getArgumentAssignment() { return cArgumentAssignment; }
+
+ //Expression
+ public RuleCall getArgumentExpressionParserRuleCall_0() { return cArgumentExpressionParserRuleCall_0; }
+ }
+
+ public class ExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression");
+ private final RuleCall cConditionalTestExpressionParserRuleCall = (RuleCall)rule.eContents().get(1);
+
+ /// **************
+ // * Expressions
+ // ************** / Expression:
+ // ConditionalTestExpression;
+ public ParserRule getRule() { return rule; }
+
+ //ConditionalTestExpression
+ public RuleCall getConditionalTestExpressionParserRuleCall() { return cConditionalTestExpressionParserRuleCall; }
+ }
+
+ public class ConditionalTestExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ConditionalTestExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cExpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cExpConditionalOrExpressionParserRuleCall_0_0 = (RuleCall)cExpAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cQuestionMarkKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cWhenTrueAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cWhenTrueConditionalTestExpressionParserRuleCall_1_1_0 = (RuleCall)cWhenTrueAssignment_1_1.eContents().get(0);
+ private final Keyword cColonKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2);
+ private final Assignment cWhenFalseAssignment_1_3 = (Assignment)cGroup_1.eContents().get(3);
+ private final RuleCall cWhenFalseConditionalTestExpressionParserRuleCall_1_3_0 = (RuleCall)cWhenFalseAssignment_1_3.eContents().get(0);
+
+ //ConditionalTestExpression:
+ // exp=ConditionalOrExpression ("?" whenTrue=ConditionalTestExpression ":" whenFalse=ConditionalTestExpression)?;
+ public ParserRule getRule() { return rule; }
+
+ //exp=ConditionalOrExpression ("?" whenTrue=ConditionalTestExpression ":" whenFalse=ConditionalTestExpression)?
+ public Group getGroup() { return cGroup; }
+
+ //exp=ConditionalOrExpression
+ public Assignment getExpAssignment_0() { return cExpAssignment_0; }
+
+ //ConditionalOrExpression
+ public RuleCall getExpConditionalOrExpressionParserRuleCall_0_0() { return cExpConditionalOrExpressionParserRuleCall_0_0; }
+
+ //("?" whenTrue=ConditionalTestExpression ":" whenFalse=ConditionalTestExpression)?
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"?"
+ public Keyword getQuestionMarkKeyword_1_0() { return cQuestionMarkKeyword_1_0; }
+
+ //whenTrue=ConditionalTestExpression
+ public Assignment getWhenTrueAssignment_1_1() { return cWhenTrueAssignment_1_1; }
+
+ //ConditionalTestExpression
+ public RuleCall getWhenTrueConditionalTestExpressionParserRuleCall_1_1_0() { return cWhenTrueConditionalTestExpressionParserRuleCall_1_1_0; }
+
+ //":"
+ public Keyword getColonKeyword_1_2() { return cColonKeyword_1_2; }
+
+ //whenFalse=ConditionalTestExpression
+ public Assignment getWhenFalseAssignment_1_3() { return cWhenFalseAssignment_1_3; }
+
+ //ConditionalTestExpression
+ public RuleCall getWhenFalseConditionalTestExpressionParserRuleCall_1_3_0() { return cWhenFalseConditionalTestExpressionParserRuleCall_1_3_0; }
+ }
+
+ public class ConditionalOrExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ConditionalOrExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cExpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cExpConditionalAndExpressionParserRuleCall_0_0 = (RuleCall)cExpAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cVerticalLineVerticalLineKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cExpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cExpConditionalAndExpressionParserRuleCall_1_1_0 = (RuleCall)cExpAssignment_1_1.eContents().get(0);
+
+ //ConditionalOrExpression:
+ // exp+=ConditionalAndExpression ("||" exp+=ConditionalAndExpression)*;
+ public ParserRule getRule() { return rule; }
+
+ //exp+=ConditionalAndExpression ("||" exp+=ConditionalAndExpression)*
+ public Group getGroup() { return cGroup; }
+
+ //exp+=ConditionalAndExpression
+ public Assignment getExpAssignment_0() { return cExpAssignment_0; }
+
+ //ConditionalAndExpression
+ public RuleCall getExpConditionalAndExpressionParserRuleCall_0_0() { return cExpConditionalAndExpressionParserRuleCall_0_0; }
+
+ //("||" exp+=ConditionalAndExpression)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"||"
+ public Keyword getVerticalLineVerticalLineKeyword_1_0() { return cVerticalLineVerticalLineKeyword_1_0; }
+
+ //exp+=ConditionalAndExpression
+ public Assignment getExpAssignment_1_1() { return cExpAssignment_1_1; }
+
+ //ConditionalAndExpression
+ public RuleCall getExpConditionalAndExpressionParserRuleCall_1_1_0() { return cExpConditionalAndExpressionParserRuleCall_1_1_0; }
+ }
+
+ public class ConditionalAndExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ConditionalAndExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cExpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cExpInclusiveOrExpressionParserRuleCall_0_0 = (RuleCall)cExpAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cAmpersandAmpersandKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cExpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cExpInclusiveOrExpressionParserRuleCall_1_1_0 = (RuleCall)cExpAssignment_1_1.eContents().get(0);
+
+ //ConditionalAndExpression:
+ // exp+=InclusiveOrExpression ("&&" exp+=InclusiveOrExpression)*;
+ public ParserRule getRule() { return rule; }
+
+ //exp+=InclusiveOrExpression ("&&" exp+=InclusiveOrExpression)*
+ public Group getGroup() { return cGroup; }
+
+ //exp+=InclusiveOrExpression
+ public Assignment getExpAssignment_0() { return cExpAssignment_0; }
+
+ //InclusiveOrExpression
+ public RuleCall getExpInclusiveOrExpressionParserRuleCall_0_0() { return cExpInclusiveOrExpressionParserRuleCall_0_0; }
+
+ //("&&" exp+=InclusiveOrExpression)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"&&"
+ public Keyword getAmpersandAmpersandKeyword_1_0() { return cAmpersandAmpersandKeyword_1_0; }
+
+ //exp+=InclusiveOrExpression
+ public Assignment getExpAssignment_1_1() { return cExpAssignment_1_1; }
+
+ //InclusiveOrExpression
+ public RuleCall getExpInclusiveOrExpressionParserRuleCall_1_1_0() { return cExpInclusiveOrExpressionParserRuleCall_1_1_0; }
+ }
+
+ public class InclusiveOrExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InclusiveOrExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cExpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cExpExclusiveOrExpressionParserRuleCall_0_0 = (RuleCall)cExpAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cVerticalLineKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cExpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cExpExclusiveOrExpressionParserRuleCall_1_1_0 = (RuleCall)cExpAssignment_1_1.eContents().get(0);
+
+ //InclusiveOrExpression:
+ // exp+=ExclusiveOrExpression ("|" exp+=ExclusiveOrExpression)*;
+ public ParserRule getRule() { return rule; }
+
+ //exp+=ExclusiveOrExpression ("|" exp+=ExclusiveOrExpression)*
+ public Group getGroup() { return cGroup; }
+
+ //exp+=ExclusiveOrExpression
+ public Assignment getExpAssignment_0() { return cExpAssignment_0; }
+
+ //ExclusiveOrExpression
+ public RuleCall getExpExclusiveOrExpressionParserRuleCall_0_0() { return cExpExclusiveOrExpressionParserRuleCall_0_0; }
+
+ //("|" exp+=ExclusiveOrExpression)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"|"
+ public Keyword getVerticalLineKeyword_1_0() { return cVerticalLineKeyword_1_0; }
+
+ //exp+=ExclusiveOrExpression
+ public Assignment getExpAssignment_1_1() { return cExpAssignment_1_1; }
+
+ //ExclusiveOrExpression
+ public RuleCall getExpExclusiveOrExpressionParserRuleCall_1_1_0() { return cExpExclusiveOrExpressionParserRuleCall_1_1_0; }
+ }
+
+ public class ExclusiveOrExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExclusiveOrExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cExpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cExpAndExpressionParserRuleCall_0_0 = (RuleCall)cExpAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cCircumflexAccentKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cExpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cExpAndExpressionParserRuleCall_1_1_0 = (RuleCall)cExpAssignment_1_1.eContents().get(0);
+
+ //ExclusiveOrExpression:
+ // exp+=AndExpression ("^" exp+=AndExpression)*;
+ public ParserRule getRule() { return rule; }
+
+ //exp+=AndExpression ("^" exp+=AndExpression)*
+ public Group getGroup() { return cGroup; }
+
+ //exp+=AndExpression
+ public Assignment getExpAssignment_0() { return cExpAssignment_0; }
+
+ //AndExpression
+ public RuleCall getExpAndExpressionParserRuleCall_0_0() { return cExpAndExpressionParserRuleCall_0_0; }
+
+ //("^" exp+=AndExpression)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"^"
+ public Keyword getCircumflexAccentKeyword_1_0() { return cCircumflexAccentKeyword_1_0; }
+
+ //exp+=AndExpression
+ public Assignment getExpAssignment_1_1() { return cExpAssignment_1_1; }
+
+ //AndExpression
+ public RuleCall getExpAndExpressionParserRuleCall_1_1_0() { return cExpAndExpressionParserRuleCall_1_1_0; }
+ }
+
+ public class AndExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AndExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cExpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cExpEqualityExpressionParserRuleCall_0_0 = (RuleCall)cExpAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cAmpersandKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cExpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cExpEqualityExpressionParserRuleCall_1_1_0 = (RuleCall)cExpAssignment_1_1.eContents().get(0);
+
+ //AndExpression:
+ // exp+=EqualityExpression ("&" exp+=EqualityExpression)*;
+ public ParserRule getRule() { return rule; }
+
+ //exp+=EqualityExpression ("&" exp+=EqualityExpression)*
+ public Group getGroup() { return cGroup; }
+
+ //exp+=EqualityExpression
+ public Assignment getExpAssignment_0() { return cExpAssignment_0; }
+
+ //EqualityExpression
+ public RuleCall getExpEqualityExpressionParserRuleCall_0_0() { return cExpEqualityExpressionParserRuleCall_0_0; }
+
+ //("&" exp+=EqualityExpression)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"&"
+ public Keyword getAmpersandKeyword_1_0() { return cAmpersandKeyword_1_0; }
+
+ //exp+=EqualityExpression
+ public Assignment getExpAssignment_1_1() { return cExpAssignment_1_1; }
+
+ //EqualityExpression
+ public RuleCall getExpEqualityExpressionParserRuleCall_1_1_0() { return cExpEqualityExpressionParserRuleCall_1_1_0; }
+ }
+
+ public class EqualityExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EqualityExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cExpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cExpClassificationExpressionParserRuleCall_0_0 = (RuleCall)cExpAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Assignment cOpAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
+ private final Alternatives cOpAlternatives_1_0_0 = (Alternatives)cOpAssignment_1_0.eContents().get(0);
+ private final Keyword cOpEqualsSignEqualsSignKeyword_1_0_0_0 = (Keyword)cOpAlternatives_1_0_0.eContents().get(0);
+ private final Keyword cOpExclamationMarkEqualsSignKeyword_1_0_0_1 = (Keyword)cOpAlternatives_1_0_0.eContents().get(1);
+ private final Assignment cExpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cExpClassificationExpressionParserRuleCall_1_1_0 = (RuleCall)cExpAssignment_1_1.eContents().get(0);
+
+ //EqualityExpression:
+ // exp+=ClassificationExpression (op+=("==" | "!=") exp+=ClassificationExpression)*;
+ public ParserRule getRule() { return rule; }
+
+ //exp+=ClassificationExpression (op+=("==" | "!=") exp+=ClassificationExpression)*
+ public Group getGroup() { return cGroup; }
+
+ //exp+=ClassificationExpression
+ public Assignment getExpAssignment_0() { return cExpAssignment_0; }
+
+ //ClassificationExpression
+ public RuleCall getExpClassificationExpressionParserRuleCall_0_0() { return cExpClassificationExpressionParserRuleCall_0_0; }
+
+ //(op+=("==" | "!=") exp+=ClassificationExpression)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //op+=("==" | "!=")
+ public Assignment getOpAssignment_1_0() { return cOpAssignment_1_0; }
+
+ //"==" | "!="
+ public Alternatives getOpAlternatives_1_0_0() { return cOpAlternatives_1_0_0; }
+
+ //"=="
+ public Keyword getOpEqualsSignEqualsSignKeyword_1_0_0_0() { return cOpEqualsSignEqualsSignKeyword_1_0_0_0; }
+
+ //"!="
+ public Keyword getOpExclamationMarkEqualsSignKeyword_1_0_0_1() { return cOpExclamationMarkEqualsSignKeyword_1_0_0_1; }
+
+ //exp+=ClassificationExpression
+ public Assignment getExpAssignment_1_1() { return cExpAssignment_1_1; }
+
+ //ClassificationExpression
+ public RuleCall getExpClassificationExpressionParserRuleCall_1_1_0() { return cExpClassificationExpressionParserRuleCall_1_1_0; }
+ }
+
+ public class ClassificationExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ClassificationExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cExpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cExpRelationalExpressionParserRuleCall_0_0 = (RuleCall)cExpAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Assignment cOpAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
+ private final Alternatives cOpAlternatives_1_0_0 = (Alternatives)cOpAssignment_1_0.eContents().get(0);
+ private final Keyword cOpInstanceofKeyword_1_0_0_0 = (Keyword)cOpAlternatives_1_0_0.eContents().get(0);
+ private final Keyword cOpHastypeKeyword_1_0_0_1 = (Keyword)cOpAlternatives_1_0_0.eContents().get(1);
+ private final Assignment cTypeNameAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cTypeNameNameExpressionParserRuleCall_1_1_0 = (RuleCall)cTypeNameAssignment_1_1.eContents().get(0);
+
+ ////enum EqualityOperator :
+ //// EQUALS = '==' |
+ //// NOT_EQUALS = '!='
+ ////;
+ //ClassificationExpression:
+ // exp=RelationalExpression (op=("instanceof" | "hastype") typeName=NameExpression)?;
+ public ParserRule getRule() { return rule; }
+
+ //exp=RelationalExpression (op=("instanceof" | "hastype") typeName=NameExpression)?
+ public Group getGroup() { return cGroup; }
+
+ //exp=RelationalExpression
+ public Assignment getExpAssignment_0() { return cExpAssignment_0; }
+
+ //RelationalExpression
+ public RuleCall getExpRelationalExpressionParserRuleCall_0_0() { return cExpRelationalExpressionParserRuleCall_0_0; }
+
+ //(op=("instanceof" | "hastype") typeName=NameExpression)?
+ public Group getGroup_1() { return cGroup_1; }
+
+ //op=("instanceof" | "hastype")
+ public Assignment getOpAssignment_1_0() { return cOpAssignment_1_0; }
+
+ //"instanceof" | "hastype"
+ public Alternatives getOpAlternatives_1_0_0() { return cOpAlternatives_1_0_0; }
+
+ //"instanceof"
+ public Keyword getOpInstanceofKeyword_1_0_0_0() { return cOpInstanceofKeyword_1_0_0_0; }
+
+ //"hastype"
+ public Keyword getOpHastypeKeyword_1_0_0_1() { return cOpHastypeKeyword_1_0_0_1; }
+
+ //typeName=NameExpression
+ public Assignment getTypeNameAssignment_1_1() { return cTypeNameAssignment_1_1; }
+
+ //NameExpression
+ public RuleCall getTypeNameNameExpressionParserRuleCall_1_1_0() { return cTypeNameNameExpressionParserRuleCall_1_1_0; }
+ }
+
+ public class RelationalExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RelationalExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cLeftAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cLeftShiftExpressionParserRuleCall_0_0 = (RuleCall)cLeftAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Assignment cOpAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
+ private final Alternatives cOpAlternatives_1_0_0 = (Alternatives)cOpAssignment_1_0.eContents().get(0);
+ private final Keyword cOpLessThanSignKeyword_1_0_0_0 = (Keyword)cOpAlternatives_1_0_0.eContents().get(0);
+ private final Keyword cOpGreaterThanSignKeyword_1_0_0_1 = (Keyword)cOpAlternatives_1_0_0.eContents().get(1);
+ private final Keyword cOpLessThanSignEqualsSignKeyword_1_0_0_2 = (Keyword)cOpAlternatives_1_0_0.eContents().get(2);
+ private final Keyword cOpGreaterThanSignEqualsSignKeyword_1_0_0_3 = (Keyword)cOpAlternatives_1_0_0.eContents().get(3);
+ private final Assignment cRightAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cRightShiftExpressionParserRuleCall_1_1_0 = (RuleCall)cRightAssignment_1_1.eContents().get(0);
+
+ ////enum ClassificationOperator :
+ //// INSTANCEOF = 'instanceof' |
+ //// HASTYPE = 'hastype'
+ ////;
+ //RelationalExpression:
+ // left=ShiftExpression (op=("<" | ">" | "<=" | ">=") right=ShiftExpression)?;
+ public ParserRule getRule() { return rule; }
+
+ //left=ShiftExpression (op=("<" | ">" | "<=" | ">=") right=ShiftExpression)?
+ public Group getGroup() { return cGroup; }
+
+ //left=ShiftExpression
+ public Assignment getLeftAssignment_0() { return cLeftAssignment_0; }
+
+ //ShiftExpression
+ public RuleCall getLeftShiftExpressionParserRuleCall_0_0() { return cLeftShiftExpressionParserRuleCall_0_0; }
+
+ //(op=("<" | ">" | "<=" | ">=") right=ShiftExpression)?
+ public Group getGroup_1() { return cGroup_1; }
+
+ //op=("<" | ">" | "<=" | ">=")
+ public Assignment getOpAssignment_1_0() { return cOpAssignment_1_0; }
+
+ //"<" | ">" | "<=" | ">="
+ public Alternatives getOpAlternatives_1_0_0() { return cOpAlternatives_1_0_0; }
+
+ //"<"
+ public Keyword getOpLessThanSignKeyword_1_0_0_0() { return cOpLessThanSignKeyword_1_0_0_0; }
+
+ //">"
+ public Keyword getOpGreaterThanSignKeyword_1_0_0_1() { return cOpGreaterThanSignKeyword_1_0_0_1; }
+
+ //"<="
+ public Keyword getOpLessThanSignEqualsSignKeyword_1_0_0_2() { return cOpLessThanSignEqualsSignKeyword_1_0_0_2; }
+
+ //">="
+ public Keyword getOpGreaterThanSignEqualsSignKeyword_1_0_0_3() { return cOpGreaterThanSignEqualsSignKeyword_1_0_0_3; }
+
+ //right=ShiftExpression
+ public Assignment getRightAssignment_1_1() { return cRightAssignment_1_1; }
+
+ //ShiftExpression
+ public RuleCall getRightShiftExpressionParserRuleCall_1_1_0() { return cRightShiftExpressionParserRuleCall_1_1_0; }
+ }
+
+ public class ShiftExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ShiftExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cExpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cExpAdditiveExpressionParserRuleCall_0_0 = (RuleCall)cExpAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Assignment cOpAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
+ private final Alternatives cOpAlternatives_1_0_0 = (Alternatives)cOpAssignment_1_0.eContents().get(0);
+ private final Keyword cOpLessThanSignLessThanSignKeyword_1_0_0_0 = (Keyword)cOpAlternatives_1_0_0.eContents().get(0);
+ private final Keyword cOpGreaterThanSignGreaterThanSignKeyword_1_0_0_1 = (Keyword)cOpAlternatives_1_0_0.eContents().get(1);
+ private final Keyword cOpGreaterThanSignGreaterThanSignGreaterThanSignKeyword_1_0_0_2 = (Keyword)cOpAlternatives_1_0_0.eContents().get(2);
+ private final Assignment cExpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cExpAdditiveExpressionParserRuleCall_1_1_0 = (RuleCall)cExpAssignment_1_1.eContents().get(0);
+
+ ////RelationalOperator :
+ //// LOWER = '<' |
+ //// UPPER = '>' |
+ //// LOWER_EQUALS = '<=' |
+ //// UPPER_EQUALS = '>='
+ ////;
+ //ShiftExpression:
+ // exp+=AdditiveExpression (op=("<<" | ">>" | ">>>") exp+=AdditiveExpression)?;
+ public ParserRule getRule() { return rule; }
+
+ //exp+=AdditiveExpression (op=("<<" | ">>" | ">>>") exp+=AdditiveExpression)?
+ public Group getGroup() { return cGroup; }
+
+ //exp+=AdditiveExpression
+ public Assignment getExpAssignment_0() { return cExpAssignment_0; }
+
+ //AdditiveExpression
+ public RuleCall getExpAdditiveExpressionParserRuleCall_0_0() { return cExpAdditiveExpressionParserRuleCall_0_0; }
+
+ //(op=("<<" | ">>" | ">>>") exp+=AdditiveExpression)?
+ public Group getGroup_1() { return cGroup_1; }
+
+ //op=("<<" | ">>" | ">>>")
+ public Assignment getOpAssignment_1_0() { return cOpAssignment_1_0; }
+
+ //"<<" | ">>" | ">>>"
+ public Alternatives getOpAlternatives_1_0_0() { return cOpAlternatives_1_0_0; }
+
+ //"<<"
+ public Keyword getOpLessThanSignLessThanSignKeyword_1_0_0_0() { return cOpLessThanSignLessThanSignKeyword_1_0_0_0; }
+
+ //">>"
+ public Keyword getOpGreaterThanSignGreaterThanSignKeyword_1_0_0_1() { return cOpGreaterThanSignGreaterThanSignKeyword_1_0_0_1; }
+
+ //">>>"
+ public Keyword getOpGreaterThanSignGreaterThanSignGreaterThanSignKeyword_1_0_0_2() { return cOpGreaterThanSignGreaterThanSignGreaterThanSignKeyword_1_0_0_2; }
+
+ //exp+=AdditiveExpression
+ public Assignment getExpAssignment_1_1() { return cExpAssignment_1_1; }
+
+ //AdditiveExpression
+ public RuleCall getExpAdditiveExpressionParserRuleCall_1_1_0() { return cExpAdditiveExpressionParserRuleCall_1_1_0; }
+ }
+
+ public class AdditiveExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AdditiveExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cExpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cExpMultiplicativeExpressionParserRuleCall_0_0 = (RuleCall)cExpAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Assignment cOpAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
+ private final Alternatives cOpAlternatives_1_0_0 = (Alternatives)cOpAssignment_1_0.eContents().get(0);
+ private final Keyword cOpPlusSignKeyword_1_0_0_0 = (Keyword)cOpAlternatives_1_0_0.eContents().get(0);
+ private final Keyword cOpHyphenMinusKeyword_1_0_0_1 = (Keyword)cOpAlternatives_1_0_0.eContents().get(1);
+ private final Assignment cExpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cExpMultiplicativeExpressionParserRuleCall_1_1_0 = (RuleCall)cExpAssignment_1_1.eContents().get(0);
+
+ ////enum ShiftOperator :
+ //// LSHIFT = '<<' |
+ //// RSHIFT = '>>' |
+ //// URSHIFT = '>>>'
+ ////;
+ //AdditiveExpression:
+ // exp+=MultiplicativeExpression (op+=("+" | "-") exp+=MultiplicativeExpression)*;
+ public ParserRule getRule() { return rule; }
+
+ //exp+=MultiplicativeExpression (op+=("+" | "-") exp+=MultiplicativeExpression)*
+ public Group getGroup() { return cGroup; }
+
+ //exp+=MultiplicativeExpression
+ public Assignment getExpAssignment_0() { return cExpAssignment_0; }
+
+ //MultiplicativeExpression
+ public RuleCall getExpMultiplicativeExpressionParserRuleCall_0_0() { return cExpMultiplicativeExpressionParserRuleCall_0_0; }
+
+ //(op+=("+" | "-") exp+=MultiplicativeExpression)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //op+=("+" | "-")
+ public Assignment getOpAssignment_1_0() { return cOpAssignment_1_0; }
+
+ //"+" | "-"
+ public Alternatives getOpAlternatives_1_0_0() { return cOpAlternatives_1_0_0; }
+
+ //"+"
+ public Keyword getOpPlusSignKeyword_1_0_0_0() { return cOpPlusSignKeyword_1_0_0_0; }
+
+ //"-"
+ public Keyword getOpHyphenMinusKeyword_1_0_0_1() { return cOpHyphenMinusKeyword_1_0_0_1; }
+
+ //exp+=MultiplicativeExpression
+ public Assignment getExpAssignment_1_1() { return cExpAssignment_1_1; }
+
+ //MultiplicativeExpression
+ public RuleCall getExpMultiplicativeExpressionParserRuleCall_1_1_0() { return cExpMultiplicativeExpressionParserRuleCall_1_1_0; }
+ }
+
+ public class MultiplicativeExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MultiplicativeExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cExpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cExpUnaryExpressionParserRuleCall_0_0 = (RuleCall)cExpAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Assignment cOpAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
+ private final Alternatives cOpAlternatives_1_0_0 = (Alternatives)cOpAssignment_1_0.eContents().get(0);
+ private final Keyword cOpAsteriskKeyword_1_0_0_0 = (Keyword)cOpAlternatives_1_0_0.eContents().get(0);
+ private final Keyword cOpSolidusKeyword_1_0_0_1 = (Keyword)cOpAlternatives_1_0_0.eContents().get(1);
+ private final Keyword cOpPercentSignKeyword_1_0_0_2 = (Keyword)cOpAlternatives_1_0_0.eContents().get(2);
+ private final Assignment cExpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cExpUnaryExpressionParserRuleCall_1_1_0 = (RuleCall)cExpAssignment_1_1.eContents().get(0);
+
+ ////enum AdditiveOp :
+ //// PLUS = '+' |
+ //// MINUS = '-'
+ ////;
+ //MultiplicativeExpression:
+ // exp+=UnaryExpression (op+=("*" | "/" | "%") exp+=UnaryExpression)*;
+ public ParserRule getRule() { return rule; }
+
+ //exp+=UnaryExpression (op+=("*" | "/" | "%") exp+=UnaryExpression)*
+ public Group getGroup() { return cGroup; }
+
+ //exp+=UnaryExpression
+ public Assignment getExpAssignment_0() { return cExpAssignment_0; }
+
+ //UnaryExpression
+ public RuleCall getExpUnaryExpressionParserRuleCall_0_0() { return cExpUnaryExpressionParserRuleCall_0_0; }
+
+ //(op+=("*" | "/" | "%") exp+=UnaryExpression)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //op+=("*" | "/" | "%")
+ public Assignment getOpAssignment_1_0() { return cOpAssignment_1_0; }
+
+ //"*" | "/" | "%"
+ public Alternatives getOpAlternatives_1_0_0() { return cOpAlternatives_1_0_0; }
+
+ //"*"
+ public Keyword getOpAsteriskKeyword_1_0_0_0() { return cOpAsteriskKeyword_1_0_0_0; }
+
+ //"/"
+ public Keyword getOpSolidusKeyword_1_0_0_1() { return cOpSolidusKeyword_1_0_0_1; }
+
+ //"%"
+ public Keyword getOpPercentSignKeyword_1_0_0_2() { return cOpPercentSignKeyword_1_0_0_2; }
+
+ //exp+=UnaryExpression
+ public Assignment getExpAssignment_1_1() { return cExpAssignment_1_1; }
+
+ //UnaryExpression
+ public RuleCall getExpUnaryExpressionParserRuleCall_1_1_0() { return cExpUnaryExpressionParserRuleCall_1_1_0; }
+ }
+
+ public class UnaryExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "UnaryExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final Alternatives cOpAlternatives_0_0 = (Alternatives)cOpAssignment_0.eContents().get(0);
+ private final Keyword cOpExclamationMarkKeyword_0_0_0 = (Keyword)cOpAlternatives_0_0.eContents().get(0);
+ private final Keyword cOpHyphenMinusKeyword_0_0_1 = (Keyword)cOpAlternatives_0_0.eContents().get(1);
+ private final Keyword cOpPlusSignKeyword_0_0_2 = (Keyword)cOpAlternatives_0_0.eContents().get(2);
+ private final Keyword cOpDollarSignKeyword_0_0_3 = (Keyword)cOpAlternatives_0_0.eContents().get(3);
+ private final Keyword cOpTildeKeyword_0_0_4 = (Keyword)cOpAlternatives_0_0.eContents().get(4);
+ private final Assignment cExpAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cExpPrimaryExpressionParserRuleCall_1_0 = (RuleCall)cExpAssignment_1.eContents().get(0);
+
+ ////enum MultiplicativeOp :
+ //// MULT = '*' |
+ //// DIV = '/' |
+ //// MOD = '%'
+ ////;
+ //UnaryExpression:
+ // op=("!" | "-" | "+" | "$" | "~")? exp=PrimaryExpression;
+ public ParserRule getRule() { return rule; }
+
+ //op=("!" | "-" | "+" | "$" | "~")? exp=PrimaryExpression
+ public Group getGroup() { return cGroup; }
+
+ //op=("!" | "-" | "+" | "$" | "~")?
+ public Assignment getOpAssignment_0() { return cOpAssignment_0; }
+
+ //"!" | "-" | "+" | "$" | "~"
+ public Alternatives getOpAlternatives_0_0() { return cOpAlternatives_0_0; }
+
+ //"!"
+ public Keyword getOpExclamationMarkKeyword_0_0_0() { return cOpExclamationMarkKeyword_0_0_0; }
+
+ //"-"
+ public Keyword getOpHyphenMinusKeyword_0_0_1() { return cOpHyphenMinusKeyword_0_0_1; }
+
+ //"+"
+ public Keyword getOpPlusSignKeyword_0_0_2() { return cOpPlusSignKeyword_0_0_2; }
+
+ //"$"
+ public Keyword getOpDollarSignKeyword_0_0_3() { return cOpDollarSignKeyword_0_0_3; }
+
+ //"~"
+ public Keyword getOpTildeKeyword_0_0_4() { return cOpTildeKeyword_0_0_4; }
+
+ //exp=PrimaryExpression
+ public Assignment getExpAssignment_1() { return cExpAssignment_1; }
+
+ //PrimaryExpression
+ public RuleCall getExpPrimaryExpressionParserRuleCall_1_0() { return cExpPrimaryExpressionParserRuleCall_1_0; }
+ }
+
+ public class PrimaryExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PrimaryExpression");
+ private final Assignment cPrefixAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cPrefixValueSpecificationParserRuleCall_0 = (RuleCall)cPrefixAssignment.eContents().get(0);
+
+ ////PrimaryExpression :
+ //// prefix = ValueSpecification (suffix = SuffixExpression)?
+ ////;
+ //PrimaryExpression:
+ // prefix=ValueSpecification;
+ public ParserRule getRule() { return rule; }
+
+ //prefix=ValueSpecification
+ public Assignment getPrefixAssignment() { return cPrefixAssignment; }
+
+ //ValueSpecification
+ public RuleCall getPrefixValueSpecificationParserRuleCall_0() { return cPrefixValueSpecificationParserRuleCall_0; }
+ }
+
+ public class SuffixExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SuffixExpression");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cOperationCallExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cPropertyCallExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+ private final RuleCall cLinkOperationExpressionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+ private final RuleCall cSequenceOperationExpressionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
+ private final RuleCall cSequenceReductionExpressionParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
+ private final RuleCall cSequenceExpansionExpressionParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
+ private final RuleCall cClassExtentExpressionParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6);
+
+ //SuffixExpression:
+ // OperationCallExpression | PropertyCallExpression | LinkOperationExpression | SequenceOperationExpression |
+ // SequenceReductionExpression | SequenceExpansionExpression | ClassExtentExpression;
+ public ParserRule getRule() { return rule; }
+
+ //OperationCallExpression | PropertyCallExpression | LinkOperationExpression | SequenceOperationExpression |
+ //SequenceReductionExpression | SequenceExpansionExpression | ClassExtentExpression
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //OperationCallExpression
+ public RuleCall getOperationCallExpressionParserRuleCall_0() { return cOperationCallExpressionParserRuleCall_0; }
+
+ //PropertyCallExpression
+ public RuleCall getPropertyCallExpressionParserRuleCall_1() { return cPropertyCallExpressionParserRuleCall_1; }
+
+ //LinkOperationExpression
+ public RuleCall getLinkOperationExpressionParserRuleCall_2() { return cLinkOperationExpressionParserRuleCall_2; }
+
+ //SequenceOperationExpression
+ public RuleCall getSequenceOperationExpressionParserRuleCall_3() { return cSequenceOperationExpressionParserRuleCall_3; }
+
+ //SequenceReductionExpression
+ public RuleCall getSequenceReductionExpressionParserRuleCall_4() { return cSequenceReductionExpressionParserRuleCall_4; }
+
+ //SequenceExpansionExpression
+ public RuleCall getSequenceExpansionExpressionParserRuleCall_5() { return cSequenceExpansionExpressionParserRuleCall_5; }
+
+ //ClassExtentExpression
+ public RuleCall getClassExtentExpressionParserRuleCall_6() { return cClassExtentExpressionParserRuleCall_6; }
+ }
+
+ public class OperationCallExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "OperationCallExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cFullStopKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cOperationNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cOperationNameIDTerminalRuleCall_1_0 = (RuleCall)cOperationNameAssignment_1.eContents().get(0);
+ private final Assignment cTupleAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cTupleTupleParserRuleCall_2_0 = (RuleCall)cTupleAssignment_2.eContents().get(0);
+ private final Assignment cSuffixAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cSuffixSuffixExpressionParserRuleCall_3_0 = (RuleCall)cSuffixAssignment_3.eContents().get(0);
+
+ //OperationCallExpression:
+ // "." operationName=ID tuple=Tuple suffix=SuffixExpression?;
+ public ParserRule getRule() { return rule; }
+
+ //"." operationName=ID tuple=Tuple suffix=SuffixExpression?
+ public Group getGroup() { return cGroup; }
+
+ //"."
+ public Keyword getFullStopKeyword_0() { return cFullStopKeyword_0; }
+
+ //operationName=ID
+ public Assignment getOperationNameAssignment_1() { return cOperationNameAssignment_1; }
+
+ //ID
+ public RuleCall getOperationNameIDTerminalRuleCall_1_0() { return cOperationNameIDTerminalRuleCall_1_0; }
+
+ //tuple=Tuple
+ public Assignment getTupleAssignment_2() { return cTupleAssignment_2; }
+
+ //Tuple
+ public RuleCall getTupleTupleParserRuleCall_2_0() { return cTupleTupleParserRuleCall_2_0; }
+
+ //suffix=SuffixExpression?
+ public Assignment getSuffixAssignment_3() { return cSuffixAssignment_3; }
+
+ //SuffixExpression
+ public RuleCall getSuffixSuffixExpressionParserRuleCall_3_0() { return cSuffixSuffixExpressionParserRuleCall_3_0; }
+ }
+
+ public class PropertyCallExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PropertyCallExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cFullStopKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cPropertyNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cPropertyNameIDTerminalRuleCall_1_0 = (RuleCall)cPropertyNameAssignment_1.eContents().get(0);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Keyword cLeftSquareBracketKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+ private final Assignment cIndexAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
+ private final RuleCall cIndexExpressionParserRuleCall_2_1_0 = (RuleCall)cIndexAssignment_2_1.eContents().get(0);
+ private final Keyword cRightSquareBracketKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2);
+ private final Assignment cSuffixAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cSuffixSuffixExpressionParserRuleCall_3_0 = (RuleCall)cSuffixAssignment_3.eContents().get(0);
+
+ //// OperationCallExpressionWithoutDot :
+ //// operationName = ID tuple = Tuple (suffix = SuffixExpression)?
+ //// ;
+ //PropertyCallExpression:
+ // "." propertyName=ID ("[" index=Expression "]")? suffix=SuffixExpression?;
+ public ParserRule getRule() { return rule; }
+
+ //"." propertyName=ID ("[" index=Expression "]")? suffix=SuffixExpression?
+ public Group getGroup() { return cGroup; }
+
+ //"."
+ public Keyword getFullStopKeyword_0() { return cFullStopKeyword_0; }
+
+ //propertyName=ID
+ public Assignment getPropertyNameAssignment_1() { return cPropertyNameAssignment_1; }
+
+ //ID
+ public RuleCall getPropertyNameIDTerminalRuleCall_1_0() { return cPropertyNameIDTerminalRuleCall_1_0; }
+
+ //("[" index=Expression "]")?
+ public Group getGroup_2() { return cGroup_2; }
+
+ //"["
+ public Keyword getLeftSquareBracketKeyword_2_0() { return cLeftSquareBracketKeyword_2_0; }
+
+ //index=Expression
+ public Assignment getIndexAssignment_2_1() { return cIndexAssignment_2_1; }
+
+ //Expression
+ public RuleCall getIndexExpressionParserRuleCall_2_1_0() { return cIndexExpressionParserRuleCall_2_1_0; }
+
+ //"]"
+ public Keyword getRightSquareBracketKeyword_2_2() { return cRightSquareBracketKeyword_2_2; }
+
+ //suffix=SuffixExpression?
+ public Assignment getSuffixAssignment_3() { return cSuffixAssignment_3; }
+
+ //SuffixExpression
+ public RuleCall getSuffixSuffixExpressionParserRuleCall_3_0() { return cSuffixSuffixExpressionParserRuleCall_3_0; }
+ }
+
+ public class LinkOperationExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LinkOperationExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cFullStopKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cKindAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cKindLinkOperationKindEnumRuleCall_1_0 = (RuleCall)cKindAssignment_1.eContents().get(0);
+ private final Assignment cTupleAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cTupleLinkOperationTupleParserRuleCall_2_0 = (RuleCall)cTupleAssignment_2.eContents().get(0);
+
+ //LinkOperationExpression:
+ // "." kind=LinkOperationKind tuple=LinkOperationTuple;
+ public ParserRule getRule() { return rule; }
+
+ //"." kind=LinkOperationKind tuple=LinkOperationTuple
+ public Group getGroup() { return cGroup; }
+
+ //"."
+ public Keyword getFullStopKeyword_0() { return cFullStopKeyword_0; }
+
+ //kind=LinkOperationKind
+ public Assignment getKindAssignment_1() { return cKindAssignment_1; }
+
+ //LinkOperationKind
+ public RuleCall getKindLinkOperationKindEnumRuleCall_1_0() { return cKindLinkOperationKindEnumRuleCall_1_0; }
+
+ //tuple=LinkOperationTuple
+ public Assignment getTupleAssignment_2() { return cTupleAssignment_2; }
+
+ //LinkOperationTuple
+ public RuleCall getTupleLinkOperationTupleParserRuleCall_2_0() { return cTupleLinkOperationTupleParserRuleCall_2_0; }
+ }
+
+ public class LinkOperationTupleElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LinkOperationTuple");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cLeftParenthesisKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cLinkOperationTupleElementAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cLinkOperationTupleElementLinkOperationTupleElementParserRuleCall_1_0 = (RuleCall)cLinkOperationTupleElementAssignment_1.eContents().get(0);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Keyword cCommaKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+ private final Assignment cLinkOperationTupleElementAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
+ private final RuleCall cLinkOperationTupleElementLinkOperationTupleElementParserRuleCall_2_1_0 = (RuleCall)cLinkOperationTupleElementAssignment_2_1.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
+
+ //LinkOperationTuple:
+ // "(" linkOperationTupleElement+=LinkOperationTupleElement ("," linkOperationTupleElement+=LinkOperationTupleElement)*
+ // ")";
+ public ParserRule getRule() { return rule; }
+
+ //"(" linkOperationTupleElement+=LinkOperationTupleElement ("," linkOperationTupleElement+=LinkOperationTupleElement)* ")"
+ public Group getGroup() { return cGroup; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_0() { return cLeftParenthesisKeyword_0; }
+
+ //linkOperationTupleElement+=LinkOperationTupleElement
+ public Assignment getLinkOperationTupleElementAssignment_1() { return cLinkOperationTupleElementAssignment_1; }
+
+ //LinkOperationTupleElement
+ public RuleCall getLinkOperationTupleElementLinkOperationTupleElementParserRuleCall_1_0() { return cLinkOperationTupleElementLinkOperationTupleElementParserRuleCall_1_0; }
+
+ //("," linkOperationTupleElement+=LinkOperationTupleElement)*
+ public Group getGroup_2() { return cGroup_2; }
+
+ //","
+ public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; }
+
+ //linkOperationTupleElement+=LinkOperationTupleElement
+ public Assignment getLinkOperationTupleElementAssignment_2_1() { return cLinkOperationTupleElementAssignment_2_1; }
+
+ //LinkOperationTupleElement
+ public RuleCall getLinkOperationTupleElementLinkOperationTupleElementParserRuleCall_2_1_0() { return cLinkOperationTupleElementLinkOperationTupleElementParserRuleCall_2_1_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
+ }
+
+ public class LinkOperationTupleElementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LinkOperationTupleElement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cRoleAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cRoleIDTerminalRuleCall_0_0 = (RuleCall)cRoleAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cLeftSquareBracketKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cRoleIndexAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cRoleIndexExpressionParserRuleCall_1_1_0 = (RuleCall)cRoleIndexAssignment_1_1.eContents().get(0);
+ private final Keyword cRightSquareBracketKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2);
+ private final Keyword cEqualsSignGreaterThanSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cObjectAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cObjectExpressionParserRuleCall_3_0 = (RuleCall)cObjectAssignment_3.eContents().get(0);
+
+ ////LinkOperationTupleElement :
+ //// objectOrRole = ID (('['roleIndex = Expression ']')? '=>' object = ID)?
+ ////;
+ //LinkOperationTupleElement:
+ // role=ID ("[" roleIndex=Expression "]")? "=>" object=Expression;
+ public ParserRule getRule() { return rule; }
+
+ //role=ID ("[" roleIndex=Expression "]")? "=>" object=Expression
+ public Group getGroup() { return cGroup; }
+
+ //role=ID
+ public Assignment getRoleAssignment_0() { return cRoleAssignment_0; }
+
+ //ID
+ public RuleCall getRoleIDTerminalRuleCall_0_0() { return cRoleIDTerminalRuleCall_0_0; }
+
+ //("[" roleIndex=Expression "]")?
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"["
+ public Keyword getLeftSquareBracketKeyword_1_0() { return cLeftSquareBracketKeyword_1_0; }
+
+ //roleIndex=Expression
+ public Assignment getRoleIndexAssignment_1_1() { return cRoleIndexAssignment_1_1; }
+
+ //Expression
+ public RuleCall getRoleIndexExpressionParserRuleCall_1_1_0() { return cRoleIndexExpressionParserRuleCall_1_1_0; }
+
+ //"]"
+ public Keyword getRightSquareBracketKeyword_1_2() { return cRightSquareBracketKeyword_1_2; }
+
+ //"=>"
+ public Keyword getEqualsSignGreaterThanSignKeyword_2() { return cEqualsSignGreaterThanSignKeyword_2; }
+
+ //object=Expression
+ public Assignment getObjectAssignment_3() { return cObjectAssignment_3; }
+
+ //Expression
+ public RuleCall getObjectExpressionParserRuleCall_3_0() { return cObjectExpressionParserRuleCall_3_0; }
+ }
+
+ public class SequenceOperationExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SequenceOperationExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cHyphenMinusGreaterThanSignKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cOperationNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cOperationNameQualifiedNameWithBindingParserRuleCall_1_0 = (RuleCall)cOperationNameAssignment_1.eContents().get(0);
+ private final Assignment cTupleAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cTupleTupleParserRuleCall_2_0 = (RuleCall)cTupleAssignment_2.eContents().get(0);
+ private final Assignment cSuffixAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cSuffixSuffixExpressionParserRuleCall_3_0 = (RuleCall)cSuffixAssignment_3.eContents().get(0);
+
+ //SequenceOperationExpression: //'->' operationName = ID tuple = Tuple (suffix = SuffixExpression) ?
+ // "->" operationName=QualifiedNameWithBinding tuple=Tuple suffix=SuffixExpression?;
+ public ParserRule getRule() { return rule; }
+
+ ////'->' operationName = ID tuple = Tuple (suffix = SuffixExpression) ?
+ //"->" operationName=QualifiedNameWithBinding tuple=Tuple suffix=SuffixExpression?
+ public Group getGroup() { return cGroup; }
+
+ ////'->' operationName = ID tuple = Tuple (suffix = SuffixExpression) ?
+ //"->"
+ public Keyword getHyphenMinusGreaterThanSignKeyword_0() { return cHyphenMinusGreaterThanSignKeyword_0; }
+
+ //operationName=QualifiedNameWithBinding
+ public Assignment getOperationNameAssignment_1() { return cOperationNameAssignment_1; }
+
+ //QualifiedNameWithBinding
+ public RuleCall getOperationNameQualifiedNameWithBindingParserRuleCall_1_0() { return cOperationNameQualifiedNameWithBindingParserRuleCall_1_0; }
+
+ //tuple=Tuple
+ public Assignment getTupleAssignment_2() { return cTupleAssignment_2; }
+
+ //Tuple
+ public RuleCall getTupleTupleParserRuleCall_2_0() { return cTupleTupleParserRuleCall_2_0; }
+
+ //suffix=SuffixExpression?
+ public Assignment getSuffixAssignment_3() { return cSuffixAssignment_3; }
+
+ //SuffixExpression
+ public RuleCall getSuffixSuffixExpressionParserRuleCall_3_0() { return cSuffixSuffixExpressionParserRuleCall_3_0; }
+ }
+
+ public class SequenceReductionExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SequenceReductionExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cHyphenMinusGreaterThanSignKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Keyword cReduceKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cIsOrderedAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final Keyword cIsOrderedOrderedKeyword_2_0 = (Keyword)cIsOrderedAssignment_2.eContents().get(0);
+ private final Assignment cBehaviorAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cBehaviorQualifiedNameWithBindingParserRuleCall_3_0 = (RuleCall)cBehaviorAssignment_3.eContents().get(0);
+ private final Assignment cSuffixAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cSuffixSuffixExpressionParserRuleCall_4_0 = (RuleCall)cSuffixAssignment_4.eContents().get(0);
+
+ //SequenceReductionExpression:
+ // "->" "reduce" isOrdered?="ordered"? behavior=QualifiedNameWithBinding suffix=SuffixExpression?;
+ public ParserRule getRule() { return rule; }
+
+ //"->" "reduce" isOrdered?="ordered"? behavior=QualifiedNameWithBinding suffix=SuffixExpression?
+ public Group getGroup() { return cGroup; }
+
+ //"->"
+ public Keyword getHyphenMinusGreaterThanSignKeyword_0() { return cHyphenMinusGreaterThanSignKeyword_0; }
+
+ //"reduce"
+ public Keyword getReduceKeyword_1() { return cReduceKeyword_1; }
+
+ //isOrdered?="ordered"?
+ public Assignment getIsOrderedAssignment_2() { return cIsOrderedAssignment_2; }
+
+ //"ordered"
+ public Keyword getIsOrderedOrderedKeyword_2_0() { return cIsOrderedOrderedKeyword_2_0; }
+
+ //behavior=QualifiedNameWithBinding
+ public Assignment getBehaviorAssignment_3() { return cBehaviorAssignment_3; }
+
+ //QualifiedNameWithBinding
+ public RuleCall getBehaviorQualifiedNameWithBindingParserRuleCall_3_0() { return cBehaviorQualifiedNameWithBindingParserRuleCall_3_0; }
+
+ //suffix=SuffixExpression?
+ public Assignment getSuffixAssignment_4() { return cSuffixAssignment_4; }
+
+ //SuffixExpression
+ public RuleCall getSuffixSuffixExpressionParserRuleCall_4_0() { return cSuffixSuffixExpressionParserRuleCall_4_0; }
+ }
+
+ public class SequenceExpansionExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SequenceExpansionExpression");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cSelectOrRejectOperationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cCollectOrIterateOperationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+ private final RuleCall cForAllOrExistsOrOneOperationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+ private final RuleCall cIsUniqueOperationParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
+
+ //SequenceExpansionExpression:
+ // SelectOrRejectOperation | CollectOrIterateOperation | ForAllOrExistsOrOneOperation | IsUniqueOperation;
+ public ParserRule getRule() { return rule; }
+
+ //SelectOrRejectOperation | CollectOrIterateOperation | ForAllOrExistsOrOneOperation | IsUniqueOperation
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //SelectOrRejectOperation
+ public RuleCall getSelectOrRejectOperationParserRuleCall_0() { return cSelectOrRejectOperationParserRuleCall_0; }
+
+ //CollectOrIterateOperation
+ public RuleCall getCollectOrIterateOperationParserRuleCall_1() { return cCollectOrIterateOperationParserRuleCall_1; }
+
+ //ForAllOrExistsOrOneOperation
+ public RuleCall getForAllOrExistsOrOneOperationParserRuleCall_2() { return cForAllOrExistsOrOneOperationParserRuleCall_2; }
+
+ //IsUniqueOperation
+ public RuleCall getIsUniqueOperationParserRuleCall_3() { return cIsUniqueOperationParserRuleCall_3; }
+ }
+
+ public class SelectOrRejectOperationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SelectOrRejectOperation");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cHyphenMinusGreaterThanSignKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cOpAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cOpSelectOrRejectOperatorEnumRuleCall_1_0 = (RuleCall)cOpAssignment_1.eContents().get(0);
+ private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
+ private final Keyword cLeftParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Assignment cExprAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cExprExpressionParserRuleCall_4_0 = (RuleCall)cExprAssignment_4.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5);
+ private final Assignment cSuffixAssignment_6 = (Assignment)cGroup.eContents().get(6);
+ private final RuleCall cSuffixSuffixExpressionParserRuleCall_6_0 = (RuleCall)cSuffixAssignment_6.eContents().get(0);
+
+ //SelectOrRejectOperation:
+ // "->" op=SelectOrRejectOperator name=ID "(" expr=Expression ")" suffix=SuffixExpression?;
+ public ParserRule getRule() { return rule; }
+
+ //"->" op=SelectOrRejectOperator name=ID "(" expr=Expression ")" suffix=SuffixExpression?
+ public Group getGroup() { return cGroup; }
+
+ //"->"
+ public Keyword getHyphenMinusGreaterThanSignKeyword_0() { return cHyphenMinusGreaterThanSignKeyword_0; }
+
+ //op=SelectOrRejectOperator
+ public Assignment getOpAssignment_1() { return cOpAssignment_1; }
+
+ //SelectOrRejectOperator
+ public RuleCall getOpSelectOrRejectOperatorEnumRuleCall_1_0() { return cOpSelectOrRejectOperatorEnumRuleCall_1_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_2() { return cNameAssignment_2; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_3() { return cLeftParenthesisKeyword_3; }
+
+ //expr=Expression
+ public Assignment getExprAssignment_4() { return cExprAssignment_4; }
+
+ //Expression
+ public RuleCall getExprExpressionParserRuleCall_4_0() { return cExprExpressionParserRuleCall_4_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; }
+
+ //suffix=SuffixExpression?
+ public Assignment getSuffixAssignment_6() { return cSuffixAssignment_6; }
+
+ //SuffixExpression
+ public RuleCall getSuffixSuffixExpressionParserRuleCall_6_0() { return cSuffixSuffixExpressionParserRuleCall_6_0; }
+ }
+
+ public class CollectOrIterateOperationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CollectOrIterateOperation");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cHyphenMinusGreaterThanSignKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cOpAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cOpCollectOrIterateOperatorEnumRuleCall_1_0 = (RuleCall)cOpAssignment_1.eContents().get(0);
+ private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
+ private final Keyword cLeftParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Assignment cExprAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cExprExpressionParserRuleCall_4_0 = (RuleCall)cExprAssignment_4.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5);
+ private final Assignment cSuffixAssignment_6 = (Assignment)cGroup.eContents().get(6);
+ private final RuleCall cSuffixSuffixExpressionParserRuleCall_6_0 = (RuleCall)cSuffixAssignment_6.eContents().get(0);
+
+ //CollectOrIterateOperation:
+ // "->" op=CollectOrIterateOperator name=ID "(" expr=Expression ")" suffix=SuffixExpression?;
+ public ParserRule getRule() { return rule; }
+
+ //"->" op=CollectOrIterateOperator name=ID "(" expr=Expression ")" suffix=SuffixExpression?
+ public Group getGroup() { return cGroup; }
+
+ //"->"
+ public Keyword getHyphenMinusGreaterThanSignKeyword_0() { return cHyphenMinusGreaterThanSignKeyword_0; }
+
+ //op=CollectOrIterateOperator
+ public Assignment getOpAssignment_1() { return cOpAssignment_1; }
+
+ //CollectOrIterateOperator
+ public RuleCall getOpCollectOrIterateOperatorEnumRuleCall_1_0() { return cOpCollectOrIterateOperatorEnumRuleCall_1_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_2() { return cNameAssignment_2; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_3() { return cLeftParenthesisKeyword_3; }
+
+ //expr=Expression
+ public Assignment getExprAssignment_4() { return cExprAssignment_4; }
+
+ //Expression
+ public RuleCall getExprExpressionParserRuleCall_4_0() { return cExprExpressionParserRuleCall_4_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; }
+
+ //suffix=SuffixExpression?
+ public Assignment getSuffixAssignment_6() { return cSuffixAssignment_6; }
+
+ //SuffixExpression
+ public RuleCall getSuffixSuffixExpressionParserRuleCall_6_0() { return cSuffixSuffixExpressionParserRuleCall_6_0; }
+ }
+
+ public class ForAllOrExistsOrOneOperationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ForAllOrExistsOrOneOperation");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cHyphenMinusGreaterThanSignKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cOpAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cOpForAllOrExistsOrOneOperatorEnumRuleCall_1_0 = (RuleCall)cOpAssignment_1.eContents().get(0);
+ private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
+ private final Keyword cLeftParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Assignment cExprAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cExprExpressionParserRuleCall_4_0 = (RuleCall)cExprAssignment_4.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5);
+ private final Assignment cSuffixAssignment_6 = (Assignment)cGroup.eContents().get(6);
+ private final RuleCall cSuffixSuffixExpressionParserRuleCall_6_0 = (RuleCall)cSuffixAssignment_6.eContents().get(0);
+
+ //ForAllOrExistsOrOneOperation:
+ // "->" op=ForAllOrExistsOrOneOperator name=ID "(" expr=Expression ")" suffix=SuffixExpression?;
+ public ParserRule getRule() { return rule; }
+
+ //"->" op=ForAllOrExistsOrOneOperator name=ID "(" expr=Expression ")" suffix=SuffixExpression?
+ public Group getGroup() { return cGroup; }
+
+ //"->"
+ public Keyword getHyphenMinusGreaterThanSignKeyword_0() { return cHyphenMinusGreaterThanSignKeyword_0; }
+
+ //op=ForAllOrExistsOrOneOperator
+ public Assignment getOpAssignment_1() { return cOpAssignment_1; }
+
+ //ForAllOrExistsOrOneOperator
+ public RuleCall getOpForAllOrExistsOrOneOperatorEnumRuleCall_1_0() { return cOpForAllOrExistsOrOneOperatorEnumRuleCall_1_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_2() { return cNameAssignment_2; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_3() { return cLeftParenthesisKeyword_3; }
+
+ //expr=Expression
+ public Assignment getExprAssignment_4() { return cExprAssignment_4; }
+
+ //Expression
+ public RuleCall getExprExpressionParserRuleCall_4_0() { return cExprExpressionParserRuleCall_4_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; }
+
+ //suffix=SuffixExpression?
+ public Assignment getSuffixAssignment_6() { return cSuffixAssignment_6; }
+
+ //SuffixExpression
+ public RuleCall getSuffixSuffixExpressionParserRuleCall_6_0() { return cSuffixSuffixExpressionParserRuleCall_6_0; }
+ }
+
+ public class IsUniqueOperationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "IsUniqueOperation");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cHyphenMinusGreaterThanSignKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Keyword cIsUniqueKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
+ private final Keyword cLeftParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Assignment cExprAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cExprExpressionParserRuleCall_4_0 = (RuleCall)cExprAssignment_4.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5);
+ private final Assignment cSuffixAssignment_6 = (Assignment)cGroup.eContents().get(6);
+ private final RuleCall cSuffixSuffixExpressionParserRuleCall_6_0 = (RuleCall)cSuffixAssignment_6.eContents().get(0);
+
+ //IsUniqueOperation:
+ // "->" "isUnique" name=ID "(" expr=Expression ")" suffix=SuffixExpression?;
+ public ParserRule getRule() { return rule; }
+
+ //"->" "isUnique" name=ID "(" expr=Expression ")" suffix=SuffixExpression?
+ public Group getGroup() { return cGroup; }
+
+ //"->"
+ public Keyword getHyphenMinusGreaterThanSignKeyword_0() { return cHyphenMinusGreaterThanSignKeyword_0; }
+
+ //"isUnique"
+ public Keyword getIsUniqueKeyword_1() { return cIsUniqueKeyword_1; }
+
+ //name=ID
+ public Assignment getNameAssignment_2() { return cNameAssignment_2; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_3() { return cLeftParenthesisKeyword_3; }
+
+ //expr=Expression
+ public Assignment getExprAssignment_4() { return cExprAssignment_4; }
+
+ //Expression
+ public RuleCall getExprExpressionParserRuleCall_4_0() { return cExprExpressionParserRuleCall_4_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; }
+
+ //suffix=SuffixExpression?
+ public Assignment getSuffixAssignment_6() { return cSuffixAssignment_6; }
+
+ //SuffixExpression
+ public RuleCall getSuffixSuffixExpressionParserRuleCall_6_0() { return cSuffixSuffixExpressionParserRuleCall_6_0; }
+ }
+
+ public class ValueSpecificationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ValueSpecification");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cNameExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cLITERALParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+ private final RuleCall cThisExpressionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+ private final RuleCall cSuperInvocationExpressionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
+ private final RuleCall cInstanceCreationExpressionParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
+ private final RuleCall cParenthesizedExpressionParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
+ private final RuleCall cNullExpressionParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6);
+
+ //ValueSpecification:
+ // NameExpression | LITERAL | ThisExpression | SuperInvocationExpression | InstanceCreationExpression |
+ // ParenthesizedExpression | NullExpression;
+ public ParserRule getRule() { return rule; }
+
+ //NameExpression | LITERAL | ThisExpression | SuperInvocationExpression | InstanceCreationExpression |
+ //ParenthesizedExpression | NullExpression
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //NameExpression
+ public RuleCall getNameExpressionParserRuleCall_0() { return cNameExpressionParserRuleCall_0; }
+
+ //LITERAL
+ public RuleCall getLITERALParserRuleCall_1() { return cLITERALParserRuleCall_1; }
+
+ //ThisExpression
+ public RuleCall getThisExpressionParserRuleCall_2() { return cThisExpressionParserRuleCall_2; }
+
+ //SuperInvocationExpression
+ public RuleCall getSuperInvocationExpressionParserRuleCall_3() { return cSuperInvocationExpressionParserRuleCall_3; }
+
+ //InstanceCreationExpression
+ public RuleCall getInstanceCreationExpressionParserRuleCall_4() { return cInstanceCreationExpressionParserRuleCall_4; }
+
+ //ParenthesizedExpression
+ public RuleCall getParenthesizedExpressionParserRuleCall_5() { return cParenthesizedExpressionParserRuleCall_5; }
+
+ //NullExpression
+ public RuleCall getNullExpressionParserRuleCall_6() { return cNullExpressionParserRuleCall_6; }
+ }
+
+ public class NonLiteralValueSpecificationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NonLiteralValueSpecification");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cNameExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cParenthesizedExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+ private final RuleCall cInstanceCreationExpressionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+ private final RuleCall cThisExpressionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
+ private final RuleCall cSuperInvocationExpressionParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
+
+ //NonLiteralValueSpecification:
+ // NameExpression | ParenthesizedExpression | InstanceCreationExpression | ThisExpression | SuperInvocationExpression;
+ public ParserRule getRule() { return rule; }
+
+ //NameExpression | ParenthesizedExpression | InstanceCreationExpression | ThisExpression | SuperInvocationExpression
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //NameExpression
+ public RuleCall getNameExpressionParserRuleCall_0() { return cNameExpressionParserRuleCall_0; }
+
+ //ParenthesizedExpression
+ public RuleCall getParenthesizedExpressionParserRuleCall_1() { return cParenthesizedExpressionParserRuleCall_1; }
+
+ //InstanceCreationExpression
+ public RuleCall getInstanceCreationExpressionParserRuleCall_2() { return cInstanceCreationExpressionParserRuleCall_2; }
+
+ //ThisExpression
+ public RuleCall getThisExpressionParserRuleCall_3() { return cThisExpressionParserRuleCall_3; }
+
+ //SuperInvocationExpression
+ public RuleCall getSuperInvocationExpressionParserRuleCall_4() { return cSuperInvocationExpressionParserRuleCall_4; }
+ }
+
+ public class ParenthesizedExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ParenthesizedExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cLeftParenthesisKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cExpOrTypeCastAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cExpOrTypeCastExpressionParserRuleCall_1_0 = (RuleCall)cExpOrTypeCastAssignment_1.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Alternatives cAlternatives_3 = (Alternatives)cGroup.eContents().get(3);
+ private final Assignment cCastedAssignment_3_0 = (Assignment)cAlternatives_3.eContents().get(0);
+ private final RuleCall cCastedNonLiteralValueSpecificationParserRuleCall_3_0_0 = (RuleCall)cCastedAssignment_3_0.eContents().get(0);
+ private final Assignment cSuffixAssignment_3_1 = (Assignment)cAlternatives_3.eContents().get(1);
+ private final RuleCall cSuffixSuffixExpressionParserRuleCall_3_1_0 = (RuleCall)cSuffixAssignment_3_1.eContents().get(0);
+
+ //ParenthesizedExpression:
+ // "(" expOrTypeCast=Expression ")" (casted=NonLiteralValueSpecification | suffix=SuffixExpression)?;
+ public ParserRule getRule() { return rule; }
+
+ //"(" expOrTypeCast=Expression ")" (casted=NonLiteralValueSpecification | suffix=SuffixExpression)?
+ public Group getGroup() { return cGroup; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_0() { return cLeftParenthesisKeyword_0; }
+
+ //expOrTypeCast=Expression
+ public Assignment getExpOrTypeCastAssignment_1() { return cExpOrTypeCastAssignment_1; }
+
+ //Expression
+ public RuleCall getExpOrTypeCastExpressionParserRuleCall_1_0() { return cExpOrTypeCastExpressionParserRuleCall_1_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_2() { return cRightParenthesisKeyword_2; }
+
+ //(casted=NonLiteralValueSpecification | suffix=SuffixExpression)?
+ public Alternatives getAlternatives_3() { return cAlternatives_3; }
+
+ //casted=NonLiteralValueSpecification
+ public Assignment getCastedAssignment_3_0() { return cCastedAssignment_3_0; }
+
+ //NonLiteralValueSpecification
+ public RuleCall getCastedNonLiteralValueSpecificationParserRuleCall_3_0_0() { return cCastedNonLiteralValueSpecificationParserRuleCall_3_0_0; }
+
+ //suffix=SuffixExpression
+ public Assignment getSuffixAssignment_3_1() { return cSuffixAssignment_3_1; }
+
+ //SuffixExpression
+ public RuleCall getSuffixSuffixExpressionParserRuleCall_3_1_0() { return cSuffixSuffixExpressionParserRuleCall_3_1_0; }
+ }
+
+ public class NullExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NullExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cNullExpressionAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword cNullKeyword_1 = (Keyword)cGroup.eContents().get(1);
+
+ //NullExpression:
+ // {NullExpression} "null";
+ public ParserRule getRule() { return rule; }
+
+ //{NullExpression} "null"
+ public Group getGroup() { return cGroup; }
+
+ //{NullExpression}
+ public Action getNullExpressionAction_0() { return cNullExpressionAction_0; }
+
+ //"null"
+ public Keyword getNullKeyword_1() { return cNullKeyword_1; }
+ }
+
+ public class ThisExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ThisExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cThisExpressionAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword cThisKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cSuffixAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cSuffixSuffixExpressionParserRuleCall_2_0 = (RuleCall)cSuffixAssignment_2.eContents().get(0);
+
+ //ThisExpression:
+ // {ThisExpression} "this" suffix=SuffixExpression?;
+ public ParserRule getRule() { return rule; }
+
+ //{ThisExpression} "this" suffix=SuffixExpression?
+ public Group getGroup() { return cGroup; }
+
+ //{ThisExpression}
+ public Action getThisExpressionAction_0() { return cThisExpressionAction_0; }
+
+ //"this"
+ public Keyword getThisKeyword_1() { return cThisKeyword_1; }
+
+ //suffix=SuffixExpression?
+ public Assignment getSuffixAssignment_2() { return cSuffixAssignment_2; }
+
+ //SuffixExpression
+ public RuleCall getSuffixSuffixExpressionParserRuleCall_2_0() { return cSuffixSuffixExpressionParserRuleCall_2_0; }
+ }
+
+ public class SuperInvocationExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SuperInvocationExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cSuperKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
+ private final Assignment cTupleAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0);
+ private final RuleCall cTupleTupleParserRuleCall_1_0_0 = (RuleCall)cTupleAssignment_1_0.eContents().get(0);
+ private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
+ private final Keyword cFullStopKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
+ private final Assignment cOperationNameAssignment_1_1_1 = (Assignment)cGroup_1_1.eContents().get(1);
+ private final RuleCall cOperationNameQualifiedNameWithBindingParserRuleCall_1_1_1_0 = (RuleCall)cOperationNameAssignment_1_1_1.eContents().get(0);
+ private final Assignment cTupleAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
+ private final RuleCall cTupleTupleParserRuleCall_1_1_2_0 = (RuleCall)cTupleAssignment_1_1_2.eContents().get(0);
+
+ //// SuperInvocationExpression :
+ //// //{SuperInvocationExpression} 'super' ('.' qualifiedNameRoot = ID '::' qualifiedNameRemaining = NameExpression)? //(suffix = SuffixExpression) ?
+ //// 'super' ('.' className = ID '::' operationCallWithoutDot = OperationCallExpressionWithoutDot | operationCall = OperationCallExpression)
+ ////;
+ //SuperInvocationExpression: //{SuperInvocationExpression} 'super' ('.' qualifiedNameRoot = ID '::' qualifiedNameRemaining = NameExpression)? //(suffix = SuffixExpression) ?
+ ////'super' ('.' className = ID '::' operationCallWithoutDot = OperationCallExpressionWithoutDot | operationCall = OperationCallExpression)
+ ////'super' ((tuple = Tuple) |
+ //// ('.' (path = QualifiedNamePath) operation = ID tuple = Tuple))
+ // "super" (tuple=Tuple | "." operationName=QualifiedNameWithBinding tuple=Tuple);
+ public ParserRule getRule() { return rule; }
+
+ ////{SuperInvocationExpression} 'super' ('.' qualifiedNameRoot = ID '::' qualifiedNameRemaining = NameExpression)? //(suffix = SuffixExpression) ?
+ ////'super' ('.' className = ID '::' operationCallWithoutDot = OperationCallExpressionWithoutDot | operationCall = OperationCallExpression)
+ ////'super' ((tuple = Tuple) |
+ //// ('.' (path = QualifiedNamePath) operation = ID tuple = Tuple))
+ //"super" (tuple=Tuple | "." operationName=QualifiedNameWithBinding tuple=Tuple)
+ public Group getGroup() { return cGroup; }
+
+ ////{SuperInvocationExpression} 'super' ('.' qualifiedNameRoot = ID '::' qualifiedNameRemaining = NameExpression)? //(suffix = SuffixExpression) ?
+ ////'super' ('.' className = ID '::' operationCallWithoutDot = OperationCallExpressionWithoutDot | operationCall = OperationCallExpression)
+ ////'super' ((tuple = Tuple) |
+ //// ('.' (path = QualifiedNamePath) operation = ID tuple = Tuple))
+ //"super"
+ public Keyword getSuperKeyword_0() { return cSuperKeyword_0; }
+
+ //tuple=Tuple | "." operationName=QualifiedNameWithBinding tuple=Tuple
+ public Alternatives getAlternatives_1() { return cAlternatives_1; }
+
+ //tuple=Tuple
+ public Assignment getTupleAssignment_1_0() { return cTupleAssignment_1_0; }
+
+ //Tuple
+ public RuleCall getTupleTupleParserRuleCall_1_0_0() { return cTupleTupleParserRuleCall_1_0_0; }
+
+ //"." operationName=QualifiedNameWithBinding tuple=Tuple
+ public Group getGroup_1_1() { return cGroup_1_1; }
+
+ //"."
+ public Keyword getFullStopKeyword_1_1_0() { return cFullStopKeyword_1_1_0; }
+
+ //operationName=QualifiedNameWithBinding
+ public Assignment getOperationNameAssignment_1_1_1() { return cOperationNameAssignment_1_1_1; }
+
+ //QualifiedNameWithBinding
+ public RuleCall getOperationNameQualifiedNameWithBindingParserRuleCall_1_1_1_0() { return cOperationNameQualifiedNameWithBindingParserRuleCall_1_1_1_0; }
+
+ //tuple=Tuple
+ public Assignment getTupleAssignment_1_1_2() { return cTupleAssignment_1_1_2; }
+
+ //Tuple
+ public RuleCall getTupleTupleParserRuleCall_1_1_2_0() { return cTupleTupleParserRuleCall_1_1_2_0; }
+ }
+
+ public class InstanceCreationExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InstanceCreationExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cNewKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cConstructorAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cConstructorQualifiedNameWithBindingParserRuleCall_1_0 = (RuleCall)cConstructorAssignment_1.eContents().get(0);
+ private final Assignment cTupleAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cTupleInstanceCreationTupleParserRuleCall_2_0 = (RuleCall)cTupleAssignment_2.eContents().get(0);
+ private final Assignment cSuffixAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cSuffixSuffixExpressionParserRuleCall_3_0 = (RuleCall)cSuffixAssignment_3.eContents().get(0);
+
+ ////InstanceCreationExpression :
+ ////'new' constructor=QualifiedNameWithBinding
+ //// (tuple = Tuple | sequenceConstuctionCompletion = SequenceConstructionCompletion) (suffix = SuffixExpression) ?
+ ////'new' constructor=QualifiedNameWithBinding
+ //// tuple = Tuple (suffix = SuffixExpression) ?
+ ////;
+ //InstanceCreationExpression: //'new' constructor=QualifiedNameWithBinding
+ //// (tuple = Tuple | sequenceConstuctionCompletion = SequenceConstructionCompletion) (suffix = SuffixExpression) ?
+ // "new" constructor=QualifiedNameWithBinding tuple=InstanceCreationTuple suffix=SuffixExpression?;
+ public ParserRule getRule() { return rule; }
+
+ ////'new' constructor=QualifiedNameWithBinding
+ //// (tuple = Tuple | sequenceConstuctionCompletion = SequenceConstructionCompletion) (suffix = SuffixExpression) ?
+ //"new" constructor=QualifiedNameWithBinding tuple=InstanceCreationTuple suffix=SuffixExpression?
+ public Group getGroup() { return cGroup; }
+
+ ////'new' constructor=QualifiedNameWithBinding
+ //// (tuple = Tuple | sequenceConstuctionCompletion = SequenceConstructionCompletion) (suffix = SuffixExpression) ?
+ //"new"
+ public Keyword getNewKeyword_0() { return cNewKeyword_0; }
+
+ //constructor=QualifiedNameWithBinding
+ public Assignment getConstructorAssignment_1() { return cConstructorAssignment_1; }
+
+ //QualifiedNameWithBinding
+ public RuleCall getConstructorQualifiedNameWithBindingParserRuleCall_1_0() { return cConstructorQualifiedNameWithBindingParserRuleCall_1_0; }
+
+ //tuple=InstanceCreationTuple
+ public Assignment getTupleAssignment_2() { return cTupleAssignment_2; }
+
+ //InstanceCreationTuple
+ public RuleCall getTupleInstanceCreationTupleParserRuleCall_2_0() { return cTupleInstanceCreationTupleParserRuleCall_2_0; }
+
+ //suffix=SuffixExpression?
+ public Assignment getSuffixAssignment_3() { return cSuffixAssignment_3; }
+
+ //SuffixExpression
+ public RuleCall getSuffixSuffixExpressionParserRuleCall_3_0() { return cSuffixSuffixExpressionParserRuleCall_3_0; }
+ }
+
+ public class InstanceCreationTupleElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InstanceCreationTuple");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cInstanceCreationTupleAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Assignment cInstanceCreationTupleElementAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0);
+ private final RuleCall cInstanceCreationTupleElementInstanceCreationTupleElementParserRuleCall_2_0_0 = (RuleCall)cInstanceCreationTupleElementAssignment_2_0.eContents().get(0);
+ private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1);
+ private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0);
+ private final Assignment cInstanceCreationTupleElementAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1);
+ private final RuleCall cInstanceCreationTupleElementInstanceCreationTupleElementParserRuleCall_2_1_1_0 = (RuleCall)cInstanceCreationTupleElementAssignment_2_1_1.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
+
+ //InstanceCreationTuple:
+ // {InstanceCreationTuple} "(" (instanceCreationTupleElement+=InstanceCreationTupleElement (","
+ // instanceCreationTupleElement+=InstanceCreationTupleElement)*)? ")";
+ public ParserRule getRule() { return rule; }
+
+ //{InstanceCreationTuple} "(" (instanceCreationTupleElement+=InstanceCreationTupleElement (","
+ //instanceCreationTupleElement+=InstanceCreationTupleElement)*)? ")"
+ public Group getGroup() { return cGroup; }
+
+ //{InstanceCreationTuple}
+ public Action getInstanceCreationTupleAction_0() { return cInstanceCreationTupleAction_0; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
+
+ //(instanceCreationTupleElement+=InstanceCreationTupleElement (","
+ //instanceCreationTupleElement+=InstanceCreationTupleElement)*)?
+ public Group getGroup_2() { return cGroup_2; }
+
+ //instanceCreationTupleElement+=InstanceCreationTupleElement
+ public Assignment getInstanceCreationTupleElementAssignment_2_0() { return cInstanceCreationTupleElementAssignment_2_0; }
+
+ //InstanceCreationTupleElement
+ public RuleCall getInstanceCreationTupleElementInstanceCreationTupleElementParserRuleCall_2_0_0() { return cInstanceCreationTupleElementInstanceCreationTupleElementParserRuleCall_2_0_0; }
+
+ //("," instanceCreationTupleElement+=InstanceCreationTupleElement)*
+ public Group getGroup_2_1() { return cGroup_2_1; }
+
+ //","
+ public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; }
+
+ //instanceCreationTupleElement+=InstanceCreationTupleElement
+ public Assignment getInstanceCreationTupleElementAssignment_2_1_1() { return cInstanceCreationTupleElementAssignment_2_1_1; }
+
+ //InstanceCreationTupleElement
+ public RuleCall getInstanceCreationTupleElementInstanceCreationTupleElementParserRuleCall_2_1_1_0() { return cInstanceCreationTupleElementInstanceCreationTupleElementParserRuleCall_2_1_1_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
+ }
+
+ public class InstanceCreationTupleElementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InstanceCreationTupleElement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cRoleAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cRoleIDTerminalRuleCall_0_0 = (RuleCall)cRoleAssignment_0.eContents().get(0);
+ private final Keyword cEqualsSignGreaterThanSignKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cObjectAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cObjectExpressionParserRuleCall_2_0 = (RuleCall)cObjectAssignment_2.eContents().get(0);
+
+ ////LinkOperationTupleElement :
+ //// objectOrRole = ID (('['roleIndex = Expression ']')? '=>' object = ID)?
+ ////;
+ //InstanceCreationTupleElement:
+ // role=ID "=>" object=Expression;
+ public ParserRule getRule() { return rule; }
+
+ //role=ID "=>" object=Expression
+ public Group getGroup() { return cGroup; }
+
+ //role=ID
+ public Assignment getRoleAssignment_0() { return cRoleAssignment_0; }
+
+ //ID
+ public RuleCall getRoleIDTerminalRuleCall_0_0() { return cRoleIDTerminalRuleCall_0_0; }
+
+ //"=>"
+ public Keyword getEqualsSignGreaterThanSignKeyword_1() { return cEqualsSignGreaterThanSignKeyword_1; }
+
+ //object=Expression
+ public Assignment getObjectAssignment_2() { return cObjectAssignment_2; }
+
+ //Expression
+ public RuleCall getObjectExpressionParserRuleCall_2_0() { return cObjectExpressionParserRuleCall_2_0; }
+ }
+
+ public class SequenceConstructionOrAccessCompletionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SequenceConstructionOrAccessCompletion");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
+ private final Assignment cMultiplicityIndicatorAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0);
+ private final Keyword cMultiplicityIndicatorLeftSquareBracketKeyword_0_0_0 = (Keyword)cMultiplicityIndicatorAssignment_0_0.eContents().get(0);
+ private final Alternatives cAlternatives_0_1 = (Alternatives)cGroup_0.eContents().get(1);
+ private final Assignment cAccessCompletionAssignment_0_1_0 = (Assignment)cAlternatives_0_1.eContents().get(0);
+ private final RuleCall cAccessCompletionAccessCompletionParserRuleCall_0_1_0_0 = (RuleCall)cAccessCompletionAssignment_0_1_0.eContents().get(0);
+ private final Assignment cSequenceCompletionAssignment_0_1_1 = (Assignment)cAlternatives_0_1.eContents().get(1);
+ private final RuleCall cSequenceCompletionPartialSequenceConstructionCompletionParserRuleCall_0_1_1_0 = (RuleCall)cSequenceCompletionAssignment_0_1_1.eContents().get(0);
+ private final Assignment cExpressionAssignment_1 = (Assignment)cAlternatives.eContents().get(1);
+ private final RuleCall cExpressionSequenceConstructionExpressionParserRuleCall_1_0 = (RuleCall)cExpressionAssignment_1.eContents().get(0);
+
+ //SequenceConstructionOrAccessCompletion:
+ // multiplicityIndicator?="[" (accessCompletion=AccessCompletion |
+ // sequenceCompletion=PartialSequenceConstructionCompletion) | expression=SequenceConstructionExpression;
+ public ParserRule getRule() { return rule; }
+
+ //multiplicityIndicator?="[" (accessCompletion=AccessCompletion |
+ //sequenceCompletion=PartialSequenceConstructionCompletion) | expression=SequenceConstructionExpression
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //multiplicityIndicator?="[" (accessCompletion=AccessCompletion |
+ //sequenceCompletion=PartialSequenceConstructionCompletion)
+ public Group getGroup_0() { return cGroup_0; }
+
+ //multiplicityIndicator?="["
+ public Assignment getMultiplicityIndicatorAssignment_0_0() { return cMultiplicityIndicatorAssignment_0_0; }
+
+ //"["
+ public Keyword getMultiplicityIndicatorLeftSquareBracketKeyword_0_0_0() { return cMultiplicityIndicatorLeftSquareBracketKeyword_0_0_0; }
+
+ //accessCompletion=AccessCompletion | sequenceCompletion=PartialSequenceConstructionCompletion
+ public Alternatives getAlternatives_0_1() { return cAlternatives_0_1; }
+
+ //accessCompletion=AccessCompletion
+ public Assignment getAccessCompletionAssignment_0_1_0() { return cAccessCompletionAssignment_0_1_0; }
+
+ //AccessCompletion
+ public RuleCall getAccessCompletionAccessCompletionParserRuleCall_0_1_0_0() { return cAccessCompletionAccessCompletionParserRuleCall_0_1_0_0; }
+
+ //sequenceCompletion=PartialSequenceConstructionCompletion
+ public Assignment getSequenceCompletionAssignment_0_1_1() { return cSequenceCompletionAssignment_0_1_1; }
+
+ //PartialSequenceConstructionCompletion
+ public RuleCall getSequenceCompletionPartialSequenceConstructionCompletionParserRuleCall_0_1_1_0() { return cSequenceCompletionPartialSequenceConstructionCompletionParserRuleCall_0_1_1_0; }
+
+ //expression=SequenceConstructionExpression
+ public Assignment getExpressionAssignment_1() { return cExpressionAssignment_1; }
+
+ //SequenceConstructionExpression
+ public RuleCall getExpressionSequenceConstructionExpressionParserRuleCall_1_0() { return cExpressionSequenceConstructionExpressionParserRuleCall_1_0; }
+ }
+
+ public class AccessCompletionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AccessCompletion");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cAccessIndexAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cAccessIndexExpressionParserRuleCall_0_0 = (RuleCall)cAccessIndexAssignment_0.eContents().get(0);
+ private final Keyword cRightSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
+
+ //AccessCompletion:
+ // accessIndex=Expression "]";
+ public ParserRule getRule() { return rule; }
+
+ //accessIndex=Expression "]"
+ public Group getGroup() { return cGroup; }
+
+ //accessIndex=Expression
+ public Assignment getAccessIndexAssignment_0() { return cAccessIndexAssignment_0; }
+
+ //Expression
+ public RuleCall getAccessIndexExpressionParserRuleCall_0_0() { return cAccessIndexExpressionParserRuleCall_0_0; }
+
+ //"]"
+ public Keyword getRightSquareBracketKeyword_1() { return cRightSquareBracketKeyword_1; }
+ }
+
+ public class PartialSequenceConstructionCompletionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PartialSequenceConstructionCompletion");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cRightSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cExpressionAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cExpressionSequenceConstructionExpressionParserRuleCall_1_0 = (RuleCall)cExpressionAssignment_1.eContents().get(0);
+
+ //PartialSequenceConstructionCompletion:
+ // "]" expression=SequenceConstructionExpression;
+ public ParserRule getRule() { return rule; }
+
+ //"]" expression=SequenceConstructionExpression
+ public Group getGroup() { return cGroup; }
+
+ //"]"
+ public Keyword getRightSquareBracketKeyword_0() { return cRightSquareBracketKeyword_0; }
+
+ //expression=SequenceConstructionExpression
+ public Assignment getExpressionAssignment_1() { return cExpressionAssignment_1; }
+
+ //SequenceConstructionExpression
+ public RuleCall getExpressionSequenceConstructionExpressionParserRuleCall_1_0() { return cExpressionSequenceConstructionExpressionParserRuleCall_1_0; }
+ }
+
+ public class SequenceConstructionExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SequenceConstructionExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cSequenceElementAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cSequenceElementSequenceElementParserRuleCall_1_0 = (RuleCall)cSequenceElementAssignment_1.eContents().get(0);
+ private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2);
+ private final Group cGroup_2_0 = (Group)cAlternatives_2.eContents().get(0);
+ private final Keyword cCommaKeyword_2_0_0 = (Keyword)cGroup_2_0.eContents().get(0);
+ private final Assignment cSequenceElementAssignment_2_0_1 = (Assignment)cGroup_2_0.eContents().get(1);
+ private final RuleCall cSequenceElementSequenceElementParserRuleCall_2_0_1_0 = (RuleCall)cSequenceElementAssignment_2_0_1.eContents().get(0);
+ private final Group cGroup_2_1 = (Group)cAlternatives_2.eContents().get(1);
+ private final Keyword cFullStopFullStopKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0);
+ private final Assignment cRangeUpperAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1);
+ private final RuleCall cRangeUpperExpressionParserRuleCall_2_1_1_0 = (RuleCall)cRangeUpperAssignment_2_1_1.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
+
+ ////SequenceConstructionCompletion :
+ //// (multiplicityIndicator ?= '['']')? expression = SequenceConstructionExpression
+ ////;
+ //SequenceConstructionExpression:
+ // "{" sequenceElement+=SequenceElement (("," sequenceElement+=SequenceElement)* | ".." rangeUpper=Expression) "}";
+ public ParserRule getRule() { return rule; }
+
+ //"{" sequenceElement+=SequenceElement (("," sequenceElement+=SequenceElement)* | ".." rangeUpper=Expression) "}"
+ public Group getGroup() { return cGroup; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; }
+
+ //sequenceElement+=SequenceElement
+ public Assignment getSequenceElementAssignment_1() { return cSequenceElementAssignment_1; }
+
+ //SequenceElement
+ public RuleCall getSequenceElementSequenceElementParserRuleCall_1_0() { return cSequenceElementSequenceElementParserRuleCall_1_0; }
+
+ //("," sequenceElement+=SequenceElement)* | ".." rangeUpper=Expression
+ public Alternatives getAlternatives_2() { return cAlternatives_2; }
+
+ //("," sequenceElement+=SequenceElement)*
+ public Group getGroup_2_0() { return cGroup_2_0; }
+
+ //","
+ public Keyword getCommaKeyword_2_0_0() { return cCommaKeyword_2_0_0; }
+
+ //sequenceElement+=SequenceElement
+ public Assignment getSequenceElementAssignment_2_0_1() { return cSequenceElementAssignment_2_0_1; }
+
+ //SequenceElement
+ public RuleCall getSequenceElementSequenceElementParserRuleCall_2_0_1_0() { return cSequenceElementSequenceElementParserRuleCall_2_0_1_0; }
+
+ //".." rangeUpper=Expression
+ public Group getGroup_2_1() { return cGroup_2_1; }
+
+ //".."
+ public Keyword getFullStopFullStopKeyword_2_1_0() { return cFullStopFullStopKeyword_2_1_0; }
+
+ //rangeUpper=Expression
+ public Assignment getRangeUpperAssignment_2_1_1() { return cRangeUpperAssignment_2_1_1; }
+
+ //Expression
+ public RuleCall getRangeUpperExpressionParserRuleCall_2_1_1_0() { return cRangeUpperExpressionParserRuleCall_2_1_1_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; }
+ }
+
+ public class SequenceElementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SequenceElement");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cSequenceConstructionExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+
+ //SequenceElement:
+ // Expression | SequenceConstructionExpression;
+ public ParserRule getRule() { return rule; }
+
+ //Expression | SequenceConstructionExpression
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //Expression
+ public RuleCall getExpressionParserRuleCall_0() { return cExpressionParserRuleCall_0; }
+
+ //SequenceConstructionExpression
+ public RuleCall getSequenceConstructionExpressionParserRuleCall_1() { return cSequenceConstructionExpressionParserRuleCall_1; }
+ }
+
+ public class ClassExtentExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ClassExtentExpression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cClassExtentExpressionAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword cFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Keyword cAllInstancesKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Keyword cLeftParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
+
+ //ClassExtentExpression:
+ // {ClassExtentExpression} "." "allInstances" "(" ")";
+ public ParserRule getRule() { return rule; }
+
+ //{ClassExtentExpression} "." "allInstances" "(" ")"
+ public Group getGroup() { return cGroup; }
+
+ //{ClassExtentExpression}
+ public Action getClassExtentExpressionAction_0() { return cClassExtentExpressionAction_0; }
+
+ //"."
+ public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; }
+
+ //"allInstances"
+ public Keyword getAllInstancesKeyword_2() { return cAllInstancesKeyword_2; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_3() { return cLeftParenthesisKeyword_3; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
+ }
+
+ public class BlockElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Block");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Action cBlockAction_1 = (Action)cGroup.eContents().get(1);
+ private final Assignment cSequenceAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cSequenceStatementSequenceParserRuleCall_2_0 = (RuleCall)cSequenceAssignment_2.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
+
+ /// *****************
+ // * Statements
+ // **************** / Block:
+ // "{" {Block} sequence=StatementSequence? "}";
+ public ParserRule getRule() { return rule; }
+
+ //"{" {Block} sequence=StatementSequence? "}"
+ public Group getGroup() { return cGroup; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; }
+
+ //{Block}
+ public Action getBlockAction_1() { return cBlockAction_1; }
+
+ //sequence=StatementSequence?
+ public Assignment getSequenceAssignment_2() { return cSequenceAssignment_2; }
+
+ //StatementSequence
+ public RuleCall getSequenceStatementSequenceParserRuleCall_2_0() { return cSequenceStatementSequenceParserRuleCall_2_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; }
+ }
+
+ public class StatementSequenceElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StatementSequence");
+ private final Assignment cStatementsAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cStatementsDocumentedStatementParserRuleCall_0 = (RuleCall)cStatementsAssignment.eContents().get(0);
+
+ //StatementSequence:
+ // statements+=DocumentedStatement+;
+ public ParserRule getRule() { return rule; }
+
+ //statements+=DocumentedStatement+
+ public Assignment getStatementsAssignment() { return cStatementsAssignment; }
+
+ //DocumentedStatement
+ public RuleCall getStatementsDocumentedStatementParserRuleCall_0() { return cStatementsDocumentedStatementParserRuleCall_0; }
+ }
+
+ public class DocumentedStatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DocumentedStatement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cCommentAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final Alternatives cCommentAlternatives_0_0 = (Alternatives)cCommentAssignment_0.eContents().get(0);
+ private final RuleCall cCommentML_COMMENTTerminalRuleCall_0_0_0 = (RuleCall)cCommentAlternatives_0_0.eContents().get(0);
+ private final RuleCall cCommentSL_COMMENTTerminalRuleCall_0_0_1 = (RuleCall)cCommentAlternatives_0_0.eContents().get(1);
+ private final Assignment cStatementAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cStatementStatementParserRuleCall_1_0 = (RuleCall)cStatementAssignment_1.eContents().get(0);
+
+ //DocumentedStatement:
+ // comment=(ML_COMMENT | SL_COMMENT)? statement=Statement;
+ public ParserRule getRule() { return rule; }
+
+ //comment=(ML_COMMENT | SL_COMMENT)? statement=Statement
+ public Group getGroup() { return cGroup; }
+
+ //comment=(ML_COMMENT | SL_COMMENT)?
+ public Assignment getCommentAssignment_0() { return cCommentAssignment_0; }
+
+ //ML_COMMENT | SL_COMMENT
+ public Alternatives getCommentAlternatives_0_0() { return cCommentAlternatives_0_0; }
+
+ //ML_COMMENT
+ public RuleCall getCommentML_COMMENTTerminalRuleCall_0_0_0() { return cCommentML_COMMENTTerminalRuleCall_0_0_0; }
+
+ //SL_COMMENT
+ public RuleCall getCommentSL_COMMENTTerminalRuleCall_0_0_1() { return cCommentSL_COMMENTTerminalRuleCall_0_0_1; }
+
+ //statement=Statement
+ public Assignment getStatementAssignment_1() { return cStatementAssignment_1; }
+
+ //Statement
+ public RuleCall getStatementStatementParserRuleCall_1_0() { return cStatementStatementParserRuleCall_1_0; }
+ }
+
+ public class InlineStatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InlineStatement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cSolidusAsteriskCommercialAtKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Keyword cInlineKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cLangageNameAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cLangageNameIDTerminalRuleCall_3_0 = (RuleCall)cLangageNameAssignment_3.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
+ private final Assignment cBodyAssignment_5 = (Assignment)cGroup.eContents().get(5);
+ private final RuleCall cBodySTRINGTerminalRuleCall_5_0 = (RuleCall)cBodyAssignment_5.eContents().get(0);
+ private final Keyword cAsteriskSolidusKeyword_6 = (Keyword)cGroup.eContents().get(6);
+
+ //InlineStatement:
+ // "/ *@" "inline" "(" langageName=ID ")" body=STRING "* /";
+ public ParserRule getRule() { return rule; }
+
+ //"/ *@" "inline" "(" langageName=ID ")" body=STRING "* /"
+ public Group getGroup() { return cGroup; }
+
+ //"/ *@"
+ public Keyword getSolidusAsteriskCommercialAtKeyword_0() { return cSolidusAsteriskCommercialAtKeyword_0; }
+
+ //"inline"
+ public Keyword getInlineKeyword_1() { return cInlineKeyword_1; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; }
+
+ //langageName=ID
+ public Assignment getLangageNameAssignment_3() { return cLangageNameAssignment_3; }
+
+ //ID
+ public RuleCall getLangageNameIDTerminalRuleCall_3_0() { return cLangageNameIDTerminalRuleCall_3_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
+
+ //body=STRING
+ public Assignment getBodyAssignment_5() { return cBodyAssignment_5; }
+
+ //STRING
+ public RuleCall getBodySTRINGTerminalRuleCall_5_0() { return cBodySTRINGTerminalRuleCall_5_0; }
+
+ //"* /"
+ public Keyword getAsteriskSolidusKeyword_6() { return cAsteriskSolidusKeyword_6; }
+ }
+
+ public class AnnotatedStatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AnnotatedStatement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cSolidusSolidusCommercialAtKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cAnnotationAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cAnnotationAnnotationParserRuleCall_1_0 = (RuleCall)cAnnotationAssignment_1.eContents().get(0);
+ private final Assignment cStatementAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cStatementStatementParserRuleCall_2_0 = (RuleCall)cStatementAssignment_2.eContents().get(0);
+
+ //AnnotatedStatement:
+ // "//@" annotation= //block = Block
+ // Annotation statement=Statement;
+ public ParserRule getRule() { return rule; }
+
+ //"//@" annotation= //block = Block
+ //Annotation statement=Statement
+ public Group getGroup() { return cGroup; }
+
+ //"//@"
+ public Keyword getSolidusSolidusCommercialAtKeyword_0() { return cSolidusSolidusCommercialAtKeyword_0; }
+
+ //annotation= //block = Block
+ //Annotation
+ public Assignment getAnnotationAssignment_1() { return cAnnotationAssignment_1; }
+
+ ////block = Block
+ //Annotation
+ public RuleCall getAnnotationAnnotationParserRuleCall_1_0() { return cAnnotationAnnotationParserRuleCall_1_0; }
+
+ //statement=Statement
+ public Assignment getStatementAssignment_2() { return cStatementAssignment_2; }
+
+ //Statement
+ public RuleCall getStatementStatementParserRuleCall_2_0() { return cStatementStatementParserRuleCall_2_0; }
+ }
+
+ public class StatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Statement");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cAnnotatedStatementParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cInlineStatementParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+ private final RuleCall cBlockStatementParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+ private final RuleCall cEmptyStatementParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
+ private final RuleCall cLocalNameDeclarationStatementParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
+ private final RuleCall cIfStatementParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
+ private final RuleCall cSwitchStatementParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6);
+ private final RuleCall cWhileStatementParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7);
+ private final RuleCall cDoStatementParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8);
+ private final RuleCall cForStatementParserRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9);
+ private final RuleCall cBreakStatementParserRuleCall_10 = (RuleCall)cAlternatives.eContents().get(10);
+ private final RuleCall cReturnStatementParserRuleCall_11 = (RuleCall)cAlternatives.eContents().get(11);
+ private final RuleCall cAcceptStatementParserRuleCall_12 = (RuleCall)cAlternatives.eContents().get(12);
+ private final RuleCall cClassifyStatementParserRuleCall_13 = (RuleCall)cAlternatives.eContents().get(13);
+ private final RuleCall cInvocationOrAssignementOrDeclarationStatementParserRuleCall_14 = (RuleCall)cAlternatives.eContents().get(14);
+ private final RuleCall cSuperInvocationStatementParserRuleCall_15 = (RuleCall)cAlternatives.eContents().get(15);
+ private final RuleCall cThisInvocationStatementParserRuleCall_16 = (RuleCall)cAlternatives.eContents().get(16);
+ private final RuleCall cInstanceCreationInvocationStatementParserRuleCall_17 = (RuleCall)cAlternatives.eContents().get(17);
+
+ //Statement:
+ // AnnotatedStatement | InlineStatement | BlockStatement | EmptyStatement | LocalNameDeclarationStatement | IfStatement |
+ // SwitchStatement | WhileStatement | DoStatement | ForStatement | BreakStatement | ReturnStatement | AcceptStatement |
+ // ClassifyStatement | InvocationOrAssignementOrDeclarationStatement | SuperInvocationStatement | ThisInvocationStatement
+ // | InstanceCreationInvocationStatement;
+ public ParserRule getRule() { return rule; }
+
+ //AnnotatedStatement | InlineStatement | BlockStatement | EmptyStatement | LocalNameDeclarationStatement | IfStatement |
+ //SwitchStatement | WhileStatement | DoStatement | ForStatement | BreakStatement | ReturnStatement | AcceptStatement |
+ //ClassifyStatement | InvocationOrAssignementOrDeclarationStatement | SuperInvocationStatement | ThisInvocationStatement
+ //| InstanceCreationInvocationStatement
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //AnnotatedStatement
+ public RuleCall getAnnotatedStatementParserRuleCall_0() { return cAnnotatedStatementParserRuleCall_0; }
+
+ //InlineStatement
+ public RuleCall getInlineStatementParserRuleCall_1() { return cInlineStatementParserRuleCall_1; }
+
+ //BlockStatement
+ public RuleCall getBlockStatementParserRuleCall_2() { return cBlockStatementParserRuleCall_2; }
+
+ //EmptyStatement
+ public RuleCall getEmptyStatementParserRuleCall_3() { return cEmptyStatementParserRuleCall_3; }
+
+ //LocalNameDeclarationStatement
+ public RuleCall getLocalNameDeclarationStatementParserRuleCall_4() { return cLocalNameDeclarationStatementParserRuleCall_4; }
+
+ //IfStatement
+ public RuleCall getIfStatementParserRuleCall_5() { return cIfStatementParserRuleCall_5; }
+
+ //SwitchStatement
+ public RuleCall getSwitchStatementParserRuleCall_6() { return cSwitchStatementParserRuleCall_6; }
+
+ //WhileStatement
+ public RuleCall getWhileStatementParserRuleCall_7() { return cWhileStatementParserRuleCall_7; }
+
+ //DoStatement
+ public RuleCall getDoStatementParserRuleCall_8() { return cDoStatementParserRuleCall_8; }
+
+ //ForStatement
+ public RuleCall getForStatementParserRuleCall_9() { return cForStatementParserRuleCall_9; }
+
+ //BreakStatement
+ public RuleCall getBreakStatementParserRuleCall_10() { return cBreakStatementParserRuleCall_10; }
+
+ //ReturnStatement
+ public RuleCall getReturnStatementParserRuleCall_11() { return cReturnStatementParserRuleCall_11; }
+
+ //AcceptStatement
+ public RuleCall getAcceptStatementParserRuleCall_12() { return cAcceptStatementParserRuleCall_12; }
+
+ //ClassifyStatement
+ public RuleCall getClassifyStatementParserRuleCall_13() { return cClassifyStatementParserRuleCall_13; }
+
+ //InvocationOrAssignementOrDeclarationStatement
+ public RuleCall getInvocationOrAssignementOrDeclarationStatementParserRuleCall_14() { return cInvocationOrAssignementOrDeclarationStatementParserRuleCall_14; }
+
+ //SuperInvocationStatement
+ public RuleCall getSuperInvocationStatementParserRuleCall_15() { return cSuperInvocationStatementParserRuleCall_15; }
+
+ //ThisInvocationStatement
+ public RuleCall getThisInvocationStatementParserRuleCall_16() { return cThisInvocationStatementParserRuleCall_16; }
+
+ //InstanceCreationInvocationStatement
+ public RuleCall getInstanceCreationInvocationStatementParserRuleCall_17() { return cInstanceCreationInvocationStatementParserRuleCall_17; }
+ }
+
+ public class AnnotationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Annotation");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cKindAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cKindAnnotationKindEnumRuleCall_0_0 = (RuleCall)cKindAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cLeftParenthesisKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cArgsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cArgsIDTerminalRuleCall_1_1_0 = (RuleCall)cArgsAssignment_1_1.eContents().get(0);
+ private final Group cGroup_1_2 = (Group)cGroup_1.eContents().get(2);
+ private final Keyword cCommaKeyword_1_2_0 = (Keyword)cGroup_1_2.eContents().get(0);
+ private final Assignment cArgsAssignment_1_2_1 = (Assignment)cGroup_1_2.eContents().get(1);
+ private final RuleCall cArgsIDTerminalRuleCall_1_2_1_0 = (RuleCall)cArgsAssignment_1_2_1.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_1_3 = (Keyword)cGroup_1.eContents().get(3);
+
+ //Annotation:
+ // kind=AnnotationKind ("(" args+=ID ("," args+=ID)* ")")?;
+ public ParserRule getRule() { return rule; }
+
+ //kind=AnnotationKind ("(" args+=ID ("," args+=ID)* ")")?
+ public Group getGroup() { return cGroup; }
+
+ //kind=AnnotationKind
+ public Assignment getKindAssignment_0() { return cKindAssignment_0; }
+
+ //AnnotationKind
+ public RuleCall getKindAnnotationKindEnumRuleCall_0_0() { return cKindAnnotationKindEnumRuleCall_0_0; }
+
+ //("(" args+=ID ("," args+=ID)* ")")?
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_1_0() { return cLeftParenthesisKeyword_1_0; }
+
+ //args+=ID
+ public Assignment getArgsAssignment_1_1() { return cArgsAssignment_1_1; }
+
+ //ID
+ public RuleCall getArgsIDTerminalRuleCall_1_1_0() { return cArgsIDTerminalRuleCall_1_1_0; }
+
+ //("," args+=ID)*
+ public Group getGroup_1_2() { return cGroup_1_2; }
+
+ //","
+ public Keyword getCommaKeyword_1_2_0() { return cCommaKeyword_1_2_0; }
+
+ //args+=ID
+ public Assignment getArgsAssignment_1_2_1() { return cArgsAssignment_1_2_1; }
+
+ //ID
+ public RuleCall getArgsIDTerminalRuleCall_1_2_1_0() { return cArgsIDTerminalRuleCall_1_2_1_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_1_3() { return cRightParenthesisKeyword_1_3; }
+ }
+
+ public class BlockStatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BlockStatement");
+ private final Assignment cBlockAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cBlockBlockParserRuleCall_0 = (RuleCall)cBlockAssignment.eContents().get(0);
+
+ //BlockStatement:
+ // block=Block;
+ public ParserRule getRule() { return rule; }
+
+ //block=Block
+ public Assignment getBlockAssignment() { return cBlockAssignment; }
+
+ //Block
+ public RuleCall getBlockBlockParserRuleCall_0() { return cBlockBlockParserRuleCall_0; }
+ }
+
+ public class EmptyStatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EmptyStatement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cEmptyStatementAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword cSemicolonKeyword_1 = (Keyword)cGroup.eContents().get(1);
+
+ //EmptyStatement:
+ // {EmptyStatement} ";";
+ public ParserRule getRule() { return rule; }
+
+ //{EmptyStatement} ";"
+ public Group getGroup() { return cGroup; }
+
+ //{EmptyStatement}
+ public Action getEmptyStatementAction_0() { return cEmptyStatementAction_0; }
+
+ //";"
+ public Keyword getSemicolonKeyword_1() { return cSemicolonKeyword_1; }
+ }
+
+ public class LocalNameDeclarationStatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LocalNameDeclarationStatement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cLetKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cVarNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cVarNameIDTerminalRuleCall_1_0 = (RuleCall)cVarNameAssignment_1.eContents().get(0);
+ private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cTypeAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cTypeQualifiedNameWithBindingParserRuleCall_3_0 = (RuleCall)cTypeAssignment_3.eContents().get(0);
+ private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+ private final Assignment cMultiplicityIndicatorAssignment_4_0 = (Assignment)cGroup_4.eContents().get(0);
+ private final Keyword cMultiplicityIndicatorLeftSquareBracketKeyword_4_0_0 = (Keyword)cMultiplicityIndicatorAssignment_4_0.eContents().get(0);
+ private final Keyword cRightSquareBracketKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1);
+ private final Keyword cEqualsSignKeyword_5 = (Keyword)cGroup.eContents().get(5);
+ private final Assignment cInitAssignment_6 = (Assignment)cGroup.eContents().get(6);
+ private final RuleCall cInitSequenceElementParserRuleCall_6_0 = (RuleCall)cInitAssignment_6.eContents().get(0);
+ private final Keyword cSemicolonKeyword_7 = (Keyword)cGroup.eContents().get(7);
+
+ //LocalNameDeclarationStatement:
+ // "let" varName=ID ":" type=QualifiedNameWithBinding (multiplicityIndicator?="[" "]")? //'=' init = Expression ';'
+ // "=" init=SequenceElement ";";
+ public ParserRule getRule() { return rule; }
+
+ //"let" varName=ID ":" type=QualifiedNameWithBinding (multiplicityIndicator?="[" "]")? //'=' init = Expression ';'
+ //"=" init=SequenceElement ";"
+ public Group getGroup() { return cGroup; }
+
+ //"let"
+ public Keyword getLetKeyword_0() { return cLetKeyword_0; }
+
+ //varName=ID
+ public Assignment getVarNameAssignment_1() { return cVarNameAssignment_1; }
+
+ //ID
+ public RuleCall getVarNameIDTerminalRuleCall_1_0() { return cVarNameIDTerminalRuleCall_1_0; }
+
+ //":"
+ public Keyword getColonKeyword_2() { return cColonKeyword_2; }
+
+ //type=QualifiedNameWithBinding
+ public Assignment getTypeAssignment_3() { return cTypeAssignment_3; }
+
+ //QualifiedNameWithBinding
+ public RuleCall getTypeQualifiedNameWithBindingParserRuleCall_3_0() { return cTypeQualifiedNameWithBindingParserRuleCall_3_0; }
+
+ //(multiplicityIndicator?="[" "]")?
+ public Group getGroup_4() { return cGroup_4; }
+
+ //multiplicityIndicator?="["
+ public Assignment getMultiplicityIndicatorAssignment_4_0() { return cMultiplicityIndicatorAssignment_4_0; }
+
+ //"["
+ public Keyword getMultiplicityIndicatorLeftSquareBracketKeyword_4_0_0() { return cMultiplicityIndicatorLeftSquareBracketKeyword_4_0_0; }
+
+ //"]"
+ public Keyword getRightSquareBracketKeyword_4_1() { return cRightSquareBracketKeyword_4_1; }
+
+ ////'=' init = Expression ';'
+ //"="
+ public Keyword getEqualsSignKeyword_5() { return cEqualsSignKeyword_5; }
+
+ //init=SequenceElement
+ public Assignment getInitAssignment_6() { return cInitAssignment_6; }
+
+ //SequenceElement
+ public RuleCall getInitSequenceElementParserRuleCall_6_0() { return cInitSequenceElementParserRuleCall_6_0; }
+
+ //";"
+ public Keyword getSemicolonKeyword_7() { return cSemicolonKeyword_7; }
+ }
+
+ public class IfStatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "IfStatement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cIfKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cSequentialClaussesAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cSequentialClaussesSequentialClausesParserRuleCall_1_0 = (RuleCall)cSequentialClaussesAssignment_1.eContents().get(0);
+ private final Assignment cFinalClauseAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cFinalClauseFinalClauseParserRuleCall_2_0 = (RuleCall)cFinalClauseAssignment_2.eContents().get(0);
+
+ //IfStatement:
+ // "if" sequentialClausses=SequentialClauses finalClause=FinalClause?;
+ public ParserRule getRule() { return rule; }
+
+ //"if" sequentialClausses=SequentialClauses finalClause=FinalClause?
+ public Group getGroup() { return cGroup; }
+
+ //"if"
+ public Keyword getIfKeyword_0() { return cIfKeyword_0; }
+
+ //sequentialClausses=SequentialClauses
+ public Assignment getSequentialClaussesAssignment_1() { return cSequentialClaussesAssignment_1; }
+
+ //SequentialClauses
+ public RuleCall getSequentialClaussesSequentialClausesParserRuleCall_1_0() { return cSequentialClaussesSequentialClausesParserRuleCall_1_0; }
+
+ //finalClause=FinalClause?
+ public Assignment getFinalClauseAssignment_2() { return cFinalClauseAssignment_2; }
+
+ //FinalClause
+ public RuleCall getFinalClauseFinalClauseParserRuleCall_2_0() { return cFinalClauseFinalClauseParserRuleCall_2_0; }
+ }
+
+ public class SequentialClausesElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SequentialClauses");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cConccurentClausesAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cConccurentClausesConcurrentClausesParserRuleCall_0_0 = (RuleCall)cConccurentClausesAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cElseKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Keyword cIfKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
+ private final Assignment cConccurentClausesAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
+ private final RuleCall cConccurentClausesConcurrentClausesParserRuleCall_1_2_0 = (RuleCall)cConccurentClausesAssignment_1_2.eContents().get(0);
+
+ //SequentialClauses:
+ // conccurentClauses+=ConcurrentClauses ("else" "if" conccurentClauses+=ConcurrentClauses)*;
+ public ParserRule getRule() { return rule; }
+
+ //conccurentClauses+=ConcurrentClauses ("else" "if" conccurentClauses+=ConcurrentClauses)*
+ public Group getGroup() { return cGroup; }
+
+ //conccurentClauses+=ConcurrentClauses
+ public Assignment getConccurentClausesAssignment_0() { return cConccurentClausesAssignment_0; }
+
+ //ConcurrentClauses
+ public RuleCall getConccurentClausesConcurrentClausesParserRuleCall_0_0() { return cConccurentClausesConcurrentClausesParserRuleCall_0_0; }
+
+ //("else" "if" conccurentClauses+=ConcurrentClauses)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"else"
+ public Keyword getElseKeyword_1_0() { return cElseKeyword_1_0; }
+
+ //"if"
+ public Keyword getIfKeyword_1_1() { return cIfKeyword_1_1; }
+
+ //conccurentClauses+=ConcurrentClauses
+ public Assignment getConccurentClausesAssignment_1_2() { return cConccurentClausesAssignment_1_2; }
+
+ //ConcurrentClauses
+ public RuleCall getConccurentClausesConcurrentClausesParserRuleCall_1_2_0() { return cConccurentClausesConcurrentClausesParserRuleCall_1_2_0; }
+ }
+
+ public class ConcurrentClausesElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ConcurrentClauses");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cNonFinalClauseAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cNonFinalClauseNonFinalClauseParserRuleCall_0_0 = (RuleCall)cNonFinalClauseAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cOrKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Keyword cIfKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
+ private final Assignment cNonFinalClauseAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
+ private final RuleCall cNonFinalClauseNonFinalClauseParserRuleCall_1_2_0 = (RuleCall)cNonFinalClauseAssignment_1_2.eContents().get(0);
+
+ //ConcurrentClauses:
+ // nonFinalClause+=NonFinalClause ("or" "if" nonFinalClause+=NonFinalClause)*;
+ public ParserRule getRule() { return rule; }
+
+ //nonFinalClause+=NonFinalClause ("or" "if" nonFinalClause+=NonFinalClause)*
+ public Group getGroup() { return cGroup; }
+
+ //nonFinalClause+=NonFinalClause
+ public Assignment getNonFinalClauseAssignment_0() { return cNonFinalClauseAssignment_0; }
+
+ //NonFinalClause
+ public RuleCall getNonFinalClauseNonFinalClauseParserRuleCall_0_0() { return cNonFinalClauseNonFinalClauseParserRuleCall_0_0; }
+
+ //("or" "if" nonFinalClause+=NonFinalClause)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"or"
+ public Keyword getOrKeyword_1_0() { return cOrKeyword_1_0; }
+
+ //"if"
+ public Keyword getIfKeyword_1_1() { return cIfKeyword_1_1; }
+
+ //nonFinalClause+=NonFinalClause
+ public Assignment getNonFinalClauseAssignment_1_2() { return cNonFinalClauseAssignment_1_2; }
+
+ //NonFinalClause
+ public RuleCall getNonFinalClauseNonFinalClauseParserRuleCall_1_2_0() { return cNonFinalClauseNonFinalClauseParserRuleCall_1_2_0; }
+ }
+
+ public class NonFinalClauseElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NonFinalClause");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cLeftParenthesisKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cConditionAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cConditionExpressionParserRuleCall_1_0 = (RuleCall)cConditionAssignment_1.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cBlockAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cBlockBlockParserRuleCall_3_0 = (RuleCall)cBlockAssignment_3.eContents().get(0);
+
+ //NonFinalClause:
+ // "(" condition=Expression ")" block=Block;
+ public ParserRule getRule() { return rule; }
+
+ //"(" condition=Expression ")" block=Block
+ public Group getGroup() { return cGroup; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_0() { return cLeftParenthesisKeyword_0; }
+
+ //condition=Expression
+ public Assignment getConditionAssignment_1() { return cConditionAssignment_1; }
+
+ //Expression
+ public RuleCall getConditionExpressionParserRuleCall_1_0() { return cConditionExpressionParserRuleCall_1_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_2() { return cRightParenthesisKeyword_2; }
+
+ //block=Block
+ public Assignment getBlockAssignment_3() { return cBlockAssignment_3; }
+
+ //Block
+ public RuleCall getBlockBlockParserRuleCall_3_0() { return cBlockBlockParserRuleCall_3_0; }
+ }
+
+ public class FinalClauseElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FinalClause");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cElseKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cBlockAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cBlockBlockParserRuleCall_1_0 = (RuleCall)cBlockAssignment_1.eContents().get(0);
+
+ //FinalClause:
+ // "else" block=Block;
+ public ParserRule getRule() { return rule; }
+
+ //"else" block=Block
+ public Group getGroup() { return cGroup; }
+
+ //"else"
+ public Keyword getElseKeyword_0() { return cElseKeyword_0; }
+
+ //block=Block
+ public Assignment getBlockAssignment_1() { return cBlockAssignment_1; }
+
+ //Block
+ public RuleCall getBlockBlockParserRuleCall_1_0() { return cBlockBlockParserRuleCall_1_0; }
+ }
+
+ public class SwitchStatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SwitchStatement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cSwitchKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cExpressionAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cExpressionExpressionParserRuleCall_2_0 = (RuleCall)cExpressionAssignment_2.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
+ private final Assignment cSwitchClauseAssignment_5 = (Assignment)cGroup.eContents().get(5);
+ private final RuleCall cSwitchClauseSwitchClauseParserRuleCall_5_0 = (RuleCall)cSwitchClauseAssignment_5.eContents().get(0);
+ private final Assignment cDefaultClauseAssignment_6 = (Assignment)cGroup.eContents().get(6);
+ private final RuleCall cDefaultClauseSwitchDefaultClauseParserRuleCall_6_0 = (RuleCall)cDefaultClauseAssignment_6.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
+
+ //SwitchStatement:
+ // "switch" "(" expression=Expression ")" "{" switchClause+=SwitchClause* defaultClause=SwitchDefaultClause? "}";
+ public ParserRule getRule() { return rule; }
+
+ //"switch" "(" expression=Expression ")" "{" switchClause+=SwitchClause* defaultClause=SwitchDefaultClause? "}"
+ public Group getGroup() { return cGroup; }
+
+ //"switch"
+ public Keyword getSwitchKeyword_0() { return cSwitchKeyword_0; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
+
+ //expression=Expression
+ public Assignment getExpressionAssignment_2() { return cExpressionAssignment_2; }
+
+ //Expression
+ public RuleCall getExpressionExpressionParserRuleCall_2_0() { return cExpressionExpressionParserRuleCall_2_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
+
+ //switchClause+=SwitchClause*
+ public Assignment getSwitchClauseAssignment_5() { return cSwitchClauseAssignment_5; }
+
+ //SwitchClause
+ public RuleCall getSwitchClauseSwitchClauseParserRuleCall_5_0() { return cSwitchClauseSwitchClauseParserRuleCall_5_0; }
+
+ //defaultClause=SwitchDefaultClause?
+ public Assignment getDefaultClauseAssignment_6() { return cDefaultClauseAssignment_6; }
+
+ //SwitchDefaultClause
+ public RuleCall getDefaultClauseSwitchDefaultClauseParserRuleCall_6_0() { return cDefaultClauseSwitchDefaultClauseParserRuleCall_6_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
+ }
+
+ public class SwitchClauseElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SwitchClause");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cSwitchCaseAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cSwitchCaseSwitchCaseParserRuleCall_0_0 = (RuleCall)cSwitchCaseAssignment_0.eContents().get(0);
+ private final Assignment cSwitchCaseAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cSwitchCaseSwitchCaseParserRuleCall_1_0 = (RuleCall)cSwitchCaseAssignment_1.eContents().get(0);
+ private final Assignment cStatementSequenceAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cStatementSequenceNonEmptyStatementSequenceParserRuleCall_2_0 = (RuleCall)cStatementSequenceAssignment_2.eContents().get(0);
+
+ //SwitchClause:
+ // switchCase+=SwitchCase switchCase+=SwitchCase* statementSequence=NonEmptyStatementSequence;
+ public ParserRule getRule() { return rule; }
+
+ //switchCase+=SwitchCase switchCase+=SwitchCase* statementSequence=NonEmptyStatementSequence
+ public Group getGroup() { return cGroup; }
+
+ //switchCase+=SwitchCase
+ public Assignment getSwitchCaseAssignment_0() { return cSwitchCaseAssignment_0; }
+
+ //SwitchCase
+ public RuleCall getSwitchCaseSwitchCaseParserRuleCall_0_0() { return cSwitchCaseSwitchCaseParserRuleCall_0_0; }
+
+ //switchCase+=SwitchCase*
+ public Assignment getSwitchCaseAssignment_1() { return cSwitchCaseAssignment_1; }
+
+ //SwitchCase
+ public RuleCall getSwitchCaseSwitchCaseParserRuleCall_1_0() { return cSwitchCaseSwitchCaseParserRuleCall_1_0; }
+
+ //statementSequence=NonEmptyStatementSequence
+ public Assignment getStatementSequenceAssignment_2() { return cStatementSequenceAssignment_2; }
+
+ //NonEmptyStatementSequence
+ public RuleCall getStatementSequenceNonEmptyStatementSequenceParserRuleCall_2_0() { return cStatementSequenceNonEmptyStatementSequenceParserRuleCall_2_0; }
+ }
+
+ public class SwitchCaseElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SwitchCase");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cCaseKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cExpressionAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cExpressionExpressionParserRuleCall_1_0 = (RuleCall)cExpressionAssignment_1.eContents().get(0);
+ private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
+
+ //SwitchCase:
+ // "case" expression=Expression ":";
+ public ParserRule getRule() { return rule; }
+
+ //"case" expression=Expression ":"
+ public Group getGroup() { return cGroup; }
+
+ //"case"
+ public Keyword getCaseKeyword_0() { return cCaseKeyword_0; }
+
+ //expression=Expression
+ public Assignment getExpressionAssignment_1() { return cExpressionAssignment_1; }
+
+ //Expression
+ public RuleCall getExpressionExpressionParserRuleCall_1_0() { return cExpressionExpressionParserRuleCall_1_0; }
+
+ //":"
+ public Keyword getColonKeyword_2() { return cColonKeyword_2; }
+ }
+
+ public class SwitchDefaultClauseElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SwitchDefaultClause");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cDefaultKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cStatementSequenceAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cStatementSequenceNonEmptyStatementSequenceParserRuleCall_2_0 = (RuleCall)cStatementSequenceAssignment_2.eContents().get(0);
+
+ //SwitchDefaultClause:
+ // "default" ":" statementSequence=NonEmptyStatementSequence;
+ public ParserRule getRule() { return rule; }
+
+ //"default" ":" statementSequence=NonEmptyStatementSequence
+ public Group getGroup() { return cGroup; }
+
+ //"default"
+ public Keyword getDefaultKeyword_0() { return cDefaultKeyword_0; }
+
+ //":"
+ public Keyword getColonKeyword_1() { return cColonKeyword_1; }
+
+ //statementSequence=NonEmptyStatementSequence
+ public Assignment getStatementSequenceAssignment_2() { return cStatementSequenceAssignment_2; }
+
+ //NonEmptyStatementSequence
+ public RuleCall getStatementSequenceNonEmptyStatementSequenceParserRuleCall_2_0() { return cStatementSequenceNonEmptyStatementSequenceParserRuleCall_2_0; }
+ }
+
+ public class NonEmptyStatementSequenceElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NonEmptyStatementSequence");
+ private final Assignment cStatementAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cStatementDocumentedStatementParserRuleCall_0 = (RuleCall)cStatementAssignment.eContents().get(0);
+
+ //NonEmptyStatementSequence:
+ // statement+=DocumentedStatement+;
+ public ParserRule getRule() { return rule; }
+
+ //statement+=DocumentedStatement+
+ public Assignment getStatementAssignment() { return cStatementAssignment; }
+
+ //DocumentedStatement
+ public RuleCall getStatementDocumentedStatementParserRuleCall_0() { return cStatementDocumentedStatementParserRuleCall_0; }
+ }
+
+ public class WhileStatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "WhileStatement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cWhileKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cConditionAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cConditionExpressionParserRuleCall_2_0 = (RuleCall)cConditionAssignment_2.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Assignment cBlockAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cBlockBlockParserRuleCall_4_0 = (RuleCall)cBlockAssignment_4.eContents().get(0);
+
+ /// * WHILE STATEMENTS * / WhileStatement:
+ // "while" "(" condition=Expression ")" block=Block;
+ public ParserRule getRule() { return rule; }
+
+ //"while" "(" condition=Expression ")" block=Block
+ public Group getGroup() { return cGroup; }
+
+ //"while"
+ public Keyword getWhileKeyword_0() { return cWhileKeyword_0; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
+
+ //condition=Expression
+ public Assignment getConditionAssignment_2() { return cConditionAssignment_2; }
+
+ //Expression
+ public RuleCall getConditionExpressionParserRuleCall_2_0() { return cConditionExpressionParserRuleCall_2_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
+
+ //block=Block
+ public Assignment getBlockAssignment_4() { return cBlockAssignment_4; }
+
+ //Block
+ public RuleCall getBlockBlockParserRuleCall_4_0() { return cBlockBlockParserRuleCall_4_0; }
+ }
+
+ public class DoStatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DoStatement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cDoKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cBlockAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cBlockBlockParserRuleCall_1_0 = (RuleCall)cBlockAssignment_1.eContents().get(0);
+ private final Keyword cWhileKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Keyword cLeftParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Assignment cConditionAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cConditionExpressionParserRuleCall_4_0 = (RuleCall)cConditionAssignment_4.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5);
+ private final Keyword cSemicolonKeyword_6 = (Keyword)cGroup.eContents().get(6);
+
+ /// * DO STATEMENTS * / DoStatement:
+ // "do" block=Block "while" "(" condition=Expression ")" ";";
+ public ParserRule getRule() { return rule; }
+
+ //"do" block=Block "while" "(" condition=Expression ")" ";"
+ public Group getGroup() { return cGroup; }
+
+ //"do"
+ public Keyword getDoKeyword_0() { return cDoKeyword_0; }
+
+ //block=Block
+ public Assignment getBlockAssignment_1() { return cBlockAssignment_1; }
+
+ //Block
+ public RuleCall getBlockBlockParserRuleCall_1_0() { return cBlockBlockParserRuleCall_1_0; }
+
+ //"while"
+ public Keyword getWhileKeyword_2() { return cWhileKeyword_2; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_3() { return cLeftParenthesisKeyword_3; }
+
+ //condition=Expression
+ public Assignment getConditionAssignment_4() { return cConditionAssignment_4; }
+
+ //Expression
+ public RuleCall getConditionExpressionParserRuleCall_4_0() { return cConditionExpressionParserRuleCall_4_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; }
+
+ //";"
+ public Keyword getSemicolonKeyword_6() { return cSemicolonKeyword_6; }
+ }
+
+ public class ForStatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ForStatement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cForKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cControlAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cControlForControlParserRuleCall_2_0 = (RuleCall)cControlAssignment_2.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Assignment cBlockAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cBlockBlockParserRuleCall_4_0 = (RuleCall)cBlockAssignment_4.eContents().get(0);
+
+ /// * FOR STATEMENTS * / ForStatement:
+ // "for" "(" control=ForControl ")" block=Block;
+ public ParserRule getRule() { return rule; }
+
+ //"for" "(" control=ForControl ")" block=Block
+ public Group getGroup() { return cGroup; }
+
+ //"for"
+ public Keyword getForKeyword_0() { return cForKeyword_0; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
+
+ //control=ForControl
+ public Assignment getControlAssignment_2() { return cControlAssignment_2; }
+
+ //ForControl
+ public RuleCall getControlForControlParserRuleCall_2_0() { return cControlForControlParserRuleCall_2_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
+
+ //block=Block
+ public Assignment getBlockAssignment_4() { return cBlockAssignment_4; }
+
+ //Block
+ public RuleCall getBlockBlockParserRuleCall_4_0() { return cBlockBlockParserRuleCall_4_0; }
+ }
+
+ public class ForControlElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ForControl");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cLoopVariableDefinitionAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cLoopVariableDefinitionLoopVariableDefinitionParserRuleCall_0_0 = (RuleCall)cLoopVariableDefinitionAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cLoopVariableDefinitionAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cLoopVariableDefinitionLoopVariableDefinitionParserRuleCall_1_1_0 = (RuleCall)cLoopVariableDefinitionAssignment_1_1.eContents().get(0);
+
+ //ForControl:
+ // loopVariableDefinition+=LoopVariableDefinition ("," loopVariableDefinition+=LoopVariableDefinition)*;
+ public ParserRule getRule() { return rule; }
+
+ //loopVariableDefinition+=LoopVariableDefinition ("," loopVariableDefinition+=LoopVariableDefinition)*
+ public Group getGroup() { return cGroup; }
+
+ //loopVariableDefinition+=LoopVariableDefinition
+ public Assignment getLoopVariableDefinitionAssignment_0() { return cLoopVariableDefinitionAssignment_0; }
+
+ //LoopVariableDefinition
+ public RuleCall getLoopVariableDefinitionLoopVariableDefinitionParserRuleCall_0_0() { return cLoopVariableDefinitionLoopVariableDefinitionParserRuleCall_0_0; }
+
+ //("," loopVariableDefinition+=LoopVariableDefinition)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //","
+ public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; }
+
+ //loopVariableDefinition+=LoopVariableDefinition
+ public Assignment getLoopVariableDefinitionAssignment_1_1() { return cLoopVariableDefinitionAssignment_1_1; }
+
+ //LoopVariableDefinition
+ public RuleCall getLoopVariableDefinitionLoopVariableDefinitionParserRuleCall_1_1_0() { return cLoopVariableDefinitionLoopVariableDefinitionParserRuleCall_1_1_0; }
+ }
+
+ public class LoopVariableDefinitionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LoopVariableDefinition");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
+ private final Assignment cNameAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0);
+ private final RuleCall cNameIDTerminalRuleCall_0_0_0 = (RuleCall)cNameAssignment_0_0.eContents().get(0);
+ private final Keyword cInKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1);
+ private final Assignment cExpression1Assignment_0_2 = (Assignment)cGroup_0.eContents().get(2);
+ private final RuleCall cExpression1ExpressionParserRuleCall_0_2_0 = (RuleCall)cExpression1Assignment_0_2.eContents().get(0);
+ private final Group cGroup_0_3 = (Group)cGroup_0.eContents().get(3);
+ private final Keyword cFullStopFullStopKeyword_0_3_0 = (Keyword)cGroup_0_3.eContents().get(0);
+ private final Assignment cExpression2Assignment_0_3_1 = (Assignment)cGroup_0_3.eContents().get(1);
+ private final RuleCall cExpression2ExpressionParserRuleCall_0_3_1_0 = (RuleCall)cExpression2Assignment_0_3_1.eContents().get(0);
+ private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
+ private final Assignment cTypeAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
+ private final RuleCall cTypeQualifiedNameWithBindingParserRuleCall_1_0_0 = (RuleCall)cTypeAssignment_1_0.eContents().get(0);
+ private final Assignment cNameAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_1_0 = (RuleCall)cNameAssignment_1_1.eContents().get(0);
+ private final Keyword cColonKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2);
+ private final Assignment cExpressionAssignment_1_3 = (Assignment)cGroup_1.eContents().get(3);
+ private final RuleCall cExpressionExpressionParserRuleCall_1_3_0 = (RuleCall)cExpressionAssignment_1_3.eContents().get(0);
+
+ //LoopVariableDefinition:
+ // name=ID "in" expression1=Expression (".." expression2=Expression)? | type=QualifiedNameWithBinding name=ID ":"
+ // expression=Expression;
+ public ParserRule getRule() { return rule; }
+
+ //name=ID "in" expression1=Expression (".." expression2=Expression)? | type=QualifiedNameWithBinding name=ID ":"
+ //expression=Expression
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //name=ID "in" expression1=Expression (".." expression2=Expression)?
+ public Group getGroup_0() { return cGroup_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_0_0() { return cNameAssignment_0_0; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_0_0_0() { return cNameIDTerminalRuleCall_0_0_0; }
+
+ //"in"
+ public Keyword getInKeyword_0_1() { return cInKeyword_0_1; }
+
+ //expression1=Expression
+ public Assignment getExpression1Assignment_0_2() { return cExpression1Assignment_0_2; }
+
+ //Expression
+ public RuleCall getExpression1ExpressionParserRuleCall_0_2_0() { return cExpression1ExpressionParserRuleCall_0_2_0; }
+
+ //(".." expression2=Expression)?
+ public Group getGroup_0_3() { return cGroup_0_3; }
+
+ //".."
+ public Keyword getFullStopFullStopKeyword_0_3_0() { return cFullStopFullStopKeyword_0_3_0; }
+
+ //expression2=Expression
+ public Assignment getExpression2Assignment_0_3_1() { return cExpression2Assignment_0_3_1; }
+
+ //Expression
+ public RuleCall getExpression2ExpressionParserRuleCall_0_3_1_0() { return cExpression2ExpressionParserRuleCall_0_3_1_0; }
+
+ //type=QualifiedNameWithBinding name=ID ":" expression=Expression
+ public Group getGroup_1() { return cGroup_1; }
+
+ //type=QualifiedNameWithBinding
+ public Assignment getTypeAssignment_1_0() { return cTypeAssignment_1_0; }
+
+ //QualifiedNameWithBinding
+ public RuleCall getTypeQualifiedNameWithBindingParserRuleCall_1_0_0() { return cTypeQualifiedNameWithBindingParserRuleCall_1_0_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1_1() { return cNameAssignment_1_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_1_0() { return cNameIDTerminalRuleCall_1_1_0; }
+
+ //":"
+ public Keyword getColonKeyword_1_2() { return cColonKeyword_1_2; }
+
+ //expression=Expression
+ public Assignment getExpressionAssignment_1_3() { return cExpressionAssignment_1_3; }
+
+ //Expression
+ public RuleCall getExpressionExpressionParserRuleCall_1_3_0() { return cExpressionExpressionParserRuleCall_1_3_0; }
+ }
+
+ public class BreakStatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BreakStatement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cBreakStatementAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword cBreakKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Keyword cSemicolonKeyword_2 = (Keyword)cGroup.eContents().get(2);
+
+ /// * BREAK STATEMENTS * / BreakStatement:
+ // {BreakStatement} "break" ";";
+ public ParserRule getRule() { return rule; }
+
+ //{BreakStatement} "break" ";"
+ public Group getGroup() { return cGroup; }
+
+ //{BreakStatement}
+ public Action getBreakStatementAction_0() { return cBreakStatementAction_0; }
+
+ //"break"
+ public Keyword getBreakKeyword_1() { return cBreakKeyword_1; }
+
+ //";"
+ public Keyword getSemicolonKeyword_2() { return cSemicolonKeyword_2; }
+ }
+
+ public class ReturnStatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ReturnStatement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cReturnKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cExpressionAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cExpressionExpressionParserRuleCall_1_0 = (RuleCall)cExpressionAssignment_1.eContents().get(0);
+ private final Keyword cSemicolonKeyword_2 = (Keyword)cGroup.eContents().get(2);
+
+ /// * RETURN STATEMENTS * / ReturnStatement:
+ // "return" expression=Expression ";";
+ public ParserRule getRule() { return rule; }
+
+ //"return" expression=Expression ";"
+ public Group getGroup() { return cGroup; }
+
+ //"return"
+ public Keyword getReturnKeyword_0() { return cReturnKeyword_0; }
+
+ //expression=Expression
+ public Assignment getExpressionAssignment_1() { return cExpressionAssignment_1; }
+
+ //Expression
+ public RuleCall getExpressionExpressionParserRuleCall_1_0() { return cExpressionExpressionParserRuleCall_1_0; }
+
+ //";"
+ public Keyword getSemicolonKeyword_2() { return cSemicolonKeyword_2; }
+ }
+
+ public class AcceptStatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AcceptStatement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cClauseAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cClauseAcceptClauseParserRuleCall_0_0 = (RuleCall)cClauseAssignment_0.eContents().get(0);
+ private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
+ private final Assignment cSimpleAcceptAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0);
+ private final RuleCall cSimpleAcceptSimpleAcceptStatementCompletionParserRuleCall_1_0_0 = (RuleCall)cSimpleAcceptAssignment_1_0.eContents().get(0);
+ private final Assignment cCompoundAcceptAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1);
+ private final RuleCall cCompoundAcceptCompoundAcceptStatementCompletionParserRuleCall_1_1_0 = (RuleCall)cCompoundAcceptAssignment_1_1.eContents().get(0);
+
+ /// * ACCEPT STATEMENTS * / AcceptStatement:
+ // clause=AcceptClause (simpleAccept=SimpleAcceptStatementCompletion | compoundAccept=CompoundAcceptStatementCompletion);
+ public ParserRule getRule() { return rule; }
+
+ //clause=AcceptClause (simpleAccept=SimpleAcceptStatementCompletion | compoundAccept=CompoundAcceptStatementCompletion)
+ public Group getGroup() { return cGroup; }
+
+ //clause=AcceptClause
+ public Assignment getClauseAssignment_0() { return cClauseAssignment_0; }
+
+ //AcceptClause
+ public RuleCall getClauseAcceptClauseParserRuleCall_0_0() { return cClauseAcceptClauseParserRuleCall_0_0; }
+
+ //simpleAccept=SimpleAcceptStatementCompletion | compoundAccept=CompoundAcceptStatementCompletion
+ public Alternatives getAlternatives_1() { return cAlternatives_1; }
+
+ //simpleAccept=SimpleAcceptStatementCompletion
+ public Assignment getSimpleAcceptAssignment_1_0() { return cSimpleAcceptAssignment_1_0; }
+
+ //SimpleAcceptStatementCompletion
+ public RuleCall getSimpleAcceptSimpleAcceptStatementCompletionParserRuleCall_1_0_0() { return cSimpleAcceptSimpleAcceptStatementCompletionParserRuleCall_1_0_0; }
+
+ //compoundAccept=CompoundAcceptStatementCompletion
+ public Assignment getCompoundAcceptAssignment_1_1() { return cCompoundAcceptAssignment_1_1; }
+
+ //CompoundAcceptStatementCompletion
+ public RuleCall getCompoundAcceptCompoundAcceptStatementCompletionParserRuleCall_1_1_0() { return cCompoundAcceptCompoundAcceptStatementCompletionParserRuleCall_1_1_0; }
+ }
+
+ public class SimpleAcceptStatementCompletionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SimpleAcceptStatementCompletion");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cSimpleAcceptStatementCompletionAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword cSemicolonKeyword_1 = (Keyword)cGroup.eContents().get(1);
+
+ //SimpleAcceptStatementCompletion:
+ // {SimpleAcceptStatementCompletion} ";";
+ public ParserRule getRule() { return rule; }
+
+ //{SimpleAcceptStatementCompletion} ";"
+ public Group getGroup() { return cGroup; }
+
+ //{SimpleAcceptStatementCompletion}
+ public Action getSimpleAcceptStatementCompletionAction_0() { return cSimpleAcceptStatementCompletionAction_0; }
+
+ //";"
+ public Keyword getSemicolonKeyword_1() { return cSemicolonKeyword_1; }
+ }
+
+ public class CompoundAcceptStatementCompletionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CompoundAcceptStatementCompletion");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cBlockAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cBlockBlockParserRuleCall_0_0 = (RuleCall)cBlockAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cOrKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cAcceptBlockAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cAcceptBlockAcceptBlockParserRuleCall_1_1_0 = (RuleCall)cAcceptBlockAssignment_1_1.eContents().get(0);
+
+ //CompoundAcceptStatementCompletion:
+ // block=Block ("or" acceptBlock+=AcceptBlock)*;
+ public ParserRule getRule() { return rule; }
+
+ //block=Block ("or" acceptBlock+=AcceptBlock)*
+ public Group getGroup() { return cGroup; }
+
+ //block=Block
+ public Assignment getBlockAssignment_0() { return cBlockAssignment_0; }
+
+ //Block
+ public RuleCall getBlockBlockParserRuleCall_0_0() { return cBlockBlockParserRuleCall_0_0; }
+
+ //("or" acceptBlock+=AcceptBlock)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"or"
+ public Keyword getOrKeyword_1_0() { return cOrKeyword_1_0; }
+
+ //acceptBlock+=AcceptBlock
+ public Assignment getAcceptBlockAssignment_1_1() { return cAcceptBlockAssignment_1_1; }
+
+ //AcceptBlock
+ public RuleCall getAcceptBlockAcceptBlockParserRuleCall_1_1_0() { return cAcceptBlockAcceptBlockParserRuleCall_1_1_0; }
+ }
+
+ public class AcceptBlockElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AcceptBlock");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cClauseAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cClauseAcceptClauseParserRuleCall_0_0 = (RuleCall)cClauseAssignment_0.eContents().get(0);
+ private final Assignment cBlockAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cBlockBlockParserRuleCall_1_0 = (RuleCall)cBlockAssignment_1.eContents().get(0);
+
+ //AcceptBlock:
+ // clause=AcceptClause block=Block;
+ public ParserRule getRule() { return rule; }
+
+ //clause=AcceptClause block=Block
+ public Group getGroup() { return cGroup; }
+
+ //clause=AcceptClause
+ public Assignment getClauseAssignment_0() { return cClauseAssignment_0; }
+
+ //AcceptClause
+ public RuleCall getClauseAcceptClauseParserRuleCall_0_0() { return cClauseAcceptClauseParserRuleCall_0_0; }
+
+ //block=Block
+ public Assignment getBlockAssignment_1() { return cBlockAssignment_1; }
+
+ //Block
+ public RuleCall getBlockBlockParserRuleCall_1_0() { return cBlockBlockParserRuleCall_1_0; }
+ }
+
+ public class AcceptClauseElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AcceptClause");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cAcceptKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Assignment cNameAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0);
+ private final RuleCall cNameIDTerminalRuleCall_2_0_0 = (RuleCall)cNameAssignment_2_0.eContents().get(0);
+ private final Keyword cColonKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1);
+ private final Assignment cQualifiedNameListAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cQualifiedNameListQualifiedNameListParserRuleCall_3_0 = (RuleCall)cQualifiedNameListAssignment_3.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
+
+ //AcceptClause:
+ // "accept" "(" (name=ID ":")? qualifiedNameList=QualifiedNameList ")";
+ public ParserRule getRule() { return rule; }
+
+ //"accept" "(" (name=ID ":")? qualifiedNameList=QualifiedNameList ")"
+ public Group getGroup() { return cGroup; }
+
+ //"accept"
+ public Keyword getAcceptKeyword_0() { return cAcceptKeyword_0; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
+
+ //(name=ID ":")?
+ public Group getGroup_2() { return cGroup_2; }
+
+ //name=ID
+ public Assignment getNameAssignment_2_0() { return cNameAssignment_2_0; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_2_0_0() { return cNameIDTerminalRuleCall_2_0_0; }
+
+ //":"
+ public Keyword getColonKeyword_2_1() { return cColonKeyword_2_1; }
+
+ //qualifiedNameList=QualifiedNameList
+ public Assignment getQualifiedNameListAssignment_3() { return cQualifiedNameListAssignment_3; }
+
+ //QualifiedNameList
+ public RuleCall getQualifiedNameListQualifiedNameListParserRuleCall_3_0() { return cQualifiedNameListQualifiedNameListParserRuleCall_3_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
+ }
+
+ public class ClassifyStatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ClassifyStatement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cClassifyKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cExpressionAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cExpressionExpressionParserRuleCall_1_0 = (RuleCall)cExpressionAssignment_1.eContents().get(0);
+ private final Assignment cClauseAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cClauseClassificationClauseParserRuleCall_2_0 = (RuleCall)cClauseAssignment_2.eContents().get(0);
+ private final Keyword cSemicolonKeyword_3 = (Keyword)cGroup.eContents().get(3);
+
+ /// * CLASSIFY STATEMENTS * / ClassifyStatement:
+ // "classify" expression=Expression clause=ClassificationClause ";";
+ public ParserRule getRule() { return rule; }
+
+ //"classify" expression=Expression clause=ClassificationClause ";"
+ public Group getGroup() { return cGroup; }
+
+ //"classify"
+ public Keyword getClassifyKeyword_0() { return cClassifyKeyword_0; }
+
+ //expression=Expression
+ public Assignment getExpressionAssignment_1() { return cExpressionAssignment_1; }
+
+ //Expression
+ public RuleCall getExpressionExpressionParserRuleCall_1_0() { return cExpressionExpressionParserRuleCall_1_0; }
+
+ //clause=ClassificationClause
+ public Assignment getClauseAssignment_2() { return cClauseAssignment_2; }
+
+ //ClassificationClause
+ public RuleCall getClauseClassificationClauseParserRuleCall_2_0() { return cClauseClassificationClauseParserRuleCall_2_0; }
+
+ //";"
+ public Keyword getSemicolonKeyword_3() { return cSemicolonKeyword_3; }
+ }
+
+ public class ClassificationClauseElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ClassificationClause");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
+ private final Assignment cClassifyFromClauseAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0);
+ private final RuleCall cClassifyFromClauseClassificationFromClauseParserRuleCall_0_0_0 = (RuleCall)cClassifyFromClauseAssignment_0_0.eContents().get(0);
+ private final Assignment cClassifyToClauseAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
+ private final RuleCall cClassifyToClauseClassificationToClauseParserRuleCall_0_1_0 = (RuleCall)cClassifyToClauseAssignment_0_1.eContents().get(0);
+ private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
+ private final Assignment cReclassyAllClauseAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
+ private final RuleCall cReclassyAllClauseReclassifyAllClauseParserRuleCall_1_0_0 = (RuleCall)cReclassyAllClauseAssignment_1_0.eContents().get(0);
+ private final Assignment cClassifyToClauseAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cClassifyToClauseClassificationToClauseParserRuleCall_1_1_0 = (RuleCall)cClassifyToClauseAssignment_1_1.eContents().get(0);
+
+ //ClassificationClause:
+ // classifyFromClause=ClassificationFromClause classifyToClause=ClassificationToClause? |
+ // reclassyAllClause=ReclassifyAllClause? classifyToClause=ClassificationToClause;
+ public ParserRule getRule() { return rule; }
+
+ //classifyFromClause=ClassificationFromClause classifyToClause=ClassificationToClause? |
+ //reclassyAllClause=ReclassifyAllClause? classifyToClause=ClassificationToClause
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //classifyFromClause=ClassificationFromClause classifyToClause=ClassificationToClause?
+ public Group getGroup_0() { return cGroup_0; }
+
+ //classifyFromClause=ClassificationFromClause
+ public Assignment getClassifyFromClauseAssignment_0_0() { return cClassifyFromClauseAssignment_0_0; }
+
+ //ClassificationFromClause
+ public RuleCall getClassifyFromClauseClassificationFromClauseParserRuleCall_0_0_0() { return cClassifyFromClauseClassificationFromClauseParserRuleCall_0_0_0; }
+
+ //classifyToClause=ClassificationToClause?
+ public Assignment getClassifyToClauseAssignment_0_1() { return cClassifyToClauseAssignment_0_1; }
+
+ //ClassificationToClause
+ public RuleCall getClassifyToClauseClassificationToClauseParserRuleCall_0_1_0() { return cClassifyToClauseClassificationToClauseParserRuleCall_0_1_0; }
+
+ //reclassyAllClause=ReclassifyAllClause? classifyToClause=ClassificationToClause
+ public Group getGroup_1() { return cGroup_1; }
+
+ //reclassyAllClause=ReclassifyAllClause?
+ public Assignment getReclassyAllClauseAssignment_1_0() { return cReclassyAllClauseAssignment_1_0; }
+
+ //ReclassifyAllClause
+ public RuleCall getReclassyAllClauseReclassifyAllClauseParserRuleCall_1_0_0() { return cReclassyAllClauseReclassifyAllClauseParserRuleCall_1_0_0; }
+
+ //classifyToClause=ClassificationToClause
+ public Assignment getClassifyToClauseAssignment_1_1() { return cClassifyToClauseAssignment_1_1; }
+
+ //ClassificationToClause
+ public RuleCall getClassifyToClauseClassificationToClauseParserRuleCall_1_1_0() { return cClassifyToClauseClassificationToClauseParserRuleCall_1_1_0; }
+ }
+
+ public class ClassificationFromClauseElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ClassificationFromClause");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cFromKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cQualifiedNameListAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cQualifiedNameListQualifiedNameListParserRuleCall_1_0 = (RuleCall)cQualifiedNameListAssignment_1.eContents().get(0);
+
+ //ClassificationFromClause:
+ // "from" qualifiedNameList=QualifiedNameList;
+ public ParserRule getRule() { return rule; }
+
+ //"from" qualifiedNameList=QualifiedNameList
+ public Group getGroup() { return cGroup; }
+
+ //"from"
+ public Keyword getFromKeyword_0() { return cFromKeyword_0; }
+
+ //qualifiedNameList=QualifiedNameList
+ public Assignment getQualifiedNameListAssignment_1() { return cQualifiedNameListAssignment_1; }
+
+ //QualifiedNameList
+ public RuleCall getQualifiedNameListQualifiedNameListParserRuleCall_1_0() { return cQualifiedNameListQualifiedNameListParserRuleCall_1_0; }
+ }
+
+ public class ClassificationToClauseElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ClassificationToClause");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cToKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cQualifiedNameListAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cQualifiedNameListQualifiedNameListParserRuleCall_1_0 = (RuleCall)cQualifiedNameListAssignment_1.eContents().get(0);
+
+ //ClassificationToClause:
+ // "to" qualifiedNameList=QualifiedNameList;
+ public ParserRule getRule() { return rule; }
+
+ //"to" qualifiedNameList=QualifiedNameList
+ public Group getGroup() { return cGroup; }
+
+ //"to"
+ public Keyword getToKeyword_0() { return cToKeyword_0; }
+
+ //qualifiedNameList=QualifiedNameList
+ public Assignment getQualifiedNameListAssignment_1() { return cQualifiedNameListAssignment_1; }
+
+ //QualifiedNameList
+ public RuleCall getQualifiedNameListQualifiedNameListParserRuleCall_1_0() { return cQualifiedNameListQualifiedNameListParserRuleCall_1_0; }
+ }
+
+ public class ReclassifyAllClauseElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ReclassifyAllClause");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cReclassifyAllClauseAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword cFromKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Keyword cAsteriskKeyword_2 = (Keyword)cGroup.eContents().get(2);
+
+ //ReclassifyAllClause:
+ // {ReclassifyAllClause} "from" "*";
+ public ParserRule getRule() { return rule; }
+
+ //{ReclassifyAllClause} "from" "*"
+ public Group getGroup() { return cGroup; }
+
+ //{ReclassifyAllClause}
+ public Action getReclassifyAllClauseAction_0() { return cReclassifyAllClauseAction_0; }
+
+ //"from"
+ public Keyword getFromKeyword_1() { return cFromKeyword_1; }
+
+ //"*"
+ public Keyword getAsteriskKeyword_2() { return cAsteriskKeyword_2; }
+ }
+
+ public class QualifiedNameListElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "QualifiedNameList");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cQualifiedNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cQualifiedNameQualifiedNameWithBindingParserRuleCall_0_0 = (RuleCall)cQualifiedNameAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cQualifiedNameAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cQualifiedNameQualifiedNameWithBindingParserRuleCall_1_1_0 = (RuleCall)cQualifiedNameAssignment_1_1.eContents().get(0);
+
+ //QualifiedNameList:
+ // qualifiedName+=QualifiedNameWithBinding ("," qualifiedName+=QualifiedNameWithBinding)*;
+ public ParserRule getRule() { return rule; }
+
+ //qualifiedName+=QualifiedNameWithBinding ("," qualifiedName+=QualifiedNameWithBinding)*
+ public Group getGroup() { return cGroup; }
+
+ //qualifiedName+=QualifiedNameWithBinding
+ public Assignment getQualifiedNameAssignment_0() { return cQualifiedNameAssignment_0; }
+
+ //QualifiedNameWithBinding
+ public RuleCall getQualifiedNameQualifiedNameWithBindingParserRuleCall_0_0() { return cQualifiedNameQualifiedNameWithBindingParserRuleCall_0_0; }
+
+ //("," qualifiedName+=QualifiedNameWithBinding)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //","
+ public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; }
+
+ //qualifiedName+=QualifiedNameWithBinding
+ public Assignment getQualifiedNameAssignment_1_1() { return cQualifiedNameAssignment_1_1; }
+
+ //QualifiedNameWithBinding
+ public RuleCall getQualifiedNameQualifiedNameWithBindingParserRuleCall_1_1_0() { return cQualifiedNameQualifiedNameWithBindingParserRuleCall_1_1_0; }
+ }
+
+ public class InvocationOrAssignementOrDeclarationStatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InvocationOrAssignementOrDeclarationStatement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cTypePart_OR_assignedPart_OR_invocationPartAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cTypePart_OR_assignedPart_OR_invocationPartNameExpressionParserRuleCall_0_0 = (RuleCall)cTypePart_OR_assignedPart_OR_invocationPartAssignment_0.eContents().get(0);
+ private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
+ private final Assignment cVariableDeclarationCompletionAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0);
+ private final RuleCall cVariableDeclarationCompletionVariableDeclarationCompletionParserRuleCall_1_0_0 = (RuleCall)cVariableDeclarationCompletionAssignment_1_0.eContents().get(0);
+ private final Assignment cAssignmentCompletionAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1);
+ private final RuleCall cAssignmentCompletionAssignmentCompletionParserRuleCall_1_1_0 = (RuleCall)cAssignmentCompletionAssignment_1_1.eContents().get(0);
+ private final Keyword cSemicolonKeyword_2 = (Keyword)cGroup.eContents().get(2);
+
+ //InvocationOrAssignementOrDeclarationStatement:
+ // typePart_OR_assignedPart_OR_invocationPart=NameExpression (variableDeclarationCompletion=VariableDeclarationCompletion //(suffixCompletion = SuffixCompletion)?
+ // | assignmentCompletion=AssignmentCompletion)? ";";
+ public ParserRule getRule() { return rule; }
+
+ //typePart_OR_assignedPart_OR_invocationPart=NameExpression (variableDeclarationCompletion=VariableDeclarationCompletion //(suffixCompletion = SuffixCompletion)?
+ //| assignmentCompletion=AssignmentCompletion)? ";"
+ public Group getGroup() { return cGroup; }
+
+ //typePart_OR_assignedPart_OR_invocationPart=NameExpression
+ public Assignment getTypePart_OR_assignedPart_OR_invocationPartAssignment_0() { return cTypePart_OR_assignedPart_OR_invocationPartAssignment_0; }
+
+ //NameExpression
+ public RuleCall getTypePart_OR_assignedPart_OR_invocationPartNameExpressionParserRuleCall_0_0() { return cTypePart_OR_assignedPart_OR_invocationPartNameExpressionParserRuleCall_0_0; }
+
+ //(variableDeclarationCompletion=VariableDeclarationCompletion //(suffixCompletion = SuffixCompletion)?
+ //| assignmentCompletion=AssignmentCompletion)?
+ public Alternatives getAlternatives_1() { return cAlternatives_1; }
+
+ //variableDeclarationCompletion=VariableDeclarationCompletion
+ public Assignment getVariableDeclarationCompletionAssignment_1_0() { return cVariableDeclarationCompletionAssignment_1_0; }
+
+ //VariableDeclarationCompletion
+ public RuleCall getVariableDeclarationCompletionVariableDeclarationCompletionParserRuleCall_1_0_0() { return cVariableDeclarationCompletionVariableDeclarationCompletionParserRuleCall_1_0_0; }
+
+ //assignmentCompletion=AssignmentCompletion
+ public Assignment getAssignmentCompletionAssignment_1_1() { return cAssignmentCompletionAssignment_1_1; }
+
+ //AssignmentCompletion
+ public RuleCall getAssignmentCompletionAssignmentCompletionParserRuleCall_1_1_0() { return cAssignmentCompletionAssignmentCompletionParserRuleCall_1_1_0; }
+
+ //";"
+ public Keyword getSemicolonKeyword_2() { return cSemicolonKeyword_2; }
+ }
+
+ public class SuperInvocationStatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SuperInvocationStatement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment c_superAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall c_superSuperInvocationExpressionParserRuleCall_0_0 = (RuleCall)c_superAssignment_0.eContents().get(0);
+ private final Keyword cSemicolonKeyword_1 = (Keyword)cGroup.eContents().get(1);
+
+ //SuperInvocationStatement:
+ // _super=SuperInvocationExpression //(suffix = SuffixCompletion)? ';'
+ // ";";
+ public ParserRule getRule() { return rule; }
+
+ //_super=SuperInvocationExpression //(suffix = SuffixCompletion)? ';'
+ //";"
+ public Group getGroup() { return cGroup; }
+
+ //_super=SuperInvocationExpression
+ public Assignment get_superAssignment_0() { return c_superAssignment_0; }
+
+ //SuperInvocationExpression
+ public RuleCall get_superSuperInvocationExpressionParserRuleCall_0_0() { return c_superSuperInvocationExpressionParserRuleCall_0_0; }
+
+ ////(suffix = SuffixCompletion)? ';'
+ //";"
+ public Keyword getSemicolonKeyword_1() { return cSemicolonKeyword_1; }
+ }
+
+ public class ThisInvocationStatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ThisInvocationStatement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment c_thisAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall c_thisThisExpressionParserRuleCall_0_0 = (RuleCall)c_thisAssignment_0.eContents().get(0);
+ private final Assignment cAssignmentCompletionAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cAssignmentCompletionAssignmentCompletionParserRuleCall_1_0 = (RuleCall)cAssignmentCompletionAssignment_1.eContents().get(0);
+ private final Keyword cSemicolonKeyword_2 = (Keyword)cGroup.eContents().get(2);
+
+ //ThisInvocationStatement: //_this = ThisExpression suffix = SuffixCompletion (assignmentCompletion = AssignmentCompletion)? ';'
+ // _this=ThisExpression assignmentCompletion=AssignmentCompletion? ";";
+ public ParserRule getRule() { return rule; }
+
+ ////_this = ThisExpression suffix = SuffixCompletion (assignmentCompletion = AssignmentCompletion)? ';'
+ //_this=ThisExpression assignmentCompletion=AssignmentCompletion? ";"
+ public Group getGroup() { return cGroup; }
+
+ ////_this = ThisExpression suffix = SuffixCompletion (assignmentCompletion = AssignmentCompletion)? ';'
+ //_this=ThisExpression
+ public Assignment get_thisAssignment_0() { return c_thisAssignment_0; }
+
+ //ThisExpression
+ public RuleCall get_thisThisExpressionParserRuleCall_0_0() { return c_thisThisExpressionParserRuleCall_0_0; }
+
+ //assignmentCompletion=AssignmentCompletion?
+ public Assignment getAssignmentCompletionAssignment_1() { return cAssignmentCompletionAssignment_1; }
+
+ //AssignmentCompletion
+ public RuleCall getAssignmentCompletionAssignmentCompletionParserRuleCall_1_0() { return cAssignmentCompletionAssignmentCompletionParserRuleCall_1_0; }
+
+ //";"
+ public Keyword getSemicolonKeyword_2() { return cSemicolonKeyword_2; }
+ }
+
+ public class InstanceCreationInvocationStatementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InstanceCreationInvocationStatement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment c_newAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall c_newInstanceCreationExpressionParserRuleCall_0_0 = (RuleCall)c_newAssignment_0.eContents().get(0);
+ private final Keyword cSemicolonKeyword_1 = (Keyword)cGroup.eContents().get(1);
+
+ //InstanceCreationInvocationStatement:
+ // _new=InstanceCreationExpression //(suffix = SuffixCompletion)? ';'
+ // ";";
+ public ParserRule getRule() { return rule; }
+
+ //_new=InstanceCreationExpression //(suffix = SuffixCompletion)? ';'
+ //";"
+ public Group getGroup() { return cGroup; }
+
+ //_new=InstanceCreationExpression
+ public Assignment get_newAssignment_0() { return c_newAssignment_0; }
+
+ //InstanceCreationExpression
+ public RuleCall get_newInstanceCreationExpressionParserRuleCall_0_0() { return c_newInstanceCreationExpressionParserRuleCall_0_0; }
+
+ ////(suffix = SuffixCompletion)? ';'
+ //";"
+ public Keyword getSemicolonKeyword_1() { return cSemicolonKeyword_1; }
+ }
+
+ public class VariableDeclarationCompletionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "VariableDeclarationCompletion");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Group cGroup_0 = (Group)cGroup.eContents().get(0);
+ private final Assignment cMultiplicityIndicatorAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0);
+ private final Keyword cMultiplicityIndicatorLeftSquareBracketKeyword_0_0_0 = (Keyword)cMultiplicityIndicatorAssignment_0_0.eContents().get(0);
+ private final Keyword cRightSquareBracketKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1);
+ private final Assignment cVariableNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cVariableNameIDTerminalRuleCall_1_0 = (RuleCall)cVariableNameAssignment_1.eContents().get(0);
+ private final Assignment cInitValueAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cInitValueAssignmentCompletionParserRuleCall_2_0 = (RuleCall)cInitValueAssignment_2.eContents().get(0);
+
+ ////SuffixCompletion :
+ //// suffix = SuffixExpression
+ ////;
+ //VariableDeclarationCompletion:
+ // (multiplicityIndicator?="[" "]")? variableName=ID initValue=AssignmentCompletion;
+ public ParserRule getRule() { return rule; }
+
+ //(multiplicityIndicator?="[" "]")? variableName=ID initValue=AssignmentCompletion
+ public Group getGroup() { return cGroup; }
+
+ //(multiplicityIndicator?="[" "]")?
+ public Group getGroup_0() { return cGroup_0; }
+
+ //multiplicityIndicator?="["
+ public Assignment getMultiplicityIndicatorAssignment_0_0() { return cMultiplicityIndicatorAssignment_0_0; }
+
+ //"["
+ public Keyword getMultiplicityIndicatorLeftSquareBracketKeyword_0_0_0() { return cMultiplicityIndicatorLeftSquareBracketKeyword_0_0_0; }
+
+ //"]"
+ public Keyword getRightSquareBracketKeyword_0_1() { return cRightSquareBracketKeyword_0_1; }
+
+ //variableName=ID
+ public Assignment getVariableNameAssignment_1() { return cVariableNameAssignment_1; }
+
+ //ID
+ public RuleCall getVariableNameIDTerminalRuleCall_1_0() { return cVariableNameIDTerminalRuleCall_1_0; }
+
+ //initValue=AssignmentCompletion
+ public Assignment getInitValueAssignment_2() { return cInitValueAssignment_2; }
+
+ //AssignmentCompletion
+ public RuleCall getInitValueAssignmentCompletionParserRuleCall_2_0() { return cInitValueAssignmentCompletionParserRuleCall_2_0; }
+ }
+
+ public class AssignmentCompletionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AssignmentCompletion");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cOpAssignmentOperatorEnumRuleCall_0_0 = (RuleCall)cOpAssignment_0.eContents().get(0);
+ private final Assignment cRightHandSideAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cRightHandSideSequenceElementParserRuleCall_1_0 = (RuleCall)cRightHandSideAssignment_1.eContents().get(0);
+
+ ////op=('=' | '+=' | '-=' | '*=' | '%=' | '/=' | '&=' |
+ //// '|=' | '^=' | '<<=' | '>>=' | '>>>=') rightHandSide = Expression
+ //AssignmentCompletion:
+ // op=AssignmentOperator rightHandSide=SequenceElement;
+ public ParserRule getRule() { return rule; }
+
+ //op=AssignmentOperator rightHandSide=SequenceElement
+ public Group getGroup() { return cGroup; }
+
+ //op=AssignmentOperator
+ public Assignment getOpAssignment_0() { return cOpAssignment_0; }
+
+ //AssignmentOperator
+ public RuleCall getOpAssignmentOperatorEnumRuleCall_0_0() { return cOpAssignmentOperatorEnumRuleCall_0_0; }
+
+ //rightHandSide=SequenceElement
+ public Assignment getRightHandSideAssignment_1() { return cRightHandSideAssignment_1; }
+
+ //SequenceElement
+ public RuleCall getRightHandSideSequenceElementParserRuleCall_1_0() { return cRightHandSideSequenceElementParserRuleCall_1_0; }
+ }
+
+
+ public class BooleanValueElements extends AbstractEnumRuleElementFinder {
+ private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "BooleanValue");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final EnumLiteralDeclaration cTRUEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
+ private final Keyword cTRUETrueKeyword_0_0 = (Keyword)cTRUEEnumLiteralDeclaration_0.eContents().get(0);
+ private final EnumLiteralDeclaration cFALSEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
+ private final Keyword cFALSEFalseKeyword_1_0 = (Keyword)cFALSEEnumLiteralDeclaration_1.eContents().get(0);
+
+ //enum BooleanValue:
+ // TRUE="true" | FALSE="false";
+ public EnumRule getRule() { return rule; }
+
+ //TRUE="true" | FALSE="false"
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //TRUE="true"
+ public EnumLiteralDeclaration getTRUEEnumLiteralDeclaration_0() { return cTRUEEnumLiteralDeclaration_0; }
+
+ //"true"
+ public Keyword getTRUETrueKeyword_0_0() { return cTRUETrueKeyword_0_0; }
+
+ //FALSE="false"
+ public EnumLiteralDeclaration getFALSEEnumLiteralDeclaration_1() { return cFALSEEnumLiteralDeclaration_1; }
+
+ //"false"
+ public Keyword getFALSEFalseKeyword_1_0() { return cFALSEFalseKeyword_1_0; }
+ }
+
+ public class LinkOperationKindElements extends AbstractEnumRuleElementFinder {
+ private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "LinkOperationKind");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final EnumLiteralDeclaration cCREATEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
+ private final Keyword cCREATECreateLinkKeyword_0_0 = (Keyword)cCREATEEnumLiteralDeclaration_0.eContents().get(0);
+ private final EnumLiteralDeclaration cDESTROYEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
+ private final Keyword cDESTROYDestroyLinkKeyword_1_0 = (Keyword)cDESTROYEnumLiteralDeclaration_1.eContents().get(0);
+ private final EnumLiteralDeclaration cCLEAREnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
+ private final Keyword cCLEARClearAssocKeyword_2_0 = (Keyword)cCLEAREnumLiteralDeclaration_2.eContents().get(0);
+
+ //enum LinkOperationKind:
+ // CREATE="createLink" | DESTROY="destroyLink" | CLEAR="clearAssoc";
+ public EnumRule getRule() { return rule; }
+
+ //CREATE="createLink" | DESTROY="destroyLink" | CLEAR="clearAssoc"
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //CREATE="createLink"
+ public EnumLiteralDeclaration getCREATEEnumLiteralDeclaration_0() { return cCREATEEnumLiteralDeclaration_0; }
+
+ //"createLink"
+ public Keyword getCREATECreateLinkKeyword_0_0() { return cCREATECreateLinkKeyword_0_0; }
+
+ //DESTROY="destroyLink"
+ public EnumLiteralDeclaration getDESTROYEnumLiteralDeclaration_1() { return cDESTROYEnumLiteralDeclaration_1; }
+
+ //"destroyLink"
+ public Keyword getDESTROYDestroyLinkKeyword_1_0() { return cDESTROYDestroyLinkKeyword_1_0; }
+
+ //CLEAR="clearAssoc"
+ public EnumLiteralDeclaration getCLEAREnumLiteralDeclaration_2() { return cCLEAREnumLiteralDeclaration_2; }
+
+ //"clearAssoc"
+ public Keyword getCLEARClearAssocKeyword_2_0() { return cCLEARClearAssocKeyword_2_0; }
+ }
+
+ public class SelectOrRejectOperatorElements extends AbstractEnumRuleElementFinder {
+ private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "SelectOrRejectOperator");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final EnumLiteralDeclaration cSELECTEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
+ private final Keyword cSELECTSelectKeyword_0_0 = (Keyword)cSELECTEnumLiteralDeclaration_0.eContents().get(0);
+ private final EnumLiteralDeclaration cREJECTEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
+ private final Keyword cREJECTRejectKeyword_1_0 = (Keyword)cREJECTEnumLiteralDeclaration_1.eContents().get(0);
+
+ //enum SelectOrRejectOperator:
+ // SELECT="select" | REJECT="reject";
+ public EnumRule getRule() { return rule; }
+
+ //SELECT="select" | REJECT="reject"
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //SELECT="select"
+ public EnumLiteralDeclaration getSELECTEnumLiteralDeclaration_0() { return cSELECTEnumLiteralDeclaration_0; }
+
+ //"select"
+ public Keyword getSELECTSelectKeyword_0_0() { return cSELECTSelectKeyword_0_0; }
+
+ //REJECT="reject"
+ public EnumLiteralDeclaration getREJECTEnumLiteralDeclaration_1() { return cREJECTEnumLiteralDeclaration_1; }
+
+ //"reject"
+ public Keyword getREJECTRejectKeyword_1_0() { return cREJECTRejectKeyword_1_0; }
+ }
+
+ public class CollectOrIterateOperatorElements extends AbstractEnumRuleElementFinder {
+ private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "CollectOrIterateOperator");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final EnumLiteralDeclaration cCOLLECTEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
+ private final Keyword cCOLLECTCollectKeyword_0_0 = (Keyword)cCOLLECTEnumLiteralDeclaration_0.eContents().get(0);
+ private final EnumLiteralDeclaration cITERATEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
+ private final Keyword cITERATEIterateKeyword_1_0 = (Keyword)cITERATEEnumLiteralDeclaration_1.eContents().get(0);
+
+ //enum CollectOrIterateOperator:
+ // COLLECT="collect" | ITERATE="iterate";
+ public EnumRule getRule() { return rule; }
+
+ //COLLECT="collect" | ITERATE="iterate"
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //COLLECT="collect"
+ public EnumLiteralDeclaration getCOLLECTEnumLiteralDeclaration_0() { return cCOLLECTEnumLiteralDeclaration_0; }
+
+ //"collect"
+ public Keyword getCOLLECTCollectKeyword_0_0() { return cCOLLECTCollectKeyword_0_0; }
+
+ //ITERATE="iterate"
+ public EnumLiteralDeclaration getITERATEEnumLiteralDeclaration_1() { return cITERATEEnumLiteralDeclaration_1; }
+
+ //"iterate"
+ public Keyword getITERATEIterateKeyword_1_0() { return cITERATEIterateKeyword_1_0; }
+ }
+
+ public class ForAllOrExistsOrOneOperatorElements extends AbstractEnumRuleElementFinder {
+ private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "ForAllOrExistsOrOneOperator");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final EnumLiteralDeclaration cFORALLEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
+ private final Keyword cFORALLForAllKeyword_0_0 = (Keyword)cFORALLEnumLiteralDeclaration_0.eContents().get(0);
+ private final EnumLiteralDeclaration cEXISTSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
+ private final Keyword cEXISTSExistsKeyword_1_0 = (Keyword)cEXISTSEnumLiteralDeclaration_1.eContents().get(0);
+ private final EnumLiteralDeclaration cONEEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
+ private final Keyword cONEOneKeyword_2_0 = (Keyword)cONEEnumLiteralDeclaration_2.eContents().get(0);
+
+ //enum ForAllOrExistsOrOneOperator:
+ // FORALL="forAll" | EXISTS="exists" | ONE="one";
+ public EnumRule getRule() { return rule; }
+
+ //FORALL="forAll" | EXISTS="exists" | ONE="one"
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //FORALL="forAll"
+ public EnumLiteralDeclaration getFORALLEnumLiteralDeclaration_0() { return cFORALLEnumLiteralDeclaration_0; }
+
+ //"forAll"
+ public Keyword getFORALLForAllKeyword_0_0() { return cFORALLForAllKeyword_0_0; }
+
+ //EXISTS="exists"
+ public EnumLiteralDeclaration getEXISTSEnumLiteralDeclaration_1() { return cEXISTSEnumLiteralDeclaration_1; }
+
+ //"exists"
+ public Keyword getEXISTSExistsKeyword_1_0() { return cEXISTSExistsKeyword_1_0; }
+
+ //ONE="one"
+ public EnumLiteralDeclaration getONEEnumLiteralDeclaration_2() { return cONEEnumLiteralDeclaration_2; }
+
+ //"one"
+ public Keyword getONEOneKeyword_2_0() { return cONEOneKeyword_2_0; }
+ }
+
+ public class AnnotationKindElements extends AbstractEnumRuleElementFinder {
+ private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "AnnotationKind");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final EnumLiteralDeclaration cISOLATEDEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
+ private final Keyword cISOLATEDIsolatedKeyword_0_0 = (Keyword)cISOLATEDEnumLiteralDeclaration_0.eContents().get(0);
+ private final EnumLiteralDeclaration cDETERMINEDEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
+ private final Keyword cDETERMINEDDeterminedKeyword_1_0 = (Keyword)cDETERMINEDEnumLiteralDeclaration_1.eContents().get(0);
+ private final EnumLiteralDeclaration cASSUREDEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
+ private final Keyword cASSUREDAssuredKeyword_2_0 = (Keyword)cASSUREDEnumLiteralDeclaration_2.eContents().get(0);
+ private final EnumLiteralDeclaration cPARALLELEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
+ private final Keyword cPARALLELParallelKeyword_3_0 = (Keyword)cPARALLELEnumLiteralDeclaration_3.eContents().get(0);
+
+ //enum AnnotationKind:
+ // ISOLATED="isolated" | DETERMINED="determined" | ASSURED="assured" | PARALLEL="parallel";
+ public EnumRule getRule() { return rule; }
+
+ //ISOLATED="isolated" | DETERMINED="determined" | ASSURED="assured" | PARALLEL="parallel"
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //ISOLATED="isolated"
+ public EnumLiteralDeclaration getISOLATEDEnumLiteralDeclaration_0() { return cISOLATEDEnumLiteralDeclaration_0; }
+
+ //"isolated"
+ public Keyword getISOLATEDIsolatedKeyword_0_0() { return cISOLATEDIsolatedKeyword_0_0; }
+
+ //DETERMINED="determined"
+ public EnumLiteralDeclaration getDETERMINEDEnumLiteralDeclaration_1() { return cDETERMINEDEnumLiteralDeclaration_1; }
+
+ //"determined"
+ public Keyword getDETERMINEDDeterminedKeyword_1_0() { return cDETERMINEDDeterminedKeyword_1_0; }
+
+ //ASSURED="assured"
+ public EnumLiteralDeclaration getASSUREDEnumLiteralDeclaration_2() { return cASSUREDEnumLiteralDeclaration_2; }
+
+ //"assured"
+ public Keyword getASSUREDAssuredKeyword_2_0() { return cASSUREDAssuredKeyword_2_0; }
+
+ //PARALLEL="parallel"
+ public EnumLiteralDeclaration getPARALLELEnumLiteralDeclaration_3() { return cPARALLELEnumLiteralDeclaration_3; }
+
+ //"parallel"
+ public Keyword getPARALLELParallelKeyword_3_0() { return cPARALLELParallelKeyword_3_0; }
+ }
+
+ public class AssignmentOperatorElements extends AbstractEnumRuleElementFinder {
+ private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "AssignmentOperator");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final EnumLiteralDeclaration cASSIGNEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
+ private final Keyword cASSIGNEqualsSignKeyword_0_0 = (Keyword)cASSIGNEnumLiteralDeclaration_0.eContents().get(0);
+ private final EnumLiteralDeclaration cPLUSASSIGNEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
+ private final Keyword cPLUSASSIGNPlusSignEqualsSignKeyword_1_0 = (Keyword)cPLUSASSIGNEnumLiteralDeclaration_1.eContents().get(0);
+ private final EnumLiteralDeclaration cMINUSASSIGNEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
+ private final Keyword cMINUSASSIGNHyphenMinusEqualsSignKeyword_2_0 = (Keyword)cMINUSASSIGNEnumLiteralDeclaration_2.eContents().get(0);
+ private final EnumLiteralDeclaration cMULTASSIGNEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
+ private final Keyword cMULTASSIGNAsteriskEqualsSignKeyword_3_0 = (Keyword)cMULTASSIGNEnumLiteralDeclaration_3.eContents().get(0);
+ private final EnumLiteralDeclaration cMODASSIGNEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
+ private final Keyword cMODASSIGNPercentSignEqualsSignKeyword_4_0 = (Keyword)cMODASSIGNEnumLiteralDeclaration_4.eContents().get(0);
+ private final EnumLiteralDeclaration cDIVASSIGNEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
+ private final Keyword cDIVASSIGNSolidusEqualsSignKeyword_5_0 = (Keyword)cDIVASSIGNEnumLiteralDeclaration_5.eContents().get(0);
+ private final EnumLiteralDeclaration cANDASSIGNEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6);
+ private final Keyword cANDASSIGNAmpersandEqualsSignKeyword_6_0 = (Keyword)cANDASSIGNEnumLiteralDeclaration_6.eContents().get(0);
+ private final EnumLiteralDeclaration cORASSIGNEnumLiteralDeclaration_7 = (EnumLiteralDeclaration)cAlternatives.eContents().get(7);
+ private final Keyword cORASSIGNVerticalLineEqualsSignKeyword_7_0 = (Keyword)cORASSIGNEnumLiteralDeclaration_7.eContents().get(0);
+ private final EnumLiteralDeclaration cXORASSIGNEnumLiteralDeclaration_8 = (EnumLiteralDeclaration)cAlternatives.eContents().get(8);
+ private final Keyword cXORASSIGNCircumflexAccentEqualsSignKeyword_8_0 = (Keyword)cXORASSIGNEnumLiteralDeclaration_8.eContents().get(0);
+ private final EnumLiteralDeclaration cLSHIFTASSIGNEnumLiteralDeclaration_9 = (EnumLiteralDeclaration)cAlternatives.eContents().get(9);
+ private final Keyword cLSHIFTASSIGNLessThanSignLessThanSignEqualsSignKeyword_9_0 = (Keyword)cLSHIFTASSIGNEnumLiteralDeclaration_9.eContents().get(0);
+ private final EnumLiteralDeclaration cRSHIFTASSIGNEnumLiteralDeclaration_10 = (EnumLiteralDeclaration)cAlternatives.eContents().get(10);
+ private final Keyword cRSHIFTASSIGNGreaterThanSignGreaterThanSignEqualsSignKeyword_10_0 = (Keyword)cRSHIFTASSIGNEnumLiteralDeclaration_10.eContents().get(0);
+ private final EnumLiteralDeclaration cURSHIFTASSIGNEnumLiteralDeclaration_11 = (EnumLiteralDeclaration)cAlternatives.eContents().get(11);
+ private final Keyword cURSHIFTASSIGNGreaterThanSignGreaterThanSignGreaterThanSignEqualsSignKeyword_11_0 = (Keyword)cURSHIFTASSIGNEnumLiteralDeclaration_11.eContents().get(0);
+
+ //enum AssignmentOperator:
+ // ASSIGN="=" | PLUSASSIGN="+=" | MINUSASSIGN="-=" | MULTASSIGN="*=" | MODASSIGN="%=" | DIVASSIGN="/=" | ANDASSIGN="&=" |
+ // ORASSIGN="|=" | XORASSIGN="^=" | LSHIFTASSIGN="<<=" | RSHIFTASSIGN=">>=" | URSHIFTASSIGN=">>>=";
+ public EnumRule getRule() { return rule; }
+
+ //ASSIGN="=" | PLUSASSIGN="+=" | MINUSASSIGN="-=" | MULTASSIGN="*=" | MODASSIGN="%=" | DIVASSIGN="/=" | ANDASSIGN="&=" |
+ //ORASSIGN="|=" | XORASSIGN="^=" | LSHIFTASSIGN="<<=" | RSHIFTASSIGN=">>=" | URSHIFTASSIGN=">>>="
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //ASSIGN="="
+ public EnumLiteralDeclaration getASSIGNEnumLiteralDeclaration_0() { return cASSIGNEnumLiteralDeclaration_0; }
+
+ //"="
+ public Keyword getASSIGNEqualsSignKeyword_0_0() { return cASSIGNEqualsSignKeyword_0_0; }
+
+ //PLUSASSIGN="+="
+ public EnumLiteralDeclaration getPLUSASSIGNEnumLiteralDeclaration_1() { return cPLUSASSIGNEnumLiteralDeclaration_1; }
+
+ //"+="
+ public Keyword getPLUSASSIGNPlusSignEqualsSignKeyword_1_0() { return cPLUSASSIGNPlusSignEqualsSignKeyword_1_0; }
+
+ //MINUSASSIGN="-="
+ public EnumLiteralDeclaration getMINUSASSIGNEnumLiteralDeclaration_2() { return cMINUSASSIGNEnumLiteralDeclaration_2; }
+
+ //"-="
+ public Keyword getMINUSASSIGNHyphenMinusEqualsSignKeyword_2_0() { return cMINUSASSIGNHyphenMinusEqualsSignKeyword_2_0; }
+
+ //MULTASSIGN="*="
+ public EnumLiteralDeclaration getMULTASSIGNEnumLiteralDeclaration_3() { return cMULTASSIGNEnumLiteralDeclaration_3; }
+
+ //"*="
+ public Keyword getMULTASSIGNAsteriskEqualsSignKeyword_3_0() { return cMULTASSIGNAsteriskEqualsSignKeyword_3_0; }
+
+ //MODASSIGN="%="
+ public EnumLiteralDeclaration getMODASSIGNEnumLiteralDeclaration_4() { return cMODASSIGNEnumLiteralDeclaration_4; }
+
+ //"%="
+ public Keyword getMODASSIGNPercentSignEqualsSignKeyword_4_0() { return cMODASSIGNPercentSignEqualsSignKeyword_4_0; }
+
+ //DIVASSIGN="/="
+ public EnumLiteralDeclaration getDIVASSIGNEnumLiteralDeclaration_5() { return cDIVASSIGNEnumLiteralDeclaration_5; }
+
+ //"/="
+ public Keyword getDIVASSIGNSolidusEqualsSignKeyword_5_0() { return cDIVASSIGNSolidusEqualsSignKeyword_5_0; }
+
+ //ANDASSIGN="&="
+ public EnumLiteralDeclaration getANDASSIGNEnumLiteralDeclaration_6() { return cANDASSIGNEnumLiteralDeclaration_6; }
+
+ //"&="
+ public Keyword getANDASSIGNAmpersandEqualsSignKeyword_6_0() { return cANDASSIGNAmpersandEqualsSignKeyword_6_0; }
+
+ //ORASSIGN="|="
+ public EnumLiteralDeclaration getORASSIGNEnumLiteralDeclaration_7() { return cORASSIGNEnumLiteralDeclaration_7; }
+
+ //"|="
+ public Keyword getORASSIGNVerticalLineEqualsSignKeyword_7_0() { return cORASSIGNVerticalLineEqualsSignKeyword_7_0; }
+
+ //XORASSIGN="^="
+ public EnumLiteralDeclaration getXORASSIGNEnumLiteralDeclaration_8() { return cXORASSIGNEnumLiteralDeclaration_8; }
+
+ //"^="
+ public Keyword getXORASSIGNCircumflexAccentEqualsSignKeyword_8_0() { return cXORASSIGNCircumflexAccentEqualsSignKeyword_8_0; }
+
+ //LSHIFTASSIGN="<<="
+ public EnumLiteralDeclaration getLSHIFTASSIGNEnumLiteralDeclaration_9() { return cLSHIFTASSIGNEnumLiteralDeclaration_9; }
+
+ //"<<="
+ public Keyword getLSHIFTASSIGNLessThanSignLessThanSignEqualsSignKeyword_9_0() { return cLSHIFTASSIGNLessThanSignLessThanSignEqualsSignKeyword_9_0; }
+
+ //RSHIFTASSIGN=">>="
+ public EnumLiteralDeclaration getRSHIFTASSIGNEnumLiteralDeclaration_10() { return cRSHIFTASSIGNEnumLiteralDeclaration_10; }
+
+ //">>="
+ public Keyword getRSHIFTASSIGNGreaterThanSignGreaterThanSignEqualsSignKeyword_10_0() { return cRSHIFTASSIGNGreaterThanSignGreaterThanSignEqualsSignKeyword_10_0; }
+
+ //URSHIFTASSIGN=">>>="
+ public EnumLiteralDeclaration getURSHIFTASSIGNEnumLiteralDeclaration_11() { return cURSHIFTASSIGNEnumLiteralDeclaration_11; }
+
+ //">>>="
+ public Keyword getURSHIFTASSIGNGreaterThanSignGreaterThanSignGreaterThanSignEqualsSignKeyword_11_0() { return cURSHIFTASSIGNGreaterThanSignGreaterThanSignGreaterThanSignEqualsSignKeyword_11_0; }
+ }
+
+ private TestElements pTest;
+ private LITERALElements pLITERAL;
+ private BOOLEAN_LITERALElements pBOOLEAN_LITERAL;
+ private BooleanValueElements unknownRuleBooleanValue;
+ private NUMBER_LITERALElements pNUMBER_LITERAL;
+ private INTEGER_LITERALElements pINTEGER_LITERAL;
+ private UNLIMITED_LITERALElements pUNLIMITED_LITERAL;
+ private TerminalRule tIntegerValue;
+ private STRING_LITERALElements pSTRING_LITERAL;
+ private NameExpressionElements pNameExpression;
+ private QualifiedNamePathElements pQualifiedNamePath;
+ private UnqualifiedNameElements pUnqualifiedName;
+ private TemplateBindingElements pTemplateBinding;
+ private NamedTemplateBindingElements pNamedTemplateBinding;
+ private QualifiedNameWithBindingElements pQualifiedNameWithBinding;
+ private TupleElements pTuple;
+ private TupleElementElements pTupleElement;
+ private ExpressionElements pExpression;
+ private ConditionalTestExpressionElements pConditionalTestExpression;
+ private ConditionalOrExpressionElements pConditionalOrExpression;
+ private ConditionalAndExpressionElements pConditionalAndExpression;
+ private InclusiveOrExpressionElements pInclusiveOrExpression;
+ private ExclusiveOrExpressionElements pExclusiveOrExpression;
+ private AndExpressionElements pAndExpression;
+ private EqualityExpressionElements pEqualityExpression;
+ private ClassificationExpressionElements pClassificationExpression;
+ private RelationalExpressionElements pRelationalExpression;
+ private ShiftExpressionElements pShiftExpression;
+ private AdditiveExpressionElements pAdditiveExpression;
+ private MultiplicativeExpressionElements pMultiplicativeExpression;
+ private UnaryExpressionElements pUnaryExpression;
+ private PrimaryExpressionElements pPrimaryExpression;
+ private SuffixExpressionElements pSuffixExpression;
+ private OperationCallExpressionElements pOperationCallExpression;
+ private PropertyCallExpressionElements pPropertyCallExpression;
+ private LinkOperationExpressionElements pLinkOperationExpression;
+ private LinkOperationTupleElements pLinkOperationTuple;
+ private LinkOperationTupleElementElements pLinkOperationTupleElement;
+ private LinkOperationKindElements unknownRuleLinkOperationKind;
+ private SequenceOperationExpressionElements pSequenceOperationExpression;
+ private SequenceReductionExpressionElements pSequenceReductionExpression;
+ private SequenceExpansionExpressionElements pSequenceExpansionExpression;
+ private SelectOrRejectOperationElements pSelectOrRejectOperation;
+ private SelectOrRejectOperatorElements unknownRuleSelectOrRejectOperator;
+ private CollectOrIterateOperationElements pCollectOrIterateOperation;
+ private CollectOrIterateOperatorElements unknownRuleCollectOrIterateOperator;
+ private ForAllOrExistsOrOneOperationElements pForAllOrExistsOrOneOperation;
+ private ForAllOrExistsOrOneOperatorElements unknownRuleForAllOrExistsOrOneOperator;
+ private IsUniqueOperationElements pIsUniqueOperation;
+ private ValueSpecificationElements pValueSpecification;
+ private NonLiteralValueSpecificationElements pNonLiteralValueSpecification;
+ private ParenthesizedExpressionElements pParenthesizedExpression;
+ private NullExpressionElements pNullExpression;
+ private ThisExpressionElements pThisExpression;
+ private SuperInvocationExpressionElements pSuperInvocationExpression;
+ private InstanceCreationExpressionElements pInstanceCreationExpression;
+ private InstanceCreationTupleElements pInstanceCreationTuple;
+ private InstanceCreationTupleElementElements pInstanceCreationTupleElement;
+ private SequenceConstructionOrAccessCompletionElements pSequenceConstructionOrAccessCompletion;
+ private AccessCompletionElements pAccessCompletion;
+ private PartialSequenceConstructionCompletionElements pPartialSequenceConstructionCompletion;
+ private SequenceConstructionExpressionElements pSequenceConstructionExpression;
+ private SequenceElementElements pSequenceElement;
+ private ClassExtentExpressionElements pClassExtentExpression;
+ private BlockElements pBlock;
+ private StatementSequenceElements pStatementSequence;
+ private DocumentedStatementElements pDocumentedStatement;
+ private InlineStatementElements pInlineStatement;
+ private AnnotatedStatementElements pAnnotatedStatement;
+ private StatementElements pStatement;
+ private AnnotationElements pAnnotation;
+ private AnnotationKindElements unknownRuleAnnotationKind;
+ private BlockStatementElements pBlockStatement;
+ private EmptyStatementElements pEmptyStatement;
+ private LocalNameDeclarationStatementElements pLocalNameDeclarationStatement;
+ private IfStatementElements pIfStatement;
+ private SequentialClausesElements pSequentialClauses;
+ private ConcurrentClausesElements pConcurrentClauses;
+ private NonFinalClauseElements pNonFinalClause;
+ private FinalClauseElements pFinalClause;
+ private SwitchStatementElements pSwitchStatement;
+ private SwitchClauseElements pSwitchClause;
+ private SwitchCaseElements pSwitchCase;
+ private SwitchDefaultClauseElements pSwitchDefaultClause;
+ private NonEmptyStatementSequenceElements pNonEmptyStatementSequence;
+ private WhileStatementElements pWhileStatement;
+ private DoStatementElements pDoStatement;
+ private ForStatementElements pForStatement;
+ private ForControlElements pForControl;
+ private LoopVariableDefinitionElements pLoopVariableDefinition;
+ private BreakStatementElements pBreakStatement;
+ private ReturnStatementElements pReturnStatement;
+ private AcceptStatementElements pAcceptStatement;
+ private SimpleAcceptStatementCompletionElements pSimpleAcceptStatementCompletion;
+ private CompoundAcceptStatementCompletionElements pCompoundAcceptStatementCompletion;
+ private AcceptBlockElements pAcceptBlock;
+ private AcceptClauseElements pAcceptClause;
+ private ClassifyStatementElements pClassifyStatement;
+ private ClassificationClauseElements pClassificationClause;
+ private ClassificationFromClauseElements pClassificationFromClause;
+ private ClassificationToClauseElements pClassificationToClause;
+ private ReclassifyAllClauseElements pReclassifyAllClause;
+ private QualifiedNameListElements pQualifiedNameList;
+ private InvocationOrAssignementOrDeclarationStatementElements pInvocationOrAssignementOrDeclarationStatement;
+ private SuperInvocationStatementElements pSuperInvocationStatement;
+ private ThisInvocationStatementElements pThisInvocationStatement;
+ private InstanceCreationInvocationStatementElements pInstanceCreationInvocationStatement;
+ private VariableDeclarationCompletionElements pVariableDeclarationCompletion;
+ private AssignmentCompletionElements pAssignmentCompletion;
+ private AssignmentOperatorElements unknownRuleAssignmentOperator;
+ private TerminalRule tID;
+ private TerminalRule tSTRING;
+ private TerminalRule tML_COMMENT;
+ private TerminalRule tSL_COMMENT;
+
+ private final GrammarProvider grammarProvider;
+
+ private TerminalsGrammarAccess gaTerminals;
+
+ @Inject
+ public AlfGrammarAccess(GrammarProvider grammarProvider,
+ TerminalsGrammarAccess gaTerminals) {
+ this.grammarProvider = grammarProvider;
+ this.gaTerminals = gaTerminals;
+ }
+
+ public Grammar getGrammar() {
+ return grammarProvider.getGrammar(this);
+ }
+
+
+ public TerminalsGrammarAccess getTerminalsGrammarAccess() {
+ return gaTerminals;
+ }
+
+
+ /// *
+ // Test rule
+ // * / Test:
+ // ("testExpression" expression+=Expression)* ("testAssignmentExpression" assignExpression+=AssignmentCompletion)*
+ // ("testStatement" statements+=Statement)* ("testBlock" block=Block);
+ public TestElements getTestAccess() {
+ return (pTest != null) ? pTest : (pTest = new TestElements());
+ }
+
+ public ParserRule getTestRule() {
+ return getTestAccess().getRule();
+ }
+
+ ////('testStatementSequence' statement += StatementSequence)* ;
+ /// *********************************
+ // * PrimitiveLiterals
+ // ********************************** / LITERAL:
+ // BOOLEAN_LITERAL | NUMBER_LITERAL | STRING_LITERAL;
+ public LITERALElements getLITERALAccess() {
+ return (pLITERAL != null) ? pLITERAL : (pLITERAL = new LITERALElements());
+ }
+
+ public ParserRule getLITERALRule() {
+ return getLITERALAccess().getRule();
+ }
+
+ //// (suffix = SuffixExpression) ? ;
+ //BOOLEAN_LITERAL:
+ // value=BooleanValue;
+ public BOOLEAN_LITERALElements getBOOLEAN_LITERALAccess() {
+ return (pBOOLEAN_LITERAL != null) ? pBOOLEAN_LITERAL : (pBOOLEAN_LITERAL = new BOOLEAN_LITERALElements());
+ }
+
+ public ParserRule getBOOLEAN_LITERALRule() {
+ return getBOOLEAN_LITERALAccess().getRule();
+ }
+
+ //enum BooleanValue:
+ // TRUE="true" | FALSE="false";
+ public BooleanValueElements getBooleanValueAccess() {
+ return (unknownRuleBooleanValue != null) ? unknownRuleBooleanValue : (unknownRuleBooleanValue = new BooleanValueElements());
+ }
+
+ public EnumRule getBooleanValueRule() {
+ return getBooleanValueAccess().getRule();
+ }
+
+ //NUMBER_LITERAL:
+ // INTEGER_LITERAL | UNLIMITED_LITERAL;
+ public NUMBER_LITERALElements getNUMBER_LITERALAccess() {
+ return (pNUMBER_LITERAL != null) ? pNUMBER_LITERAL : (pNUMBER_LITERAL = new NUMBER_LITERALElements());
+ }
+
+ public ParserRule getNUMBER_LITERALRule() {
+ return getNUMBER_LITERALAccess().getRule();
+ }
+
+ //// (suffix = SuffixExpression) ? ;
+ //INTEGER_LITERAL:
+ // value=IntegerValue;
+ public INTEGER_LITERALElements getINTEGER_LITERALAccess() {
+ return (pINTEGER_LITERAL != null) ? pINTEGER_LITERAL : (pINTEGER_LITERAL = new INTEGER_LITERALElements());
+ }
+
+ public ParserRule getINTEGER_LITERALRule() {
+ return getINTEGER_LITERALAccess().getRule();
+ }
+
+ //// (suffix = SuffixExpression) ? ;
+ //UNLIMITED_LITERAL:
+ // value="*";
+ public UNLIMITED_LITERALElements getUNLIMITED_LITERALAccess() {
+ return (pUNLIMITED_LITERAL != null) ? pUNLIMITED_LITERAL : (pUNLIMITED_LITERAL = new UNLIMITED_LITERALElements());
+ }
+
+ public ParserRule getUNLIMITED_LITERALRule() {
+ return getUNLIMITED_LITERALAccess().getRule();
+ }
+
+ //terminal IntegerValue:
+ // ("0" | "1".."9" ("_"? "0".."9")*) //DECIMAL
+ // // BINARY
+ // // HEX
+ // // OCT
+ // | ("0b" | "0B") "0".."1" ("_"? "0".."1")* | ("0x" | "0X") ("0".."9" | "a".."f" | "A".."F") ("_"? ("0".."9" | "a".."f" |
+ // "A".."F"))* | "0" "_"? "0".."7" ("_"? "0".."7")*;
+ public TerminalRule getIntegerValueRule() {
+ return (tIntegerValue != null) ? tIntegerValue : (tIntegerValue = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "IntegerValue"));
+ }
+
+ //// (suffix = SuffixExpression) ?;
+ //STRING_LITERAL:
+ // value=STRING;
+ public STRING_LITERALElements getSTRING_LITERALAccess() {
+ return (pSTRING_LITERAL != null) ? pSTRING_LITERAL : (pSTRING_LITERAL = new STRING_LITERALElements());
+ }
+
+ public ParserRule getSTRING_LITERALRule() {
+ return getSTRING_LITERALAccess().getRule();
+ }
+
+ //NameExpression:
+ // (prefixOp=("++" | "--") path=QualifiedNamePath? id=ID | path=QualifiedNamePath? id=ID (invocationCompletion=Tuple |
+ // sequenceConstructionCompletion=SequenceConstructionOrAccessCompletion | postfixOp=("++" | "--"))?)
+ // suffix=SuffixExpression?;
+ public NameExpressionElements getNameExpressionAccess() {
+ return (pNameExpression != null) ? pNameExpression : (pNameExpression = new NameExpressionElements());
+ }
+
+ public ParserRule getNameExpressionRule() {
+ return getNameExpressionAccess().getRule();
+ }
+
+ //QualifiedNamePath:
+ // (namespace+=UnqualifiedName "::")+;
+ public QualifiedNamePathElements getQualifiedNamePathAccess() {
+ return (pQualifiedNamePath != null) ? pQualifiedNamePath : (pQualifiedNamePath = new QualifiedNamePathElements());
+ }
+
+ public ParserRule getQualifiedNamePathRule() {
+ return getQualifiedNamePathAccess().getRule();
+ }
+
+ //UnqualifiedName:
+ // name=ID templateBinding=TemplateBinding?;
+ public UnqualifiedNameElements getUnqualifiedNameAccess() {
+ return (pUnqualifiedName != null) ? pUnqualifiedName : (pUnqualifiedName = new UnqualifiedNameElements());
+ }
+
+ public ParserRule getUnqualifiedNameRule() {
+ return getUnqualifiedNameAccess().getRule();
+ }
+
+ //TemplateBinding:
+ // "<" bindings+=NamedTemplateBinding ("," bindings+=NamedTemplateBinding)* ">";
+ public TemplateBindingElements getTemplateBindingAccess() {
+ return (pTemplateBinding != null) ? pTemplateBinding : (pTemplateBinding = new TemplateBindingElements());
+ }
+
+ public ParserRule getTemplateBindingRule() {
+ return getTemplateBindingAccess().getRule();
+ }
+
+ //NamedTemplateBinding:
+ // formal=ID "=>" actual=QualifiedNameWithBinding;
+ public NamedTemplateBindingElements getNamedTemplateBindingAccess() {
+ return (pNamedTemplateBinding != null) ? pNamedTemplateBinding : (pNamedTemplateBinding = new NamedTemplateBindingElements());
+ }
+
+ public ParserRule getNamedTemplateBindingRule() {
+ return getNamedTemplateBindingAccess().getRule();
+ }
+
+ //QualifiedNameWithBinding:
+ // id=ID binding=TemplateBinding? ("::" remaining=QualifiedNameWithBinding)?;
+ public QualifiedNameWithBindingElements getQualifiedNameWithBindingAccess() {
+ return (pQualifiedNameWithBinding != null) ? pQualifiedNameWithBinding : (pQualifiedNameWithBinding = new QualifiedNameWithBindingElements());
+ }
+
+ public ParserRule getQualifiedNameWithBindingRule() {
+ return getQualifiedNameWithBindingAccess().getRule();
+ }
+
+ //Tuple:
+ // {Tuple} "(" (tupleElements+=TupleElement ("," tupleElements+=TupleElement)*)? ")";
+ public TupleElements getTupleAccess() {
+ return (pTuple != null) ? pTuple : (pTuple = new TupleElements());
+ }
+
+ public ParserRule getTupleRule() {
+ return getTupleAccess().getRule();
+ }
+
+ //TupleElement:
+ // argument=Expression;
+ public TupleElementElements getTupleElementAccess() {
+ return (pTupleElement != null) ? pTupleElement : (pTupleElement = new TupleElementElements());
+ }
+
+ public ParserRule getTupleElementRule() {
+ return getTupleElementAccess().getRule();
+ }
+
+ /// **************
+ // * Expressions
+ // ************** / Expression:
+ // ConditionalTestExpression;
+ public ExpressionElements getExpressionAccess() {
+ return (pExpression != null) ? pExpression : (pExpression = new ExpressionElements());
+ }
+
+ public ParserRule getExpressionRule() {
+ return getExpressionAccess().getRule();
+ }
+
+ //ConditionalTestExpression:
+ // exp=ConditionalOrExpression ("?" whenTrue=ConditionalTestExpression ":" whenFalse=ConditionalTestExpression)?;
+ public ConditionalTestExpressionElements getConditionalTestExpressionAccess() {
+ return (pConditionalTestExpression != null) ? pConditionalTestExpression : (pConditionalTestExpression = new ConditionalTestExpressionElements());
+ }
+
+ public ParserRule getConditionalTestExpressionRule() {
+ return getConditionalTestExpressionAccess().getRule();
+ }
+
+ //ConditionalOrExpression:
+ // exp+=ConditionalAndExpression ("||" exp+=ConditionalAndExpression)*;
+ public ConditionalOrExpressionElements getConditionalOrExpressionAccess() {
+ return (pConditionalOrExpression != null) ? pConditionalOrExpression : (pConditionalOrExpression = new ConditionalOrExpressionElements());
+ }
+
+ public ParserRule getConditionalOrExpressionRule() {
+ return getConditionalOrExpressionAccess().getRule();
+ }
+
+ //ConditionalAndExpression:
+ // exp+=InclusiveOrExpression ("&&" exp+=InclusiveOrExpression)*;
+ public ConditionalAndExpressionElements getConditionalAndExpressionAccess() {
+ return (pConditionalAndExpression != null) ? pConditionalAndExpression : (pConditionalAndExpression = new ConditionalAndExpressionElements());
+ }
+
+ public ParserRule getConditionalAndExpressionRule() {
+ return getConditionalAndExpressionAccess().getRule();
+ }
+
+ //InclusiveOrExpression:
+ // exp+=ExclusiveOrExpression ("|" exp+=ExclusiveOrExpression)*;
+ public InclusiveOrExpressionElements getInclusiveOrExpressionAccess() {
+ return (pInclusiveOrExpression != null) ? pInclusiveOrExpression : (pInclusiveOrExpression = new InclusiveOrExpressionElements());
+ }
+
+ public ParserRule getInclusiveOrExpressionRule() {
+ return getInclusiveOrExpressionAccess().getRule();
+ }
+
+ //ExclusiveOrExpression:
+ // exp+=AndExpression ("^" exp+=AndExpression)*;
+ public ExclusiveOrExpressionElements getExclusiveOrExpressionAccess() {
+ return (pExclusiveOrExpression != null) ? pExclusiveOrExpression : (pExclusiveOrExpression = new ExclusiveOrExpressionElements());
+ }
+
+ public ParserRule getExclusiveOrExpressionRule() {
+ return getExclusiveOrExpressionAccess().getRule();
+ }
+
+ //AndExpression:
+ // exp+=EqualityExpression ("&" exp+=EqualityExpression)*;
+ public AndExpressionElements getAndExpressionAccess() {
+ return (pAndExpression != null) ? pAndExpression : (pAndExpression = new AndExpressionElements());
+ }
+
+ public ParserRule getAndExpressionRule() {
+ return getAndExpressionAccess().getRule();
+ }
+
+ //EqualityExpression:
+ // exp+=ClassificationExpression (op+=("==" | "!=") exp+=ClassificationExpression)*;
+ public EqualityExpressionElements getEqualityExpressionAccess() {
+ return (pEqualityExpression != null) ? pEqualityExpression : (pEqualityExpression = new EqualityExpressionElements());
+ }
+
+ public ParserRule getEqualityExpressionRule() {
+ return getEqualityExpressionAccess().getRule();
+ }
+
+ ////enum EqualityOperator :
+ //// EQUALS = '==' |
+ //// NOT_EQUALS = '!='
+ ////;
+ //ClassificationExpression:
+ // exp=RelationalExpression (op=("instanceof" | "hastype") typeName=NameExpression)?;
+ public ClassificationExpressionElements getClassificationExpressionAccess() {
+ return (pClassificationExpression != null) ? pClassificationExpression : (pClassificationExpression = new ClassificationExpressionElements());
+ }
+
+ public ParserRule getClassificationExpressionRule() {
+ return getClassificationExpressionAccess().getRule();
+ }
+
+ ////enum ClassificationOperator :
+ //// INSTANCEOF = 'instanceof' |
+ //// HASTYPE = 'hastype'
+ ////;
+ //RelationalExpression:
+ // left=ShiftExpression (op=("<" | ">" | "<=" | ">=") right=ShiftExpression)?;
+ public RelationalExpressionElements getRelationalExpressionAccess() {
+ return (pRelationalExpression != null) ? pRelationalExpression : (pRelationalExpression = new RelationalExpressionElements());
+ }
+
+ public ParserRule getRelationalExpressionRule() {
+ return getRelationalExpressionAccess().getRule();
+ }
+
+ ////RelationalOperator :
+ //// LOWER = '<' |
+ //// UPPER = '>' |
+ //// LOWER_EQUALS = '<=' |
+ //// UPPER_EQUALS = '>='
+ ////;
+ //ShiftExpression:
+ // exp+=AdditiveExpression (op=("<<" | ">>" | ">>>") exp+=AdditiveExpression)?;
+ public ShiftExpressionElements getShiftExpressionAccess() {
+ return (pShiftExpression != null) ? pShiftExpression : (pShiftExpression = new ShiftExpressionElements());
+ }
+
+ public ParserRule getShiftExpressionRule() {
+ return getShiftExpressionAccess().getRule();
+ }
+
+ ////enum ShiftOperator :
+ //// LSHIFT = '<<' |
+ //// RSHIFT = '>>' |
+ //// URSHIFT = '>>>'
+ ////;
+ //AdditiveExpression:
+ // exp+=MultiplicativeExpression (op+=("+" | "-") exp+=MultiplicativeExpression)*;
+ public AdditiveExpressionElements getAdditiveExpressionAccess() {
+ return (pAdditiveExpression != null) ? pAdditiveExpression : (pAdditiveExpression = new AdditiveExpressionElements());
+ }
+
+ public ParserRule getAdditiveExpressionRule() {
+ return getAdditiveExpressionAccess().getRule();
+ }
+
+ ////enum AdditiveOp :
+ //// PLUS = '+' |
+ //// MINUS = '-'
+ ////;
+ //MultiplicativeExpression:
+ // exp+=UnaryExpression (op+=("*" | "/" | "%") exp+=UnaryExpression)*;
+ public MultiplicativeExpressionElements getMultiplicativeExpressionAccess() {
+ return (pMultiplicativeExpression != null) ? pMultiplicativeExpression : (pMultiplicativeExpression = new MultiplicativeExpressionElements());
+ }
+
+ public ParserRule getMultiplicativeExpressionRule() {
+ return getMultiplicativeExpressionAccess().getRule();
+ }
+
+ ////enum MultiplicativeOp :
+ //// MULT = '*' |
+ //// DIV = '/' |
+ //// MOD = '%'
+ ////;
+ //UnaryExpression:
+ // op=("!" | "-" | "+" | "$" | "~")? exp=PrimaryExpression;
+ public UnaryExpressionElements getUnaryExpressionAccess() {
+ return (pUnaryExpression != null) ? pUnaryExpression : (pUnaryExpression = new UnaryExpressionElements());
+ }
+
+ public ParserRule getUnaryExpressionRule() {
+ return getUnaryExpressionAccess().getRule();
+ }
+
+ ////PrimaryExpression :
+ //// prefix = ValueSpecification (suffix = SuffixExpression)?
+ ////;
+ //PrimaryExpression:
+ // prefix=ValueSpecification;
+ public PrimaryExpressionElements getPrimaryExpressionAccess() {
+ return (pPrimaryExpression != null) ? pPrimaryExpression : (pPrimaryExpression = new PrimaryExpressionElements());
+ }
+
+ public ParserRule getPrimaryExpressionRule() {
+ return getPrimaryExpressionAccess().getRule();
+ }
+
+ //SuffixExpression:
+ // OperationCallExpression | PropertyCallExpression | LinkOperationExpression | SequenceOperationExpression |
+ // SequenceReductionExpression | SequenceExpansionExpression | ClassExtentExpression;
+ public SuffixExpressionElements getSuffixExpressionAccess() {
+ return (pSuffixExpression != null) ? pSuffixExpression : (pSuffixExpression = new SuffixExpressionElements());
+ }
+
+ public ParserRule getSuffixExpressionRule() {
+ return getSuffixExpressionAccess().getRule();
+ }
+
+ //OperationCallExpression:
+ // "." operationName=ID tuple=Tuple suffix=SuffixExpression?;
+ public OperationCallExpressionElements getOperationCallExpressionAccess() {
+ return (pOperationCallExpression != null) ? pOperationCallExpression : (pOperationCallExpression = new OperationCallExpressionElements());
+ }
+
+ public ParserRule getOperationCallExpressionRule() {
+ return getOperationCallExpressionAccess().getRule();
+ }
+
+ //// OperationCallExpressionWithoutDot :
+ //// operationName = ID tuple = Tuple (suffix = SuffixExpression)?
+ //// ;
+ //PropertyCallExpression:
+ // "." propertyName=ID ("[" index=Expression "]")? suffix=SuffixExpression?;
+ public PropertyCallExpressionElements getPropertyCallExpressionAccess() {
+ return (pPropertyCallExpression != null) ? pPropertyCallExpression : (pPropertyCallExpression = new PropertyCallExpressionElements());
+ }
+
+ public ParserRule getPropertyCallExpressionRule() {
+ return getPropertyCallExpressionAccess().getRule();
+ }
+
+ //LinkOperationExpression:
+ // "." kind=LinkOperationKind tuple=LinkOperationTuple;
+ public LinkOperationExpressionElements getLinkOperationExpressionAccess() {
+ return (pLinkOperationExpression != null) ? pLinkOperationExpression : (pLinkOperationExpression = new LinkOperationExpressionElements());
+ }
+
+ public ParserRule getLinkOperationExpressionRule() {
+ return getLinkOperationExpressionAccess().getRule();
+ }
+
+ //LinkOperationTuple:
+ // "(" linkOperationTupleElement+=LinkOperationTupleElement ("," linkOperationTupleElement+=LinkOperationTupleElement)*
+ // ")";
+ public LinkOperationTupleElements getLinkOperationTupleAccess() {
+ return (pLinkOperationTuple != null) ? pLinkOperationTuple : (pLinkOperationTuple = new LinkOperationTupleElements());
+ }
+
+ public ParserRule getLinkOperationTupleRule() {
+ return getLinkOperationTupleAccess().getRule();
+ }
+
+ ////LinkOperationTupleElement :
+ //// objectOrRole = ID (('['roleIndex = Expression ']')? '=>' object = ID)?
+ ////;
+ //LinkOperationTupleElement:
+ // role=ID ("[" roleIndex=Expression "]")? "=>" object=Expression;
+ public LinkOperationTupleElementElements getLinkOperationTupleElementAccess() {
+ return (pLinkOperationTupleElement != null) ? pLinkOperationTupleElement : (pLinkOperationTupleElement = new LinkOperationTupleElementElements());
+ }
+
+ public ParserRule getLinkOperationTupleElementRule() {
+ return getLinkOperationTupleElementAccess().getRule();
+ }
+
+ //enum LinkOperationKind:
+ // CREATE="createLink" | DESTROY="destroyLink" | CLEAR="clearAssoc";
+ public LinkOperationKindElements getLinkOperationKindAccess() {
+ return (unknownRuleLinkOperationKind != null) ? unknownRuleLinkOperationKind : (unknownRuleLinkOperationKind = new LinkOperationKindElements());
+ }
+
+ public EnumRule getLinkOperationKindRule() {
+ return getLinkOperationKindAccess().getRule();
+ }
+
+ //SequenceOperationExpression: //'->' operationName = ID tuple = Tuple (suffix = SuffixExpression) ?
+ // "->" operationName=QualifiedNameWithBinding tuple=Tuple suffix=SuffixExpression?;
+ public SequenceOperationExpressionElements getSequenceOperationExpressionAccess() {
+ return (pSequenceOperationExpression != null) ? pSequenceOperationExpression : (pSequenceOperationExpression = new SequenceOperationExpressionElements());
+ }
+
+ public ParserRule getSequenceOperationExpressionRule() {
+ return getSequenceOperationExpressionAccess().getRule();
+ }
+
+ //SequenceReductionExpression:
+ // "->" "reduce" isOrdered?="ordered"? behavior=QualifiedNameWithBinding suffix=SuffixExpression?;
+ public SequenceReductionExpressionElements getSequenceReductionExpressionAccess() {
+ return (pSequenceReductionExpression != null) ? pSequenceReductionExpression : (pSequenceReductionExpression = new SequenceReductionExpressionElements());
+ }
+
+ public ParserRule getSequenceReductionExpressionRule() {
+ return getSequenceReductionExpressionAccess().getRule();
+ }
+
+ //SequenceExpansionExpression:
+ // SelectOrRejectOperation | CollectOrIterateOperation | ForAllOrExistsOrOneOperation | IsUniqueOperation;
+ public SequenceExpansionExpressionElements getSequenceExpansionExpressionAccess() {
+ return (pSequenceExpansionExpression != null) ? pSequenceExpansionExpression : (pSequenceExpansionExpression = new SequenceExpansionExpressionElements());
+ }
+
+ public ParserRule getSequenceExpansionExpressionRule() {
+ return getSequenceExpansionExpressionAccess().getRule();
+ }
+
+ //SelectOrRejectOperation:
+ // "->" op=SelectOrRejectOperator name=ID "(" expr=Expression ")" suffix=SuffixExpression?;
+ public SelectOrRejectOperationElements getSelectOrRejectOperationAccess() {
+ return (pSelectOrRejectOperation != null) ? pSelectOrRejectOperation : (pSelectOrRejectOperation = new SelectOrRejectOperationElements());
+ }
+
+ public ParserRule getSelectOrRejectOperationRule() {
+ return getSelectOrRejectOperationAccess().getRule();
+ }
+
+ //enum SelectOrRejectOperator:
+ // SELECT="select" | REJECT="reject";
+ public SelectOrRejectOperatorElements getSelectOrRejectOperatorAccess() {
+ return (unknownRuleSelectOrRejectOperator != null) ? unknownRuleSelectOrRejectOperator : (unknownRuleSelectOrRejectOperator = new SelectOrRejectOperatorElements());
+ }
+
+ public EnumRule getSelectOrRejectOperatorRule() {
+ return getSelectOrRejectOperatorAccess().getRule();
+ }
+
+ //CollectOrIterateOperation:
+ // "->" op=CollectOrIterateOperator name=ID "(" expr=Expression ")" suffix=SuffixExpression?;
+ public CollectOrIterateOperationElements getCollectOrIterateOperationAccess() {
+ return (pCollectOrIterateOperation != null) ? pCollectOrIterateOperation : (pCollectOrIterateOperation = new CollectOrIterateOperationElements());
+ }
+
+ public ParserRule getCollectOrIterateOperationRule() {
+ return getCollectOrIterateOperationAccess().getRule();
+ }
+
+ //enum CollectOrIterateOperator:
+ // COLLECT="collect" | ITERATE="iterate";
+ public CollectOrIterateOperatorElements getCollectOrIterateOperatorAccess() {
+ return (unknownRuleCollectOrIterateOperator != null) ? unknownRuleCollectOrIterateOperator : (unknownRuleCollectOrIterateOperator = new CollectOrIterateOperatorElements());
+ }
+
+ public EnumRule getCollectOrIterateOperatorRule() {
+ return getCollectOrIterateOperatorAccess().getRule();
+ }
+
+ //ForAllOrExistsOrOneOperation:
+ // "->" op=ForAllOrExistsOrOneOperator name=ID "(" expr=Expression ")" suffix=SuffixExpression?;
+ public ForAllOrExistsOrOneOperationElements getForAllOrExistsOrOneOperationAccess() {
+ return (pForAllOrExistsOrOneOperation != null) ? pForAllOrExistsOrOneOperation : (pForAllOrExistsOrOneOperation = new ForAllOrExistsOrOneOperationElements());
+ }
+
+ public ParserRule getForAllOrExistsOrOneOperationRule() {
+ return getForAllOrExistsOrOneOperationAccess().getRule();
+ }
+
+ //enum ForAllOrExistsOrOneOperator:
+ // FORALL="forAll" | EXISTS="exists" | ONE="one";
+ public ForAllOrExistsOrOneOperatorElements getForAllOrExistsOrOneOperatorAccess() {
+ return (unknownRuleForAllOrExistsOrOneOperator != null) ? unknownRuleForAllOrExistsOrOneOperator : (unknownRuleForAllOrExistsOrOneOperator = new ForAllOrExistsOrOneOperatorElements());
+ }
+
+ public EnumRule getForAllOrExistsOrOneOperatorRule() {
+ return getForAllOrExistsOrOneOperatorAccess().getRule();
+ }
+
+ //IsUniqueOperation:
+ // "->" "isUnique" name=ID "(" expr=Expression ")" suffix=SuffixExpression?;
+ public IsUniqueOperationElements getIsUniqueOperationAccess() {
+ return (pIsUniqueOperation != null) ? pIsUniqueOperation : (pIsUniqueOperation = new IsUniqueOperationElements());
+ }
+
+ public ParserRule getIsUniqueOperationRule() {
+ return getIsUniqueOperationAccess().getRule();
+ }
+
+ //ValueSpecification:
+ // NameExpression | LITERAL | ThisExpression | SuperInvocationExpression | InstanceCreationExpression |
+ // ParenthesizedExpression | NullExpression;
+ public ValueSpecificationElements getValueSpecificationAccess() {
+ return (pValueSpecification != null) ? pValueSpecification : (pValueSpecification = new ValueSpecificationElements());
+ }
+
+ public ParserRule getValueSpecificationRule() {
+ return getValueSpecificationAccess().getRule();
+ }
+
+ //NonLiteralValueSpecification:
+ // NameExpression | ParenthesizedExpression | InstanceCreationExpression | ThisExpression | SuperInvocationExpression;
+ public NonLiteralValueSpecificationElements getNonLiteralValueSpecificationAccess() {
+ return (pNonLiteralValueSpecification != null) ? pNonLiteralValueSpecification : (pNonLiteralValueSpecification = new NonLiteralValueSpecificationElements());
+ }
+
+ public ParserRule getNonLiteralValueSpecificationRule() {
+ return getNonLiteralValueSpecificationAccess().getRule();
+ }
+
+ //ParenthesizedExpression:
+ // "(" expOrTypeCast=Expression ")" (casted=NonLiteralValueSpecification | suffix=SuffixExpression)?;
+ public ParenthesizedExpressionElements getParenthesizedExpressionAccess() {
+ return (pParenthesizedExpression != null) ? pParenthesizedExpression : (pParenthesizedExpression = new ParenthesizedExpressionElements());
+ }
+
+ public ParserRule getParenthesizedExpressionRule() {
+ return getParenthesizedExpressionAccess().getRule();
+ }
+
+ //NullExpression:
+ // {NullExpression} "null";
+ public NullExpressionElements getNullExpressionAccess() {
+ return (pNullExpression != null) ? pNullExpression : (pNullExpression = new NullExpressionElements());
+ }
+
+ public ParserRule getNullExpressionRule() {
+ return getNullExpressionAccess().getRule();
+ }
+
+ //ThisExpression:
+ // {ThisExpression} "this" suffix=SuffixExpression?;
+ public ThisExpressionElements getThisExpressionAccess() {
+ return (pThisExpression != null) ? pThisExpression : (pThisExpression = new ThisExpressionElements());
+ }
+
+ public ParserRule getThisExpressionRule() {
+ return getThisExpressionAccess().getRule();
+ }
+
+ //// SuperInvocationExpression :
+ //// //{SuperInvocationExpression} 'super' ('.' qualifiedNameRoot = ID '::' qualifiedNameRemaining = NameExpression)? //(suffix = SuffixExpression) ?
+ //// 'super' ('.' className = ID '::' operationCallWithoutDot = OperationCallExpressionWithoutDot | operationCall = OperationCallExpression)
+ ////;
+ //SuperInvocationExpression: //{SuperInvocationExpression} 'super' ('.' qualifiedNameRoot = ID '::' qualifiedNameRemaining = NameExpression)? //(suffix = SuffixExpression) ?
+ ////'super' ('.' className = ID '::' operationCallWithoutDot = OperationCallExpressionWithoutDot | operationCall = OperationCallExpression)
+ ////'super' ((tuple = Tuple) |
+ //// ('.' (path = QualifiedNamePath) operation = ID tuple = Tuple))
+ // "super" (tuple=Tuple | "." operationName=QualifiedNameWithBinding tuple=Tuple);
+ public SuperInvocationExpressionElements getSuperInvocationExpressionAccess() {
+ return (pSuperInvocationExpression != null) ? pSuperInvocationExpression : (pSuperInvocationExpression = new SuperInvocationExpressionElements());
+ }
+
+ public ParserRule getSuperInvocationExpressionRule() {
+ return getSuperInvocationExpressionAccess().getRule();
+ }
+
+ ////InstanceCreationExpression :
+ ////'new' constructor=QualifiedNameWithBinding
+ //// (tuple = Tuple | sequenceConstuctionCompletion = SequenceConstructionCompletion) (suffix = SuffixExpression) ?
+ ////'new' constructor=QualifiedNameWithBinding
+ //// tuple = Tuple (suffix = SuffixExpression) ?
+ ////;
+ //InstanceCreationExpression: //'new' constructor=QualifiedNameWithBinding
+ //// (tuple = Tuple | sequenceConstuctionCompletion = SequenceConstructionCompletion) (suffix = SuffixExpression) ?
+ // "new" constructor=QualifiedNameWithBinding tuple=InstanceCreationTuple suffix=SuffixExpression?;
+ public InstanceCreationExpressionElements getInstanceCreationExpressionAccess() {
+ return (pInstanceCreationExpression != null) ? pInstanceCreationExpression : (pInstanceCreationExpression = new InstanceCreationExpressionElements());
+ }
+
+ public ParserRule getInstanceCreationExpressionRule() {
+ return getInstanceCreationExpressionAccess().getRule();
+ }
+
+ //InstanceCreationTuple:
+ // {InstanceCreationTuple} "(" (instanceCreationTupleElement+=InstanceCreationTupleElement (","
+ // instanceCreationTupleElement+=InstanceCreationTupleElement)*)? ")";
+ public InstanceCreationTupleElements getInstanceCreationTupleAccess() {
+ return (pInstanceCreationTuple != null) ? pInstanceCreationTuple : (pInstanceCreationTuple = new InstanceCreationTupleElements());
+ }
+
+ public ParserRule getInstanceCreationTupleRule() {
+ return getInstanceCreationTupleAccess().getRule();
+ }
+
+ ////LinkOperationTupleElement :
+ //// objectOrRole = ID (('['roleIndex = Expression ']')? '=>' object = ID)?
+ ////;
+ //InstanceCreationTupleElement:
+ // role=ID "=>" object=Expression;
+ public InstanceCreationTupleElementElements getInstanceCreationTupleElementAccess() {
+ return (pInstanceCreationTupleElement != null) ? pInstanceCreationTupleElement : (pInstanceCreationTupleElement = new InstanceCreationTupleElementElements());
+ }
+
+ public ParserRule getInstanceCreationTupleElementRule() {
+ return getInstanceCreationTupleElementAccess().getRule();
+ }
+
+ //SequenceConstructionOrAccessCompletion:
+ // multiplicityIndicator?="[" (accessCompletion=AccessCompletion |
+ // sequenceCompletion=PartialSequenceConstructionCompletion) | expression=SequenceConstructionExpression;
+ public SequenceConstructionOrAccessCompletionElements getSequenceConstructionOrAccessCompletionAccess() {
+ return (pSequenceConstructionOrAccessCompletion != null) ? pSequenceConstructionOrAccessCompletion : (pSequenceConstructionOrAccessCompletion = new SequenceConstructionOrAccessCompletionElements());
+ }
+
+ public ParserRule getSequenceConstructionOrAccessCompletionRule() {
+ return getSequenceConstructionOrAccessCompletionAccess().getRule();
+ }
+
+ //AccessCompletion:
+ // accessIndex=Expression "]";
+ public AccessCompletionElements getAccessCompletionAccess() {
+ return (pAccessCompletion != null) ? pAccessCompletion : (pAccessCompletion = new AccessCompletionElements());
+ }
+
+ public ParserRule getAccessCompletionRule() {
+ return getAccessCompletionAccess().getRule();
+ }
+
+ //PartialSequenceConstructionCompletion:
+ // "]" expression=SequenceConstructionExpression;
+ public PartialSequenceConstructionCompletionElements getPartialSequenceConstructionCompletionAccess() {
+ return (pPartialSequenceConstructionCompletion != null) ? pPartialSequenceConstructionCompletion : (pPartialSequenceConstructionCompletion = new PartialSequenceConstructionCompletionElements());
+ }
+
+ public ParserRule getPartialSequenceConstructionCompletionRule() {
+ return getPartialSequenceConstructionCompletionAccess().getRule();
+ }
+
+ ////SequenceConstructionCompletion :
+ //// (multiplicityIndicator ?= '['']')? expression = SequenceConstructionExpression
+ ////;
+ //SequenceConstructionExpression:
+ // "{" sequenceElement+=SequenceElement (("," sequenceElement+=SequenceElement)* | ".." rangeUpper=Expression) "}";
+ public SequenceConstructionExpressionElements getSequenceConstructionExpressionAccess() {
+ return (pSequenceConstructionExpression != null) ? pSequenceConstructionExpression : (pSequenceConstructionExpression = new SequenceConstructionExpressionElements());
+ }
+
+ public ParserRule getSequenceConstructionExpressionRule() {
+ return getSequenceConstructionExpressionAccess().getRule();
+ }
+
+ //SequenceElement:
+ // Expression | SequenceConstructionExpression;
+ public SequenceElementElements getSequenceElementAccess() {
+ return (pSequenceElement != null) ? pSequenceElement : (pSequenceElement = new SequenceElementElements());
+ }
+
+ public ParserRule getSequenceElementRule() {
+ return getSequenceElementAccess().getRule();
+ }
+
+ //ClassExtentExpression:
+ // {ClassExtentExpression} "." "allInstances" "(" ")";
+ public ClassExtentExpressionElements getClassExtentExpressionAccess() {
+ return (pClassExtentExpression != null) ? pClassExtentExpression : (pClassExtentExpression = new ClassExtentExpressionElements());
+ }
+
+ public ParserRule getClassExtentExpressionRule() {
+ return getClassExtentExpressionAccess().getRule();
+ }
+
+ /// *****************
+ // * Statements
+ // **************** / Block:
+ // "{" {Block} sequence=StatementSequence? "}";
+ public BlockElements getBlockAccess() {
+ return (pBlock != null) ? pBlock : (pBlock = new BlockElements());
+ }
+
+ public ParserRule getBlockRule() {
+ return getBlockAccess().getRule();
+ }
+
+ //StatementSequence:
+ // statements+=DocumentedStatement+;
+ public StatementSequenceElements getStatementSequenceAccess() {
+ return (pStatementSequence != null) ? pStatementSequence : (pStatementSequence = new StatementSequenceElements());
+ }
+
+ public ParserRule getStatementSequenceRule() {
+ return getStatementSequenceAccess().getRule();
+ }
+
+ //DocumentedStatement:
+ // comment=(ML_COMMENT | SL_COMMENT)? statement=Statement;
+ public DocumentedStatementElements getDocumentedStatementAccess() {
+ return (pDocumentedStatement != null) ? pDocumentedStatement : (pDocumentedStatement = new DocumentedStatementElements());
+ }
+
+ public ParserRule getDocumentedStatementRule() {
+ return getDocumentedStatementAccess().getRule();
+ }
+
+ //InlineStatement:
+ // "/ *@" "inline" "(" langageName=ID ")" body=STRING "* /";
+ public InlineStatementElements getInlineStatementAccess() {
+ return (pInlineStatement != null) ? pInlineStatement : (pInlineStatement = new InlineStatementElements());
+ }
+
+ public ParserRule getInlineStatementRule() {
+ return getInlineStatementAccess().getRule();
+ }
+
+ //AnnotatedStatement:
+ // "//@" annotation= //block = Block
+ // Annotation statement=Statement;
+ public AnnotatedStatementElements getAnnotatedStatementAccess() {
+ return (pAnnotatedStatement != null) ? pAnnotatedStatement : (pAnnotatedStatement = new AnnotatedStatementElements());
+ }
+
+ public ParserRule getAnnotatedStatementRule() {
+ return getAnnotatedStatementAccess().getRule();
+ }
+
+ //Statement:
+ // AnnotatedStatement | InlineStatement | BlockStatement | EmptyStatement | LocalNameDeclarationStatement | IfStatement |
+ // SwitchStatement | WhileStatement | DoStatement | ForStatement | BreakStatement | ReturnStatement | AcceptStatement |
+ // ClassifyStatement | InvocationOrAssignementOrDeclarationStatement | SuperInvocationStatement | ThisInvocationStatement
+ // | InstanceCreationInvocationStatement;
+ public StatementElements getStatementAccess() {
+ return (pStatement != null) ? pStatement : (pStatement = new StatementElements());
+ }
+
+ public ParserRule getStatementRule() {
+ return getStatementAccess().getRule();
+ }
+
+ //Annotation:
+ // kind=AnnotationKind ("(" args+=ID ("," args+=ID)* ")")?;
+ public AnnotationElements getAnnotationAccess() {
+ return (pAnnotation != null) ? pAnnotation : (pAnnotation = new AnnotationElements());
+ }
+
+ public ParserRule getAnnotationRule() {
+ return getAnnotationAccess().getRule();
+ }
+
+ //enum AnnotationKind:
+ // ISOLATED="isolated" | DETERMINED="determined" | ASSURED="assured" | PARALLEL="parallel";
+ public AnnotationKindElements getAnnotationKindAccess() {
+ return (unknownRuleAnnotationKind != null) ? unknownRuleAnnotationKind : (unknownRuleAnnotationKind = new AnnotationKindElements());
+ }
+
+ public EnumRule getAnnotationKindRule() {
+ return getAnnotationKindAccess().getRule();
+ }
+
+ //BlockStatement:
+ // block=Block;
+ public BlockStatementElements getBlockStatementAccess() {
+ return (pBlockStatement != null) ? pBlockStatement : (pBlockStatement = new BlockStatementElements());
+ }
+
+ public ParserRule getBlockStatementRule() {
+ return getBlockStatementAccess().getRule();
+ }
+
+ //EmptyStatement:
+ // {EmptyStatement} ";";
+ public EmptyStatementElements getEmptyStatementAccess() {
+ return (pEmptyStatement != null) ? pEmptyStatement : (pEmptyStatement = new EmptyStatementElements());
+ }
+
+ public ParserRule getEmptyStatementRule() {
+ return getEmptyStatementAccess().getRule();
+ }
+
+ //LocalNameDeclarationStatement:
+ // "let" varName=ID ":" type=QualifiedNameWithBinding (multiplicityIndicator?="[" "]")? //'=' init = Expression ';'
+ // "=" init=SequenceElement ";";
+ public LocalNameDeclarationStatementElements getLocalNameDeclarationStatementAccess() {
+ return (pLocalNameDeclarationStatement != null) ? pLocalNameDeclarationStatement : (pLocalNameDeclarationStatement = new LocalNameDeclarationStatementElements());
+ }
+
+ public ParserRule getLocalNameDeclarationStatementRule() {
+ return getLocalNameDeclarationStatementAccess().getRule();
+ }
+
+ //IfStatement:
+ // "if" sequentialClausses=SequentialClauses finalClause=FinalClause?;
+ public IfStatementElements getIfStatementAccess() {
+ return (pIfStatement != null) ? pIfStatement : (pIfStatement = new IfStatementElements());
+ }
+
+ public ParserRule getIfStatementRule() {
+ return getIfStatementAccess().getRule();
+ }
+
+ //SequentialClauses:
+ // conccurentClauses+=ConcurrentClauses ("else" "if" conccurentClauses+=ConcurrentClauses)*;
+ public SequentialClausesElements getSequentialClausesAccess() {
+ return (pSequentialClauses != null) ? pSequentialClauses : (pSequentialClauses = new SequentialClausesElements());
+ }
+
+ public ParserRule getSequentialClausesRule() {
+ return getSequentialClausesAccess().getRule();
+ }
+
+ //ConcurrentClauses:
+ // nonFinalClause+=NonFinalClause ("or" "if" nonFinalClause+=NonFinalClause)*;
+ public ConcurrentClausesElements getConcurrentClausesAccess() {
+ return (pConcurrentClauses != null) ? pConcurrentClauses : (pConcurrentClauses = new ConcurrentClausesElements());
+ }
+
+ public ParserRule getConcurrentClausesRule() {
+ return getConcurrentClausesAccess().getRule();
+ }
+
+ //NonFinalClause:
+ // "(" condition=Expression ")" block=Block;
+ public NonFinalClauseElements getNonFinalClauseAccess() {
+ return (pNonFinalClause != null) ? pNonFinalClause : (pNonFinalClause = new NonFinalClauseElements());
+ }
+
+ public ParserRule getNonFinalClauseRule() {
+ return getNonFinalClauseAccess().getRule();
+ }
+
+ //FinalClause:
+ // "else" block=Block;
+ public FinalClauseElements getFinalClauseAccess() {
+ return (pFinalClause != null) ? pFinalClause : (pFinalClause = new FinalClauseElements());
+ }
+
+ public ParserRule getFinalClauseRule() {
+ return getFinalClauseAccess().getRule();
+ }
+
+ //SwitchStatement:
+ // "switch" "(" expression=Expression ")" "{" switchClause+=SwitchClause* defaultClause=SwitchDefaultClause? "}";
+ public SwitchStatementElements getSwitchStatementAccess() {
+ return (pSwitchStatement != null) ? pSwitchStatement : (pSwitchStatement = new SwitchStatementElements());
+ }
+
+ public ParserRule getSwitchStatementRule() {
+ return getSwitchStatementAccess().getRule();
+ }
+
+ //SwitchClause:
+ // switchCase+=SwitchCase switchCase+=SwitchCase* statementSequence=NonEmptyStatementSequence;
+ public SwitchClauseElements getSwitchClauseAccess() {
+ return (pSwitchClause != null) ? pSwitchClause : (pSwitchClause = new SwitchClauseElements());
+ }
+
+ public ParserRule getSwitchClauseRule() {
+ return getSwitchClauseAccess().getRule();
+ }
+
+ //SwitchCase:
+ // "case" expression=Expression ":";
+ public SwitchCaseElements getSwitchCaseAccess() {
+ return (pSwitchCase != null) ? pSwitchCase : (pSwitchCase = new SwitchCaseElements());
+ }
+
+ public ParserRule getSwitchCaseRule() {
+ return getSwitchCaseAccess().getRule();
+ }
+
+ //SwitchDefaultClause:
+ // "default" ":" statementSequence=NonEmptyStatementSequence;
+ public SwitchDefaultClauseElements getSwitchDefaultClauseAccess() {
+ return (pSwitchDefaultClause != null) ? pSwitchDefaultClause : (pSwitchDefaultClause = new SwitchDefaultClauseElements());
+ }
+
+ public ParserRule getSwitchDefaultClauseRule() {
+ return getSwitchDefaultClauseAccess().getRule();
+ }
+
+ //NonEmptyStatementSequence:
+ // statement+=DocumentedStatement+;
+ public NonEmptyStatementSequenceElements getNonEmptyStatementSequenceAccess() {
+ return (pNonEmptyStatementSequence != null) ? pNonEmptyStatementSequence : (pNonEmptyStatementSequence = new NonEmptyStatementSequenceElements());
+ }
+
+ public ParserRule getNonEmptyStatementSequenceRule() {
+ return getNonEmptyStatementSequenceAccess().getRule();
+ }
+
+ /// * WHILE STATEMENTS * / WhileStatement:
+ // "while" "(" condition=Expression ")" block=Block;
+ public WhileStatementElements getWhileStatementAccess() {
+ return (pWhileStatement != null) ? pWhileStatement : (pWhileStatement = new WhileStatementElements());
+ }
+
+ public ParserRule getWhileStatementRule() {
+ return getWhileStatementAccess().getRule();
+ }
+
+ /// * DO STATEMENTS * / DoStatement:
+ // "do" block=Block "while" "(" condition=Expression ")" ";";
+ public DoStatementElements getDoStatementAccess() {
+ return (pDoStatement != null) ? pDoStatement : (pDoStatement = new DoStatementElements());
+ }
+
+ public ParserRule getDoStatementRule() {
+ return getDoStatementAccess().getRule();
+ }
+
+ /// * FOR STATEMENTS * / ForStatement:
+ // "for" "(" control=ForControl ")" block=Block;
+ public ForStatementElements getForStatementAccess() {
+ return (pForStatement != null) ? pForStatement : (pForStatement = new ForStatementElements());
+ }
+
+ public ParserRule getForStatementRule() {
+ return getForStatementAccess().getRule();
+ }
+
+ //ForControl:
+ // loopVariableDefinition+=LoopVariableDefinition ("," loopVariableDefinition+=LoopVariableDefinition)*;
+ public ForControlElements getForControlAccess() {
+ return (pForControl != null) ? pForControl : (pForControl = new ForControlElements());
+ }
+
+ public ParserRule getForControlRule() {
+ return getForControlAccess().getRule();
+ }
+
+ //LoopVariableDefinition:
+ // name=ID "in" expression1=Expression (".." expression2=Expression)? | type=QualifiedNameWithBinding name=ID ":"
+ // expression=Expression;
+ public LoopVariableDefinitionElements getLoopVariableDefinitionAccess() {
+ return (pLoopVariableDefinition != null) ? pLoopVariableDefinition : (pLoopVariableDefinition = new LoopVariableDefinitionElements());
+ }
+
+ public ParserRule getLoopVariableDefinitionRule() {
+ return getLoopVariableDefinitionAccess().getRule();
+ }
+
+ /// * BREAK STATEMENTS * / BreakStatement:
+ // {BreakStatement} "break" ";";
+ public BreakStatementElements getBreakStatementAccess() {
+ return (pBreakStatement != null) ? pBreakStatement : (pBreakStatement = new BreakStatementElements());
+ }
+
+ public ParserRule getBreakStatementRule() {
+ return getBreakStatementAccess().getRule();
+ }
+
+ /// * RETURN STATEMENTS * / ReturnStatement:
+ // "return" expression=Expression ";";
+ public ReturnStatementElements getReturnStatementAccess() {
+ return (pReturnStatement != null) ? pReturnStatement : (pReturnStatement = new ReturnStatementElements());
+ }
+
+ public ParserRule getReturnStatementRule() {
+ return getReturnStatementAccess().getRule();
+ }
+
+ /// * ACCEPT STATEMENTS * / AcceptStatement:
+ // clause=AcceptClause (simpleAccept=SimpleAcceptStatementCompletion | compoundAccept=CompoundAcceptStatementCompletion);
+ public AcceptStatementElements getAcceptStatementAccess() {
+ return (pAcceptStatement != null) ? pAcceptStatement : (pAcceptStatement = new AcceptStatementElements());
+ }
+
+ public ParserRule getAcceptStatementRule() {
+ return getAcceptStatementAccess().getRule();
+ }
+
+ //SimpleAcceptStatementCompletion:
+ // {SimpleAcceptStatementCompletion} ";";
+ public SimpleAcceptStatementCompletionElements getSimpleAcceptStatementCompletionAccess() {
+ return (pSimpleAcceptStatementCompletion != null) ? pSimpleAcceptStatementCompletion : (pSimpleAcceptStatementCompletion = new SimpleAcceptStatementCompletionElements());
+ }
+
+ public ParserRule getSimpleAcceptStatementCompletionRule() {
+ return getSimpleAcceptStatementCompletionAccess().getRule();
+ }
+
+ //CompoundAcceptStatementCompletion:
+ // block=Block ("or" acceptBlock+=AcceptBlock)*;
+ public CompoundAcceptStatementCompletionElements getCompoundAcceptStatementCompletionAccess() {
+ return (pCompoundAcceptStatementCompletion != null) ? pCompoundAcceptStatementCompletion : (pCompoundAcceptStatementCompletion = new CompoundAcceptStatementCompletionElements());
+ }
+
+ public ParserRule getCompoundAcceptStatementCompletionRule() {
+ return getCompoundAcceptStatementCompletionAccess().getRule();
+ }
+
+ //AcceptBlock:
+ // clause=AcceptClause block=Block;
+ public AcceptBlockElements getAcceptBlockAccess() {
+ return (pAcceptBlock != null) ? pAcceptBlock : (pAcceptBlock = new AcceptBlockElements());
+ }
+
+ public ParserRule getAcceptBlockRule() {
+ return getAcceptBlockAccess().getRule();
+ }
+
+ //AcceptClause:
+ // "accept" "(" (name=ID ":")? qualifiedNameList=QualifiedNameList ")";
+ public AcceptClauseElements getAcceptClauseAccess() {
+ return (pAcceptClause != null) ? pAcceptClause : (pAcceptClause = new AcceptClauseElements());
+ }
+
+ public ParserRule getAcceptClauseRule() {
+ return getAcceptClauseAccess().getRule();
+ }
+
+ /// * CLASSIFY STATEMENTS * / ClassifyStatement:
+ // "classify" expression=Expression clause=ClassificationClause ";";
+ public ClassifyStatementElements getClassifyStatementAccess() {
+ return (pClassifyStatement != null) ? pClassifyStatement : (pClassifyStatement = new ClassifyStatementElements());
+ }
+
+ public ParserRule getClassifyStatementRule() {
+ return getClassifyStatementAccess().getRule();
+ }
+
+ //ClassificationClause:
+ // classifyFromClause=ClassificationFromClause classifyToClause=ClassificationToClause? |
+ // reclassyAllClause=ReclassifyAllClause? classifyToClause=ClassificationToClause;
+ public ClassificationClauseElements getClassificationClauseAccess() {
+ return (pClassificationClause != null) ? pClassificationClause : (pClassificationClause = new ClassificationClauseElements());
+ }
+
+ public ParserRule getClassificationClauseRule() {
+ return getClassificationClauseAccess().getRule();
+ }
+
+ //ClassificationFromClause:
+ // "from" qualifiedNameList=QualifiedNameList;
+ public ClassificationFromClauseElements getClassificationFromClauseAccess() {
+ return (pClassificationFromClause != null) ? pClassificationFromClause : (pClassificationFromClause = new ClassificationFromClauseElements());
+ }
+
+ public ParserRule getClassificationFromClauseRule() {
+ return getClassificationFromClauseAccess().getRule();
+ }
+
+ //ClassificationToClause:
+ // "to" qualifiedNameList=QualifiedNameList;
+ public ClassificationToClauseElements getClassificationToClauseAccess() {
+ return (pClassificationToClause != null) ? pClassificationToClause : (pClassificationToClause = new ClassificationToClauseElements());
+ }
+
+ public ParserRule getClassificationToClauseRule() {
+ return getClassificationToClauseAccess().getRule();
+ }
+
+ //ReclassifyAllClause:
+ // {ReclassifyAllClause} "from" "*";
+ public ReclassifyAllClauseElements getReclassifyAllClauseAccess() {
+ return (pReclassifyAllClause != null) ? pReclassifyAllClause : (pReclassifyAllClause = new ReclassifyAllClauseElements());
+ }
+
+ public ParserRule getReclassifyAllClauseRule() {
+ return getReclassifyAllClauseAccess().getRule();
+ }
+
+ //QualifiedNameList:
+ // qualifiedName+=QualifiedNameWithBinding ("," qualifiedName+=QualifiedNameWithBinding)*;
+ public QualifiedNameListElements getQualifiedNameListAccess() {
+ return (pQualifiedNameList != null) ? pQualifiedNameList : (pQualifiedNameList = new QualifiedNameListElements());
+ }
+
+ public ParserRule getQualifiedNameListRule() {
+ return getQualifiedNameListAccess().getRule();
+ }
+
+ //InvocationOrAssignementOrDeclarationStatement:
+ // typePart_OR_assignedPart_OR_invocationPart=NameExpression (variableDeclarationCompletion=VariableDeclarationCompletion //(suffixCompletion = SuffixCompletion)?
+ // | assignmentCompletion=AssignmentCompletion)? ";";
+ public InvocationOrAssignementOrDeclarationStatementElements getInvocationOrAssignementOrDeclarationStatementAccess() {
+ return (pInvocationOrAssignementOrDeclarationStatement != null) ? pInvocationOrAssignementOrDeclarationStatement : (pInvocationOrAssignementOrDeclarationStatement = new InvocationOrAssignementOrDeclarationStatementElements());
+ }
+
+ public ParserRule getInvocationOrAssignementOrDeclarationStatementRule() {
+ return getInvocationOrAssignementOrDeclarationStatementAccess().getRule();
+ }
+
+ //SuperInvocationStatement:
+ // _super=SuperInvocationExpression //(suffix = SuffixCompletion)? ';'
+ // ";";
+ public SuperInvocationStatementElements getSuperInvocationStatementAccess() {
+ return (pSuperInvocationStatement != null) ? pSuperInvocationStatement : (pSuperInvocationStatement = new SuperInvocationStatementElements());
+ }
+
+ public ParserRule getSuperInvocationStatementRule() {
+ return getSuperInvocationStatementAccess().getRule();
+ }
+
+ //ThisInvocationStatement: //_this = ThisExpression suffix = SuffixCompletion (assignmentCompletion = AssignmentCompletion)? ';'
+ // _this=ThisExpression assignmentCompletion=AssignmentCompletion? ";";
+ public ThisInvocationStatementElements getThisInvocationStatementAccess() {
+ return (pThisInvocationStatement != null) ? pThisInvocationStatement : (pThisInvocationStatement = new ThisInvocationStatementElements());
+ }
+
+ public ParserRule getThisInvocationStatementRule() {
+ return getThisInvocationStatementAccess().getRule();
+ }
+
+ //InstanceCreationInvocationStatement:
+ // _new=InstanceCreationExpression //(suffix = SuffixCompletion)? ';'
+ // ";";
+ public InstanceCreationInvocationStatementElements getInstanceCreationInvocationStatementAccess() {
+ return (pInstanceCreationInvocationStatement != null) ? pInstanceCreationInvocationStatement : (pInstanceCreationInvocationStatement = new InstanceCreationInvocationStatementElements());
+ }
+
+ public ParserRule getInstanceCreationInvocationStatementRule() {
+ return getInstanceCreationInvocationStatementAccess().getRule();
+ }
+
+ ////SuffixCompletion :
+ //// suffix = SuffixExpression
+ ////;
+ //VariableDeclarationCompletion:
+ // (multiplicityIndicator?="[" "]")? variableName=ID initValue=AssignmentCompletion;
+ public VariableDeclarationCompletionElements getVariableDeclarationCompletionAccess() {
+ return (pVariableDeclarationCompletion != null) ? pVariableDeclarationCompletion : (pVariableDeclarationCompletion = new VariableDeclarationCompletionElements());
+ }
+
+ public ParserRule getVariableDeclarationCompletionRule() {
+ return getVariableDeclarationCompletionAccess().getRule();
+ }
+
+ ////op=('=' | '+=' | '-=' | '*=' | '%=' | '/=' | '&=' |
+ //// '|=' | '^=' | '<<=' | '>>=' | '>>>=') rightHandSide = Expression
+ //AssignmentCompletion:
+ // op=AssignmentOperator rightHandSide=SequenceElement;
+ public AssignmentCompletionElements getAssignmentCompletionAccess() {
+ return (pAssignmentCompletion != null) ? pAssignmentCompletion : (pAssignmentCompletion = new AssignmentCompletionElements());
+ }
+
+ public ParserRule getAssignmentCompletionRule() {
+ return getAssignmentCompletionAccess().getRule();
+ }
+
+ //enum AssignmentOperator:
+ // ASSIGN="=" | PLUSASSIGN="+=" | MINUSASSIGN="-=" | MULTASSIGN="*=" | MODASSIGN="%=" | DIVASSIGN="/=" | ANDASSIGN="&=" |
+ // ORASSIGN="|=" | XORASSIGN="^=" | LSHIFTASSIGN="<<=" | RSHIFTASSIGN=">>=" | URSHIFTASSIGN=">>>=";
+ public AssignmentOperatorElements getAssignmentOperatorAccess() {
+ return (unknownRuleAssignmentOperator != null) ? unknownRuleAssignmentOperator : (unknownRuleAssignmentOperator = new AssignmentOperatorElements());
+ }
+
+ public EnumRule getAssignmentOperatorRule() {
+ return getAssignmentOperatorAccess().getRule();
+ }
+
+ /// ****************
+ // * Terminals
+ // ***************** / //terminal DOUBLE_COLON : '::' ;
+ //terminal ID:
+ // ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")* | "\'"->"\'";
+ public TerminalRule getIDRule() {
+ return (tID != null) ? tID : (tID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ID"));
+ }
+
+ //terminal STRING:
+ // "\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"";
+ public TerminalRule getSTRINGRule() {
+ return (tSTRING != null) ? tSTRING : (tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "STRING"));
+ }
+
+ //terminal ML_COMMENT:
+ // "/ *" !"@"->"* /";
+ public TerminalRule getML_COMMENTRule() {
+ return (tML_COMMENT != null) ? tML_COMMENT : (tML_COMMENT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ML_COMMENT"));
+ }
+
+ ////terminal IDENTIFIER : ID ;
+ ////terminal IDENTIFIER : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')* | ('\'' -> '\'') ;
+ ////terminal DOCUMENTATION_COMMENT : '/ *' -> '* /' ;
+ ////terminal ML_COMMENT : '/°' -> '°/';
+ ////terminal SL_COMMENT : '°°' !('\n'|'\r')* ('\r'? '\n')?;
+ ////terminal WS : (' '|'\t'|'\r'|'\n')+; terminal SL_COMMENT:
+ // "//" !("\n" | "\r" | "@")* ("\r"? "\n")?;
+ public TerminalRule getSL_COMMENTRule() {
+ return (tSL_COMMENT != null) ? tSL_COMMENT : (tSL_COMMENT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "SL_COMMENT"));
+ }
+
+ //terminal INT returns ecore::EInt:
+ // "0".."9"+;
+ public TerminalRule getINTRule() {
+ return gaTerminals.getINTRule();
+ }
+
+ //terminal WS:
+ // (" " | "\t" | "\r" | "\n")+;
+ public TerminalRule getWSRule() {
+ return gaTerminals.getWSRule();
+ }
+
+ //terminal ANY_OTHER:
+ // .;
+ public TerminalRule getANY_OTHERRule() {
+ return gaTerminals.getANY_OTHERRule();
+ }
+}
diff --git a/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/validation/AbstractAlfJavaValidator.java b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/validation/AbstractAlfJavaValidator.java
new file mode 100644
index 00000000000..b1b014f4a52
--- /dev/null
+++ b/extraplugins/alf09/src-gen/org/eclipse/papyrus/alf/validation/AbstractAlfJavaValidator.java
@@ -0,0 +1,20 @@
+package org.eclipse.papyrus.alf.validation;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.validation.AbstractDeclarativeValidator;
+import org.eclipse.xtext.validation.ComposedChecks;
+
+@ComposedChecks(validators= {org.eclipse.xtext.validation.ImportUriValidator.class})
+public class AbstractAlfJavaValidator extends AbstractDeclarativeValidator {
+
+ @Override
+ protected List<EPackage> getEPackages() {
+ List<EPackage> result = new ArrayList<EPackage>();
+ result.add(org.eclipse.papyrus.alf.alf.AlfPackage.eINSTANCE);
+ return result;
+ }
+
+}

Back to the top