/* * generated by Xtext */ package org.eclipse.etrice.core.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.etrice.core.services.RoomGrammarAccess; import com.google.inject.Inject; @SuppressWarnings("all") public class RoomParsetreeConstructor extends AbstractParseTreeConstructor { @Inject private RoomGrammarAccess 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 RoomModel_Group(this, this, 0, inst); case 1: return new RoomClass_Alternatives(this, this, 1, inst); case 2: return new StructureClass_Alternatives(this, this, 2, inst); case 3: return new ActorContainerClass_Alternatives(this, this, 3, inst); case 4: return new TypedID_Group(this, this, 4, inst); case 5: return new FreeTypedID_Group(this, this, 5, inst); case 6: return new Type_Alternatives(this, this, 6, inst); case 7: return new FreeType_Alternatives(this, this, 7, inst); case 8: return new DataClass_Group(this, this, 8, inst); case 9: return new Attribute_Group(this, this, 9, inst); case 10: return new Operation_Group(this, this, 10, inst); case 11: return new ProtocolClass_Group(this, this, 11, inst); case 12: return new Message_Group(this, this, 12, inst); case 13: return new PortClass_Group(this, this, 13, inst); case 14: return new MessageHandler_Group(this, this, 14, inst); case 15: return new ProtocolSemantics_Group(this, this, 15, inst); case 16: return new SemanticsRule_Alternatives(this, this, 16, inst); case 17: return new SemanticsInRule_Group(this, this, 17, inst); case 18: return new SemanticsOutRule_Group(this, this, 18, inst); case 19: return new ActorClass_Group(this, this, 19, inst); case 20: return new InterfaceItem_Alternatives(this, this, 20, inst); case 21: return new Port_Group(this, this, 21, inst); case 22: return new ExternalPort_Group(this, this, 22, inst); case 23: return new SAPRef_Group(this, this, 23, inst); case 24: return new SPPRef_Group(this, this, 24, inst); case 25: return new ServiceImplementation_Group(this, this, 25, inst); case 26: return new LogicalSystem_Group(this, this, 26, inst); case 27: return new ActorContainerRef_Alternatives(this, this, 27, inst); case 28: return new SubSystemRef_Group(this, this, 28, inst); case 29: return new SubSystemClass_Group(this, this, 29, inst); case 30: return new LogicalThread_Group(this, this, 30, inst); case 31: return new ActorInstancePath_Group(this, this, 31, inst); case 32: return new Binding_Group(this, this, 32, inst); case 33: return new BindingEndPoint_Group(this, this, 33, inst); case 34: return new LayerConnection_Group(this, this, 34, inst); case 35: return new SAPoint_Alternatives(this, this, 35, inst); case 36: return new RefSAPoint_Group(this, this, 36, inst); case 37: return new RelaySAPoint_Group(this, this, 37, inst); case 38: return new SPPoint_Group(this, this, 38, inst); case 39: return new ActorRef_Group(this, this, 39, inst); case 40: return new StateGraphNode_Alternatives(this, this, 40, inst); case 41: return new StateGraphItem_Alternatives(this, this, 41, inst); case 42: return new State_Alternatives(this, this, 42, inst); case 43: return new StateGraph_Group(this, this, 43, inst); case 44: return new StateMachine_Group(this, this, 44, inst); case 45: return new BaseState_Group(this, this, 45, inst); case 46: return new RefinedState_Group(this, this, 46, inst); case 47: return new DetailCode_Group(this, this, 47, inst); case 48: return new TrPoint_Alternatives(this, this, 48, inst); case 49: return new TransitionPoint_Group(this, this, 49, inst); case 50: return new EntryPoint_Group(this, this, 50, inst); case 51: return new ExitPoint_Group(this, this, 51, inst); case 52: return new ChoicePoint_Group(this, this, 52, inst); case 53: return new Transition_Alternatives(this, this, 53, inst); case 54: return new NonInitialTransition_Alternatives(this, this, 54, inst); case 55: return new InitialTransition_Group(this, this, 55, inst); case 56: return new ContinuationTransition_Group(this, this, 56, inst); case 57: return new TriggeredTransition_Group(this, this, 57, inst); case 58: return new CPBranchTransition_Group(this, this, 58, inst); case 59: return new TransitionTerminal_Alternatives(this, this, 59, inst); case 60: return new StateTerminal_StateAssignment(this, this, 60, inst); case 61: return new TrPointTerminal_Group(this, this, 61, inst); case 62: return new SubStateTrPointTerminal_Group(this, this, 62, inst); case 63: return new ChoicepointTerminal_Group(this, this, 63, inst); case 64: return new Trigger_Group(this, this, 64, inst); case 65: return new MessageFromIf_Group(this, this, 65, inst); case 66: return new Guard_Group(this, this, 66, inst); case 67: return new Import_Group(this, this, 67, inst); default: return null; } } } /************ begin Rule RoomModel **************** * * RoomModel: * "RoomModel" name=FQN "{" imports+=Import* (dataClasses+=DataClass | protocolClasses+=ProtocolClass | * actorClasses+=ActorClass | subSystemClasses+=SubSystemClass | systems+=LogicalSystem)+ "}"; * **/ // "RoomModel" name=FQN "{" imports+=Import* (dataClasses+=DataClass | protocolClasses+=ProtocolClass | // actorClasses+=ActorClass | subSystemClasses+=SubSystemClass | systems+=LogicalSystem)+ "}" protected class RoomModel_Group extends GroupToken { public RoomModel_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRoomModelAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RoomModel_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getRoomModelRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "RoomModel" protected class RoomModel_RoomModelKeyword_0 extends KeywordToken { public RoomModel_RoomModelKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRoomModelAccess().getRoomModelKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=FQN protected class RoomModel_NameAssignment_1 extends AssignmentToken { public RoomModel_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRoomModelAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RoomModel_RoomModelKeyword_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.getRoomModelAccess().getNameFQNParserRuleCall_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getRoomModelAccess().getNameFQNParserRuleCall_1_0(); return obj; } return null; } } // "{" protected class RoomModel_LeftCurlyBracketKeyword_2 extends KeywordToken { public RoomModel_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRoomModelAccess().getLeftCurlyBracketKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RoomModel_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // imports+=Import* protected class RoomModel_ImportsAssignment_3 extends AssignmentToken { public RoomModel_ImportsAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRoomModelAccess().getImportsAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Import_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("imports",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("imports"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getImportRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRoomModelAccess().getImportsImportParserRuleCall_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 RoomModel_ImportsAssignment_3(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new RoomModel_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // (dataClasses+=DataClass | protocolClasses+=ProtocolClass | actorClasses+=ActorClass | subSystemClasses+=SubSystemClass | // systems+=LogicalSystem)+ protected class RoomModel_Alternatives_4 extends AlternativesToken { public RoomModel_Alternatives_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getRoomModelAccess().getAlternatives_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RoomModel_DataClassesAssignment_4_0(lastRuleCallOrigin, this, 0, inst); case 1: return new RoomModel_ProtocolClassesAssignment_4_1(lastRuleCallOrigin, this, 1, inst); case 2: return new RoomModel_ActorClassesAssignment_4_2(lastRuleCallOrigin, this, 2, inst); case 3: return new RoomModel_SubSystemClassesAssignment_4_3(lastRuleCallOrigin, this, 3, inst); case 4: return new RoomModel_SystemsAssignment_4_4(lastRuleCallOrigin, this, 4, inst); default: return null; } } } // dataClasses+=DataClass protected class RoomModel_DataClassesAssignment_4_0 extends AssignmentToken { public RoomModel_DataClassesAssignment_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRoomModelAccess().getDataClassesAssignment_4_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DataClass_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("dataClasses",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("dataClasses"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getDataClassRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRoomModelAccess().getDataClassesDataClassParserRuleCall_4_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 RoomModel_Alternatives_4(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new RoomModel_ImportsAssignment_3(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new RoomModel_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // protocolClasses+=ProtocolClass protected class RoomModel_ProtocolClassesAssignment_4_1 extends AssignmentToken { public RoomModel_ProtocolClassesAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRoomModelAccess().getProtocolClassesAssignment_4_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("protocolClasses",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("protocolClasses"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getProtocolClassRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRoomModelAccess().getProtocolClassesProtocolClassParserRuleCall_4_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 RoomModel_Alternatives_4(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new RoomModel_ImportsAssignment_3(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new RoomModel_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // actorClasses+=ActorClass protected class RoomModel_ActorClassesAssignment_4_2 extends AssignmentToken { public RoomModel_ActorClassesAssignment_4_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRoomModelAccess().getActorClassesAssignment_4_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("actorClasses",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("actorClasses"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getActorClassRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRoomModelAccess().getActorClassesActorClassParserRuleCall_4_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 RoomModel_Alternatives_4(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new RoomModel_ImportsAssignment_3(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new RoomModel_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // subSystemClasses+=SubSystemClass protected class RoomModel_SubSystemClassesAssignment_4_3 extends AssignmentToken { public RoomModel_SubSystemClassesAssignment_4_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRoomModelAccess().getSubSystemClassesAssignment_4_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SubSystemClass_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("subSystemClasses",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("subSystemClasses"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getSubSystemClassRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRoomModelAccess().getSubSystemClassesSubSystemClassParserRuleCall_4_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 RoomModel_Alternatives_4(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new RoomModel_ImportsAssignment_3(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new RoomModel_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // systems+=LogicalSystem protected class RoomModel_SystemsAssignment_4_4 extends AssignmentToken { public RoomModel_SystemsAssignment_4_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRoomModelAccess().getSystemsAssignment_4_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LogicalSystem_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("systems",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("systems"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getLogicalSystemRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRoomModelAccess().getSystemsLogicalSystemParserRuleCall_4_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 RoomModel_Alternatives_4(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new RoomModel_ImportsAssignment_3(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new RoomModel_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class RoomModel_RightCurlyBracketKeyword_5 extends KeywordToken { public RoomModel_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRoomModelAccess().getRightCurlyBracketKeyword_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RoomModel_Alternatives_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule RoomModel ****************/ /************ begin Rule RoomClass **************** * * RoomClass: * DataClass | ProtocolClass | StructureClass; * **/ // DataClass | ProtocolClass | StructureClass protected class RoomClass_Alternatives extends AlternativesToken { public RoomClass_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getRoomClassAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RoomClass_DataClassParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new RoomClass_ProtocolClassParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); case 2: return new RoomClass_StructureClassParserRuleCall_2(lastRuleCallOrigin, this, 2, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getActorClassRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getDataClassRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getLogicalSystemRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getProtocolClassRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSubSystemClassRule().getType().getClassifier()) return null; return eObjectConsumer; } } // DataClass protected class RoomClass_DataClassParserRuleCall_0 extends RuleCallToken { public RoomClass_DataClassParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getRoomClassAccess().getDataClassParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DataClass_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getDataClassRule().getType().getClassifier()) return null; if(checkForRecursion(DataClass_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); } } } // ProtocolClass protected class RoomClass_ProtocolClassParserRuleCall_1 extends RuleCallToken { public RoomClass_ProtocolClassParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getRoomClassAccess().getProtocolClassParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getProtocolClassRule().getType().getClassifier()) return null; if(checkForRecursion(ProtocolClass_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); } } } // StructureClass protected class RoomClass_StructureClassParserRuleCall_2 extends RuleCallToken { public RoomClass_StructureClassParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getRoomClassAccess().getStructureClassParserRuleCall_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new StructureClass_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getActorClassRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getLogicalSystemRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSubSystemClassRule().getType().getClassifier()) return null; if(checkForRecursion(StructureClass_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); } } } /************ end Rule RoomClass ****************/ /************ begin Rule StructureClass **************** * * StructureClass: * ActorContainerClass | LogicalSystem; * **/ // ActorContainerClass | LogicalSystem protected class StructureClass_Alternatives extends AlternativesToken { public StructureClass_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getStructureClassAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new StructureClass_ActorContainerClassParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new StructureClass_LogicalSystemParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getActorClassRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getLogicalSystemRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSubSystemClassRule().getType().getClassifier()) return null; return eObjectConsumer; } } // ActorContainerClass protected class StructureClass_ActorContainerClassParserRuleCall_0 extends RuleCallToken { public StructureClass_ActorContainerClassParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getStructureClassAccess().getActorContainerClassParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorContainerClass_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getActorClassRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSubSystemClassRule().getType().getClassifier()) return null; if(checkForRecursion(ActorContainerClass_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); } } } // LogicalSystem protected class StructureClass_LogicalSystemParserRuleCall_1 extends RuleCallToken { public StructureClass_LogicalSystemParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getStructureClassAccess().getLogicalSystemParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LogicalSystem_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getLogicalSystemRule().getType().getClassifier()) return null; if(checkForRecursion(LogicalSystem_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 StructureClass ****************/ /************ begin Rule ActorContainerClass **************** * * ActorContainerClass: * ActorClass | SubSystemClass; * **/ // ActorClass | SubSystemClass protected class ActorContainerClass_Alternatives extends AlternativesToken { public ActorContainerClass_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getActorContainerClassAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorContainerClass_ActorClassParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new ActorContainerClass_SubSystemClassParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getActorClassRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSubSystemClassRule().getType().getClassifier()) return null; return eObjectConsumer; } } // ActorClass protected class ActorContainerClass_ActorClassParserRuleCall_0 extends RuleCallToken { public ActorContainerClass_ActorClassParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getActorContainerClassAccess().getActorClassParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getActorClassRule().getType().getClassifier()) return null; if(checkForRecursion(ActorClass_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); } } } // SubSystemClass protected class ActorContainerClass_SubSystemClassParserRuleCall_1 extends RuleCallToken { public ActorContainerClass_SubSystemClassParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getActorContainerClassAccess().getSubSystemClassParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SubSystemClass_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSubSystemClassRule().getType().getClassifier()) return null; if(checkForRecursion(SubSystemClass_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 ActorContainerClass ****************/ /************ begin Rule TypedID **************** * * TypedID: * name=ID ":" type=Type; * **/ // name=ID ":" type=Type protected class TypedID_Group extends GroupToken { public TypedID_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypedIDAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TypedID_TypeAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getTypedIDRule().getType().getClassifier()) return null; return eObjectConsumer; } } // name=ID protected class TypedID_NameAssignment_0 extends AssignmentToken { public TypedID_NameAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypedIDAccess().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.getTypedIDAccess().getNameIDTerminalRuleCall_0_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getTypedIDAccess().getNameIDTerminalRuleCall_0_0(); return obj; } return null; } } // ":" protected class TypedID_ColonKeyword_1 extends KeywordToken { public TypedID_ColonKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypedIDAccess().getColonKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TypedID_NameAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // type=Type protected class TypedID_TypeAssignment_2 extends AssignmentToken { public TypedID_TypeAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypedIDAccess().getTypeAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Type_Alternatives(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.getTypeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypedIDAccess().getTypeTypeParserRuleCall_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 TypedID_ColonKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule TypedID ****************/ /************ begin Rule FreeTypedID **************** * * FreeTypedID: * name=ID ":" type=FreeType; * **/ // name=ID ":" type=FreeType protected class FreeTypedID_Group extends GroupToken { public FreeTypedID_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getFreeTypedIDAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new FreeTypedID_TypeAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getFreeTypedIDRule().getType().getClassifier()) return null; return eObjectConsumer; } } // name=ID protected class FreeTypedID_NameAssignment_0 extends AssignmentToken { public FreeTypedID_NameAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFreeTypedIDAccess().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.getFreeTypedIDAccess().getNameIDTerminalRuleCall_0_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getFreeTypedIDAccess().getNameIDTerminalRuleCall_0_0(); return obj; } return null; } } // ":" protected class FreeTypedID_ColonKeyword_1 extends KeywordToken { public FreeTypedID_ColonKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFreeTypedIDAccess().getColonKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new FreeTypedID_NameAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // type=FreeType protected class FreeTypedID_TypeAssignment_2 extends AssignmentToken { public FreeTypedID_TypeAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFreeTypedIDAccess().getTypeAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new FreeType_Alternatives(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.getFreeTypeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getFreeTypedIDAccess().getTypeFreeTypeParserRuleCall_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 FreeTypedID_ColonKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule FreeTypedID ****************/ /************ begin Rule Type **************** * * Type: * prim=PrimitiveType | type=[DataClass|FQN]; * **/ // prim=PrimitiveType | type=[DataClass|FQN] protected class Type_Alternatives extends AlternativesToken { public Type_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getTypeAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Type_PrimAssignment_0(lastRuleCallOrigin, this, 0, inst); case 1: return new Type_TypeAssignment_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getTypeRule().getType().getClassifier()) return null; return eObjectConsumer; } } // prim=PrimitiveType protected class Type_PrimAssignment_0 extends AssignmentToken { public Type_PrimAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAccess().getPrimAssignment_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("prim",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("prim"); if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getTypeAccess().getPrimPrimitiveTypeEnumRuleCall_0_0(), value, null)) { type = AssignmentType.ENUM_RULE_CALL; element = grammarAccess.getTypeAccess().getPrimPrimitiveTypeEnumRuleCall_0_0(); return obj; } return null; } } // type=[DataClass|FQN] protected class Type_TypeAssignment_1 extends AssignmentToken { public Type_TypeAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAccess().getTypeAssignment_1(); } @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("type",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getTypeAccess().getTypeDataClassCrossReference_1_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getTypeAccess().getTypeDataClassCrossReference_1_0(); return obj; } } return null; } } /************ end Rule Type ****************/ /************ begin Rule FreeType **************** * * FreeType: * prim=PrimitiveType | type=ID; * **/ // prim=PrimitiveType | type=ID protected class FreeType_Alternatives extends AlternativesToken { public FreeType_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getFreeTypeAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new FreeType_PrimAssignment_0(lastRuleCallOrigin, this, 0, inst); case 1: return new FreeType_TypeAssignment_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getFreeTypeRule().getType().getClassifier()) return null; return eObjectConsumer; } } // prim=PrimitiveType protected class FreeType_PrimAssignment_0 extends AssignmentToken { public FreeType_PrimAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFreeTypeAccess().getPrimAssignment_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("prim",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("prim"); if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getFreeTypeAccess().getPrimPrimitiveTypeEnumRuleCall_0_0(), value, null)) { type = AssignmentType.ENUM_RULE_CALL; element = grammarAccess.getFreeTypeAccess().getPrimPrimitiveTypeEnumRuleCall_0_0(); return obj; } return null; } } // type=ID protected class FreeType_TypeAssignment_1 extends AssignmentToken { public FreeType_TypeAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFreeTypeAccess().getTypeAssignment_1(); } @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("type",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getFreeTypeAccess().getTypeIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getFreeTypeAccess().getTypeIDTerminalRuleCall_1_0(); return obj; } return null; } } /************ end Rule FreeType ****************/ /************ begin Rule DataClass **************** * * // TODOHRR: define detail level language? * * DataClass: * "DataClass" name=ID ("extends" base=[DataClass|FQN])? "{" imports+=Import* attributes+=Attribute+ * operations+=Operation* "}"; * **/ // "DataClass" name=ID ("extends" base=[DataClass|FQN])? "{" imports+=Import* attributes+=Attribute+ operations+=Operation* // "}" protected class DataClass_Group extends GroupToken { public DataClass_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getDataClassAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DataClass_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getDataClassRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "DataClass" protected class DataClass_DataClassKeyword_0 extends KeywordToken { public DataClass_DataClassKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getDataClassAccess().getDataClassKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID protected class DataClass_NameAssignment_1 extends AssignmentToken { public DataClass_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getDataClassAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DataClass_DataClassKeyword_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.getDataClassAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getDataClassAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } // ("extends" base=[DataClass|FQN])? protected class DataClass_Group_2 extends GroupToken { public DataClass_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getDataClassAccess().getGroup_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DataClass_BaseAssignment_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "extends" protected class DataClass_ExtendsKeyword_2_0 extends KeywordToken { public DataClass_ExtendsKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getDataClassAccess().getExtendsKeyword_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DataClass_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // base=[DataClass|FQN] protected class DataClass_BaseAssignment_2_1 extends AssignmentToken { public DataClass_BaseAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getDataClassAccess().getBaseAssignment_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DataClass_ExtendsKeyword_2_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("base",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("base"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getDataClassAccess().getBaseDataClassCrossReference_2_1_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getDataClassAccess().getBaseDataClassCrossReference_2_1_0(); return obj; } } return null; } } // "{" protected class DataClass_LeftCurlyBracketKeyword_3 extends KeywordToken { public DataClass_LeftCurlyBracketKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getDataClassAccess().getLeftCurlyBracketKeyword_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DataClass_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new DataClass_NameAssignment_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // imports+=Import* protected class DataClass_ImportsAssignment_4 extends AssignmentToken { public DataClass_ImportsAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getDataClassAccess().getImportsAssignment_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Import_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("imports",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("imports"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getImportRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getDataClassAccess().getImportsImportParserRuleCall_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 DataClass_ImportsAssignment_4(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new DataClass_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // attributes+=Attribute+ protected class DataClass_AttributesAssignment_5 extends AssignmentToken { public DataClass_AttributesAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getDataClassAccess().getAttributesAssignment_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Attribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("attributes",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("attributes"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getAttributeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getDataClassAccess().getAttributesAttributeParserRuleCall_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 DataClass_AttributesAssignment_5(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new DataClass_ImportsAssignment_4(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new DataClass_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // operations+=Operation* protected class DataClass_OperationsAssignment_6 extends AssignmentToken { public DataClass_OperationsAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getDataClassAccess().getOperationsAssignment_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Operation_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("operations",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operations"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getOperationRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getDataClassAccess().getOperationsOperationParserRuleCall_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 DataClass_OperationsAssignment_6(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new DataClass_AttributesAssignment_5(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class DataClass_RightCurlyBracketKeyword_7 extends KeywordToken { public DataClass_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getDataClassAccess().getRightCurlyBracketKeyword_7(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DataClass_OperationsAssignment_6(lastRuleCallOrigin, this, 0, inst); case 1: return new DataClass_AttributesAssignment_5(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule DataClass ****************/ /************ begin Rule Attribute **************** * * Attribute: * "Attribute" name=ID ("[" size=INT "]")? ":" type=Type; * **/ // "Attribute" name=ID ("[" size=INT "]")? ":" type=Type protected class Attribute_Group extends GroupToken { public Attribute_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getAttributeAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Attribute_TypeAssignment_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getAttributeRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "Attribute" protected class Attribute_AttributeKeyword_0 extends KeywordToken { public Attribute_AttributeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getAttributeAccess().getAttributeKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID protected class Attribute_NameAssignment_1 extends AssignmentToken { public Attribute_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getAttributeAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Attribute_AttributeKeyword_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.getAttributeAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getAttributeAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } // ("[" size=INT "]")? protected class Attribute_Group_2 extends GroupToken { public Attribute_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getAttributeAccess().getGroup_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Attribute_RightSquareBracketKeyword_2_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "[" protected class Attribute_LeftSquareBracketKeyword_2_0 extends KeywordToken { public Attribute_LeftSquareBracketKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getAttributeAccess().getLeftSquareBracketKeyword_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Attribute_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // size=INT protected class Attribute_SizeAssignment_2_1 extends AssignmentToken { public Attribute_SizeAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getAttributeAccess().getSizeAssignment_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Attribute_LeftSquareBracketKeyword_2_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("size",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("size"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAttributeAccess().getSizeINTTerminalRuleCall_2_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getAttributeAccess().getSizeINTTerminalRuleCall_2_1_0(); return obj; } return null; } } // "]" protected class Attribute_RightSquareBracketKeyword_2_2 extends KeywordToken { public Attribute_RightSquareBracketKeyword_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getAttributeAccess().getRightSquareBracketKeyword_2_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Attribute_SizeAssignment_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ":" protected class Attribute_ColonKeyword_3 extends KeywordToken { public Attribute_ColonKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getAttributeAccess().getColonKeyword_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Attribute_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new Attribute_NameAssignment_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // type=Type protected class Attribute_TypeAssignment_4 extends AssignmentToken { public Attribute_TypeAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getAttributeAccess().getTypeAssignment_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Type_Alternatives(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.getTypeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getAttributeAccess().getTypeTypeParserRuleCall_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 Attribute_ColonKeyword_3(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Attribute ****************/ /************ begin Rule Operation **************** * * // TODOHRR: pass arguments and return value by value/reference * * Operation: * "Operation" name=ID "(" (arguments+=FreeTypedID ("," arguments+=FreeTypedID)*)? ")" (":" returntype=FreeType)? * detailCode=DetailCode; * **/ // "Operation" name=ID "(" (arguments+=FreeTypedID ("," arguments+=FreeTypedID)*)? ")" (":" returntype=FreeType)? // detailCode=DetailCode protected class Operation_Group extends GroupToken { public Operation_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getOperationAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Operation_DetailCodeAssignment_6(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getOperationRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "Operation" protected class Operation_OperationKeyword_0 extends KeywordToken { public Operation_OperationKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getOperationAccess().getOperationKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID protected class Operation_NameAssignment_1 extends AssignmentToken { public Operation_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getOperationAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Operation_OperationKeyword_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.getOperationAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getOperationAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } // "(" protected class Operation_LeftParenthesisKeyword_2 extends KeywordToken { public Operation_LeftParenthesisKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getOperationAccess().getLeftParenthesisKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Operation_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // (arguments+=FreeTypedID ("," arguments+=FreeTypedID)*)? protected class Operation_Group_3 extends GroupToken { public Operation_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getOperationAccess().getGroup_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Operation_Group_3_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Operation_ArgumentsAssignment_3_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // arguments+=FreeTypedID protected class Operation_ArgumentsAssignment_3_0 extends AssignmentToken { public Operation_ArgumentsAssignment_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getOperationAccess().getArgumentsAssignment_3_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new FreeTypedID_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("arguments",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("arguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getFreeTypedIDRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getOperationAccess().getArgumentsFreeTypedIDParserRuleCall_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 Operation_LeftParenthesisKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," arguments+=FreeTypedID)* protected class Operation_Group_3_1 extends GroupToken { public Operation_Group_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getOperationAccess().getGroup_3_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Operation_ArgumentsAssignment_3_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class Operation_CommaKeyword_3_1_0 extends KeywordToken { public Operation_CommaKeyword_3_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getOperationAccess().getCommaKeyword_3_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Operation_Group_3_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Operation_ArgumentsAssignment_3_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // arguments+=FreeTypedID protected class Operation_ArgumentsAssignment_3_1_1 extends AssignmentToken { public Operation_ArgumentsAssignment_3_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getOperationAccess().getArgumentsAssignment_3_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new FreeTypedID_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("arguments",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("arguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getFreeTypedIDRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getOperationAccess().getArgumentsFreeTypedIDParserRuleCall_3_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 Operation_CommaKeyword_3_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class Operation_RightParenthesisKeyword_4 extends KeywordToken { public Operation_RightParenthesisKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getOperationAccess().getRightParenthesisKeyword_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Operation_Group_3(lastRuleCallOrigin, this, 0, inst); case 1: return new Operation_LeftParenthesisKeyword_2(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // (":" returntype=FreeType)? protected class Operation_Group_5 extends GroupToken { public Operation_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getOperationAccess().getGroup_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Operation_ReturntypeAssignment_5_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ":" protected class Operation_ColonKeyword_5_0 extends KeywordToken { public Operation_ColonKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getOperationAccess().getColonKeyword_5_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Operation_RightParenthesisKeyword_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // returntype=FreeType protected class Operation_ReturntypeAssignment_5_1 extends AssignmentToken { public Operation_ReturntypeAssignment_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getOperationAccess().getReturntypeAssignment_5_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new FreeType_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("returntype",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("returntype"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getFreeTypeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getOperationAccess().getReturntypeFreeTypeParserRuleCall_5_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 Operation_ColonKeyword_5_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // detailCode=DetailCode protected class Operation_DetailCodeAssignment_6 extends AssignmentToken { public Operation_DetailCodeAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getOperationAccess().getDetailCodeAssignment_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("detailCode",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("detailCode"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getDetailCodeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getOperationAccess().getDetailCodeDetailCodeParserRuleCall_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 Operation_Group_5(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new Operation_RightParenthesisKeyword_4(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Operation ****************/ /************ begin Rule ProtocolClass **************** * * // ************************************************************** * * // protocol class * * ProtocolClass: * "ProtocolClass" name=ID ("extends" base=[ProtocolClass|FQN])? "{" ("usercode1" userCode1=DetailCode)? ("usercode2" * userCode2=DetailCode)? "incoming" "{" incomingMessages+=Message* "}" "outgoing" "{" outgoingMessages+=Message* "}" * ("regular" "PortClass" regular=PortClass)? ("conjugate" "PortClass" conjugate=PortClass)? semantics=ProtocolSemantics? * "}"; * **/ // "ProtocolClass" name=ID ("extends" base=[ProtocolClass|FQN])? "{" ("usercode1" userCode1=DetailCode)? ("usercode2" // userCode2=DetailCode)? "incoming" "{" incomingMessages+=Message* "}" "outgoing" "{" outgoingMessages+=Message* "}" // ("regular" "PortClass" regular=PortClass)? ("conjugate" "PortClass" conjugate=PortClass)? semantics=ProtocolSemantics? // "}" protected class ProtocolClass_Group extends GroupToken { public ProtocolClass_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getProtocolClassAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_RightCurlyBracketKeyword_17(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getProtocolClassRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "ProtocolClass" protected class ProtocolClass_ProtocolClassKeyword_0 extends KeywordToken { public ProtocolClass_ProtocolClassKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getProtocolClassAccess().getProtocolClassKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID protected class ProtocolClass_NameAssignment_1 extends AssignmentToken { public ProtocolClass_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getProtocolClassAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_ProtocolClassKeyword_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.getProtocolClassAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getProtocolClassAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } // ("extends" base=[ProtocolClass|FQN])? protected class ProtocolClass_Group_2 extends GroupToken { public ProtocolClass_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getProtocolClassAccess().getGroup_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_BaseAssignment_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "extends" protected class ProtocolClass_ExtendsKeyword_2_0 extends KeywordToken { public ProtocolClass_ExtendsKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getProtocolClassAccess().getExtendsKeyword_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // base=[ProtocolClass|FQN] protected class ProtocolClass_BaseAssignment_2_1 extends AssignmentToken { public ProtocolClass_BaseAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getProtocolClassAccess().getBaseAssignment_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_ExtendsKeyword_2_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("base",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("base"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getProtocolClassAccess().getBaseProtocolClassCrossReference_2_1_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getProtocolClassAccess().getBaseProtocolClassCrossReference_2_1_0(); return obj; } } return null; } } // "{" protected class ProtocolClass_LeftCurlyBracketKeyword_3 extends KeywordToken { public ProtocolClass_LeftCurlyBracketKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new ProtocolClass_NameAssignment_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // ("usercode1" userCode1=DetailCode)? protected class ProtocolClass_Group_4 extends GroupToken { public ProtocolClass_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getProtocolClassAccess().getGroup_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_UserCode1Assignment_4_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "usercode1" protected class ProtocolClass_Usercode1Keyword_4_0 extends KeywordToken { public ProtocolClass_Usercode1Keyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getProtocolClassAccess().getUsercode1Keyword_4_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // userCode1=DetailCode protected class ProtocolClass_UserCode1Assignment_4_1 extends AssignmentToken { public ProtocolClass_UserCode1Assignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getProtocolClassAccess().getUserCode1Assignment_4_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("userCode1",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("userCode1"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getDetailCodeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getProtocolClassAccess().getUserCode1DetailCodeParserRuleCall_4_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 ProtocolClass_Usercode1Keyword_4_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("usercode2" userCode2=DetailCode)? protected class ProtocolClass_Group_5 extends GroupToken { public ProtocolClass_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getProtocolClassAccess().getGroup_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_UserCode2Assignment_5_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "usercode2" protected class ProtocolClass_Usercode2Keyword_5_0 extends KeywordToken { public ProtocolClass_Usercode2Keyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getProtocolClassAccess().getUsercode2Keyword_5_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_Group_4(lastRuleCallOrigin, this, 0, inst); case 1: return new ProtocolClass_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // userCode2=DetailCode protected class ProtocolClass_UserCode2Assignment_5_1 extends AssignmentToken { public ProtocolClass_UserCode2Assignment_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getProtocolClassAccess().getUserCode2Assignment_5_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("userCode2",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("userCode2"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getDetailCodeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getProtocolClassAccess().getUserCode2DetailCodeParserRuleCall_5_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 ProtocolClass_Usercode2Keyword_5_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "incoming" protected class ProtocolClass_IncomingKeyword_6 extends KeywordToken { public ProtocolClass_IncomingKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getProtocolClassAccess().getIncomingKeyword_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_Group_5(lastRuleCallOrigin, this, 0, inst); case 1: return new ProtocolClass_Group_4(lastRuleCallOrigin, this, 1, inst); case 2: return new ProtocolClass_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, this, 2, inst); default: return null; } } } // "{" protected class ProtocolClass_LeftCurlyBracketKeyword_7 extends KeywordToken { public ProtocolClass_LeftCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_7(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_IncomingKeyword_6(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // incomingMessages+=Message* protected class ProtocolClass_IncomingMessagesAssignment_8 extends AssignmentToken { public ProtocolClass_IncomingMessagesAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getProtocolClassAccess().getIncomingMessagesAssignment_8(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Message_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("incomingMessages",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("incomingMessages"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getMessageRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getProtocolClassAccess().getIncomingMessagesMessageParserRuleCall_8_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 ProtocolClass_IncomingMessagesAssignment_8(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ProtocolClass_LeftCurlyBracketKeyword_7(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class ProtocolClass_RightCurlyBracketKeyword_9 extends KeywordToken { public ProtocolClass_RightCurlyBracketKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_9(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_IncomingMessagesAssignment_8(lastRuleCallOrigin, this, 0, inst); case 1: return new ProtocolClass_LeftCurlyBracketKeyword_7(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "outgoing" protected class ProtocolClass_OutgoingKeyword_10 extends KeywordToken { public ProtocolClass_OutgoingKeyword_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getProtocolClassAccess().getOutgoingKeyword_10(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_RightCurlyBracketKeyword_9(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "{" protected class ProtocolClass_LeftCurlyBracketKeyword_11 extends KeywordToken { public ProtocolClass_LeftCurlyBracketKeyword_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_11(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_OutgoingKeyword_10(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // outgoingMessages+=Message* protected class ProtocolClass_OutgoingMessagesAssignment_12 extends AssignmentToken { public ProtocolClass_OutgoingMessagesAssignment_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getProtocolClassAccess().getOutgoingMessagesAssignment_12(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Message_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("outgoingMessages",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("outgoingMessages"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getMessageRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getProtocolClassAccess().getOutgoingMessagesMessageParserRuleCall_12_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 ProtocolClass_OutgoingMessagesAssignment_12(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ProtocolClass_LeftCurlyBracketKeyword_11(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class ProtocolClass_RightCurlyBracketKeyword_13 extends KeywordToken { public ProtocolClass_RightCurlyBracketKeyword_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_13(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_OutgoingMessagesAssignment_12(lastRuleCallOrigin, this, 0, inst); case 1: return new ProtocolClass_LeftCurlyBracketKeyword_11(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // ("regular" "PortClass" regular=PortClass)? protected class ProtocolClass_Group_14 extends GroupToken { public ProtocolClass_Group_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getProtocolClassAccess().getGroup_14(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_RegularAssignment_14_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "regular" protected class ProtocolClass_RegularKeyword_14_0 extends KeywordToken { public ProtocolClass_RegularKeyword_14_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getProtocolClassAccess().getRegularKeyword_14_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_RightCurlyBracketKeyword_13(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "PortClass" protected class ProtocolClass_PortClassKeyword_14_1 extends KeywordToken { public ProtocolClass_PortClassKeyword_14_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getProtocolClassAccess().getPortClassKeyword_14_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_RegularKeyword_14_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // regular=PortClass protected class ProtocolClass_RegularAssignment_14_2 extends AssignmentToken { public ProtocolClass_RegularAssignment_14_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getProtocolClassAccess().getRegularAssignment_14_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new PortClass_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("regular",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("regular"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getPortClassRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getProtocolClassAccess().getRegularPortClassParserRuleCall_14_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 ProtocolClass_PortClassKeyword_14_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("conjugate" "PortClass" conjugate=PortClass)? protected class ProtocolClass_Group_15 extends GroupToken { public ProtocolClass_Group_15(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getProtocolClassAccess().getGroup_15(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_ConjugateAssignment_15_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "conjugate" protected class ProtocolClass_ConjugateKeyword_15_0 extends KeywordToken { public ProtocolClass_ConjugateKeyword_15_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getProtocolClassAccess().getConjugateKeyword_15_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_Group_14(lastRuleCallOrigin, this, 0, inst); case 1: return new ProtocolClass_RightCurlyBracketKeyword_13(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "PortClass" protected class ProtocolClass_PortClassKeyword_15_1 extends KeywordToken { public ProtocolClass_PortClassKeyword_15_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getProtocolClassAccess().getPortClassKeyword_15_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_ConjugateKeyword_15_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // conjugate=PortClass protected class ProtocolClass_ConjugateAssignment_15_2 extends AssignmentToken { public ProtocolClass_ConjugateAssignment_15_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getProtocolClassAccess().getConjugateAssignment_15_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new PortClass_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("conjugate",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("conjugate"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getPortClassRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getProtocolClassAccess().getConjugatePortClassParserRuleCall_15_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 ProtocolClass_PortClassKeyword_15_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // semantics=ProtocolSemantics? protected class ProtocolClass_SemanticsAssignment_16 extends AssignmentToken { public ProtocolClass_SemanticsAssignment_16(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getProtocolClassAccess().getSemanticsAssignment_16(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolSemantics_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("semantics",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("semantics"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getProtocolSemanticsRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getProtocolClassAccess().getSemanticsProtocolSemanticsParserRuleCall_16_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 ProtocolClass_Group_15(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ProtocolClass_Group_14(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new ProtocolClass_RightCurlyBracketKeyword_13(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class ProtocolClass_RightCurlyBracketKeyword_17 extends KeywordToken { public ProtocolClass_RightCurlyBracketKeyword_17(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_17(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolClass_SemanticsAssignment_16(lastRuleCallOrigin, this, 0, inst); case 1: return new ProtocolClass_Group_15(lastRuleCallOrigin, this, 1, inst); case 2: return new ProtocolClass_Group_14(lastRuleCallOrigin, this, 2, inst); case 3: return new ProtocolClass_RightCurlyBracketKeyword_13(lastRuleCallOrigin, this, 3, inst); default: return null; } } } /************ end Rule ProtocolClass ****************/ /************ begin Rule Message **************** * * Message: * "Message" name=ID "(" (arguments+=TypedID ("," arguments+=TypedID)*)? ")"; * **/ // "Message" name=ID "(" (arguments+=TypedID ("," arguments+=TypedID)*)? ")" protected class Message_Group extends GroupToken { public Message_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getMessageAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Message_RightParenthesisKeyword_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getMessageRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "Message" protected class Message_MessageKeyword_0 extends KeywordToken { public Message_MessageKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getMessageAccess().getMessageKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID protected class Message_NameAssignment_1 extends AssignmentToken { public Message_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getMessageAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Message_MessageKeyword_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.getMessageAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getMessageAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } // "(" protected class Message_LeftParenthesisKeyword_2 extends KeywordToken { public Message_LeftParenthesisKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getMessageAccess().getLeftParenthesisKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Message_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // (arguments+=TypedID ("," arguments+=TypedID)*)? protected class Message_Group_3 extends GroupToken { public Message_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getMessageAccess().getGroup_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Message_Group_3_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Message_ArgumentsAssignment_3_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // arguments+=TypedID protected class Message_ArgumentsAssignment_3_0 extends AssignmentToken { public Message_ArgumentsAssignment_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getMessageAccess().getArgumentsAssignment_3_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TypedID_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("arguments",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("arguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getTypedIDRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getMessageAccess().getArgumentsTypedIDParserRuleCall_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 Message_LeftParenthesisKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," arguments+=TypedID)* protected class Message_Group_3_1 extends GroupToken { public Message_Group_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getMessageAccess().getGroup_3_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Message_ArgumentsAssignment_3_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class Message_CommaKeyword_3_1_0 extends KeywordToken { public Message_CommaKeyword_3_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getMessageAccess().getCommaKeyword_3_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Message_Group_3_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Message_ArgumentsAssignment_3_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // arguments+=TypedID protected class Message_ArgumentsAssignment_3_1_1 extends AssignmentToken { public Message_ArgumentsAssignment_3_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getMessageAccess().getArgumentsAssignment_3_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TypedID_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("arguments",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("arguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getTypedIDRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getMessageAccess().getArgumentsTypedIDParserRuleCall_3_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 Message_CommaKeyword_3_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class Message_RightParenthesisKeyword_4 extends KeywordToken { public Message_RightParenthesisKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getMessageAccess().getRightParenthesisKeyword_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Message_Group_3(lastRuleCallOrigin, this, 0, inst); case 1: return new Message_LeftParenthesisKeyword_2(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule Message ****************/ /************ begin Rule PortClass **************** * * PortClass: * "{" ("usercode" userCode=DetailCode)? (attributes+=Attribute | operations+=Operation | msgHandlers+=MessageHandler)+ * "}"; * **/ // "{" ("usercode" userCode=DetailCode)? (attributes+=Attribute | operations+=Operation | msgHandlers+=MessageHandler)+ "}" protected class PortClass_Group extends GroupToken { public PortClass_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getPortClassAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new PortClass_RightCurlyBracketKeyword_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getPortClassRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "{" protected class PortClass_LeftCurlyBracketKeyword_0 extends KeywordToken { public PortClass_LeftCurlyBracketKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getPortClassAccess().getLeftCurlyBracketKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // ("usercode" userCode=DetailCode)? protected class PortClass_Group_1 extends GroupToken { public PortClass_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getPortClassAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new PortClass_UserCodeAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "usercode" protected class PortClass_UsercodeKeyword_1_0 extends KeywordToken { public PortClass_UsercodeKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getPortClassAccess().getUsercodeKeyword_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new PortClass_LeftCurlyBracketKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // userCode=DetailCode protected class PortClass_UserCodeAssignment_1_1 extends AssignmentToken { public PortClass_UserCodeAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getPortClassAccess().getUserCodeAssignment_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("userCode",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("userCode"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getDetailCodeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getPortClassAccess().getUserCodeDetailCodeParserRuleCall_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 PortClass_UsercodeKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // (attributes+=Attribute | operations+=Operation | msgHandlers+=MessageHandler)+ protected class PortClass_Alternatives_2 extends AlternativesToken { public PortClass_Alternatives_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getPortClassAccess().getAlternatives_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new PortClass_AttributesAssignment_2_0(lastRuleCallOrigin, this, 0, inst); case 1: return new PortClass_OperationsAssignment_2_1(lastRuleCallOrigin, this, 1, inst); case 2: return new PortClass_MsgHandlersAssignment_2_2(lastRuleCallOrigin, this, 2, inst); default: return null; } } } // attributes+=Attribute protected class PortClass_AttributesAssignment_2_0 extends AssignmentToken { public PortClass_AttributesAssignment_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getPortClassAccess().getAttributesAssignment_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Attribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("attributes",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("attributes"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getAttributeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getPortClassAccess().getAttributesAttributeParserRuleCall_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 PortClass_Alternatives_2(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new PortClass_Group_1(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new PortClass_LeftCurlyBracketKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // operations+=Operation protected class PortClass_OperationsAssignment_2_1 extends AssignmentToken { public PortClass_OperationsAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getPortClassAccess().getOperationsAssignment_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Operation_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("operations",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operations"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getOperationRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getPortClassAccess().getOperationsOperationParserRuleCall_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 PortClass_Alternatives_2(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new PortClass_Group_1(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new PortClass_LeftCurlyBracketKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // msgHandlers+=MessageHandler protected class PortClass_MsgHandlersAssignment_2_2 extends AssignmentToken { public PortClass_MsgHandlersAssignment_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getPortClassAccess().getMsgHandlersAssignment_2_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MessageHandler_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("msgHandlers",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("msgHandlers"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getMessageHandlerRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getPortClassAccess().getMsgHandlersMessageHandlerParserRuleCall_2_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 PortClass_Alternatives_2(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new PortClass_Group_1(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new PortClass_LeftCurlyBracketKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class PortClass_RightCurlyBracketKeyword_3 extends KeywordToken { public PortClass_RightCurlyBracketKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getPortClassAccess().getRightCurlyBracketKeyword_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new PortClass_Alternatives_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule PortClass ****************/ /************ begin Rule MessageHandler **************** * * MessageHandler: * "handle" msg=[Message] detailCode=DetailCode; * **/ // "handle" msg=[Message] detailCode=DetailCode protected class MessageHandler_Group extends GroupToken { public MessageHandler_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getMessageHandlerAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MessageHandler_DetailCodeAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getMessageHandlerRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "handle" protected class MessageHandler_HandleKeyword_0 extends KeywordToken { public MessageHandler_HandleKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getMessageHandlerAccess().getHandleKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // msg=[Message] protected class MessageHandler_MsgAssignment_1 extends AssignmentToken { public MessageHandler_MsgAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getMessageHandlerAccess().getMsgAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MessageHandler_HandleKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("msg",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("msg"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getMessageHandlerAccess().getMsgMessageCrossReference_1_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getMessageHandlerAccess().getMsgMessageCrossReference_1_0(); return obj; } } return null; } } // detailCode=DetailCode protected class MessageHandler_DetailCodeAssignment_2 extends AssignmentToken { public MessageHandler_DetailCodeAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getMessageHandlerAccess().getDetailCodeAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("detailCode",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("detailCode"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getDetailCodeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getMessageHandlerAccess().getDetailCodeDetailCodeParserRuleCall_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 MessageHandler_MsgAssignment_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule MessageHandler ****************/ /************ begin Rule ProtocolSemantics **************** * * ProtocolSemantics: * "semantics" "{" rules+=SemanticsRule+ "}"; * **/ // "semantics" "{" rules+=SemanticsRule+ "}" protected class ProtocolSemantics_Group extends GroupToken { public ProtocolSemantics_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getProtocolSemanticsAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolSemantics_RightCurlyBracketKeyword_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getProtocolSemanticsRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "semantics" protected class ProtocolSemantics_SemanticsKeyword_0 extends KeywordToken { public ProtocolSemantics_SemanticsKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getProtocolSemanticsAccess().getSemanticsKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // "{" protected class ProtocolSemantics_LeftCurlyBracketKeyword_1 extends KeywordToken { public ProtocolSemantics_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getProtocolSemanticsAccess().getLeftCurlyBracketKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolSemantics_SemanticsKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // rules+=SemanticsRule+ protected class ProtocolSemantics_RulesAssignment_2 extends AssignmentToken { public ProtocolSemantics_RulesAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getProtocolSemanticsAccess().getRulesAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SemanticsRule_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("rules",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rules"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getSemanticsRuleRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getProtocolSemanticsAccess().getRulesSemanticsRuleParserRuleCall_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 ProtocolSemantics_RulesAssignment_2(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ProtocolSemantics_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class ProtocolSemantics_RightCurlyBracketKeyword_3 extends KeywordToken { public ProtocolSemantics_RightCurlyBracketKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getProtocolSemanticsAccess().getRightCurlyBracketKeyword_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ProtocolSemantics_RulesAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule ProtocolSemantics ****************/ /************ begin Rule SemanticsRule **************** * * SemanticsRule: * SemanticsInRule | SemanticsOutRule; * **/ // SemanticsInRule | SemanticsOutRule protected class SemanticsRule_Alternatives extends AlternativesToken { public SemanticsRule_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getSemanticsRuleAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SemanticsRule_SemanticsInRuleParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new SemanticsRule_SemanticsOutRuleParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSemanticsInRuleRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSemanticsOutRuleRule().getType().getClassifier()) return null; return eObjectConsumer; } } // SemanticsInRule protected class SemanticsRule_SemanticsInRuleParserRuleCall_0 extends RuleCallToken { public SemanticsRule_SemanticsInRuleParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getSemanticsRuleAccess().getSemanticsInRuleParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SemanticsInRule_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSemanticsInRuleRule().getType().getClassifier()) return null; if(checkForRecursion(SemanticsInRule_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); } } } // SemanticsOutRule protected class SemanticsRule_SemanticsOutRuleParserRuleCall_1 extends RuleCallToken { public SemanticsRule_SemanticsOutRuleParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getSemanticsRuleAccess().getSemanticsOutRuleParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SemanticsOutRule_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSemanticsOutRuleRule().getType().getClassifier()) return null; if(checkForRecursion(SemanticsOutRule_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 SemanticsRule ****************/ /************ begin Rule SemanticsInRule **************** * * SemanticsInRule: * "in" msg=[Message] "->" "{" followUps+=SemanticsRule* "}"; * **/ // "in" msg=[Message] "->" "{" followUps+=SemanticsRule* "}" protected class SemanticsInRule_Group extends GroupToken { public SemanticsInRule_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getSemanticsInRuleAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SemanticsInRule_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSemanticsInRuleRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "in" protected class SemanticsInRule_InKeyword_0 extends KeywordToken { public SemanticsInRule_InKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSemanticsInRuleAccess().getInKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // msg=[Message] protected class SemanticsInRule_MsgAssignment_1 extends AssignmentToken { public SemanticsInRule_MsgAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSemanticsInRuleAccess().getMsgAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SemanticsInRule_InKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("msg",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("msg"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getSemanticsInRuleAccess().getMsgMessageCrossReference_1_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getSemanticsInRuleAccess().getMsgMessageCrossReference_1_0(); return obj; } } return null; } } // "->" protected class SemanticsInRule_HyphenMinusGreaterThanSignKeyword_2 extends KeywordToken { public SemanticsInRule_HyphenMinusGreaterThanSignKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSemanticsInRuleAccess().getHyphenMinusGreaterThanSignKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SemanticsInRule_MsgAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "{" protected class SemanticsInRule_LeftCurlyBracketKeyword_3 extends KeywordToken { public SemanticsInRule_LeftCurlyBracketKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSemanticsInRuleAccess().getLeftCurlyBracketKeyword_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SemanticsInRule_HyphenMinusGreaterThanSignKeyword_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // followUps+=SemanticsRule* protected class SemanticsInRule_FollowUpsAssignment_4 extends AssignmentToken { public SemanticsInRule_FollowUpsAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSemanticsInRuleAccess().getFollowUpsAssignment_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SemanticsRule_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("followUps",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("followUps"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getSemanticsRuleRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getSemanticsInRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_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 SemanticsInRule_FollowUpsAssignment_4(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new SemanticsInRule_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class SemanticsInRule_RightCurlyBracketKeyword_5 extends KeywordToken { public SemanticsInRule_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSemanticsInRuleAccess().getRightCurlyBracketKeyword_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SemanticsInRule_FollowUpsAssignment_4(lastRuleCallOrigin, this, 0, inst); case 1: return new SemanticsInRule_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule SemanticsInRule ****************/ /************ begin Rule SemanticsOutRule **************** * * SemanticsOutRule: * "out" msg=[Message] "->" "{" followUps+=SemanticsRule* "}"; * **/ // "out" msg=[Message] "->" "{" followUps+=SemanticsRule* "}" protected class SemanticsOutRule_Group extends GroupToken { public SemanticsOutRule_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getSemanticsOutRuleAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SemanticsOutRule_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSemanticsOutRuleRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "out" protected class SemanticsOutRule_OutKeyword_0 extends KeywordToken { public SemanticsOutRule_OutKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSemanticsOutRuleAccess().getOutKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // msg=[Message] protected class SemanticsOutRule_MsgAssignment_1 extends AssignmentToken { public SemanticsOutRule_MsgAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSemanticsOutRuleAccess().getMsgAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SemanticsOutRule_OutKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("msg",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("msg"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getSemanticsOutRuleAccess().getMsgMessageCrossReference_1_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getSemanticsOutRuleAccess().getMsgMessageCrossReference_1_0(); return obj; } } return null; } } // "->" protected class SemanticsOutRule_HyphenMinusGreaterThanSignKeyword_2 extends KeywordToken { public SemanticsOutRule_HyphenMinusGreaterThanSignKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSemanticsOutRuleAccess().getHyphenMinusGreaterThanSignKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SemanticsOutRule_MsgAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "{" protected class SemanticsOutRule_LeftCurlyBracketKeyword_3 extends KeywordToken { public SemanticsOutRule_LeftCurlyBracketKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSemanticsOutRuleAccess().getLeftCurlyBracketKeyword_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SemanticsOutRule_HyphenMinusGreaterThanSignKeyword_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // followUps+=SemanticsRule* protected class SemanticsOutRule_FollowUpsAssignment_4 extends AssignmentToken { public SemanticsOutRule_FollowUpsAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSemanticsOutRuleAccess().getFollowUpsAssignment_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SemanticsRule_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("followUps",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("followUps"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getSemanticsRuleRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getSemanticsOutRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_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 SemanticsOutRule_FollowUpsAssignment_4(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new SemanticsOutRule_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class SemanticsOutRule_RightCurlyBracketKeyword_5 extends KeywordToken { public SemanticsOutRule_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSemanticsOutRuleAccess().getRightCurlyBracketKeyword_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SemanticsOutRule_FollowUpsAssignment_4(lastRuleCallOrigin, this, 0, inst); case 1: return new SemanticsOutRule_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule SemanticsOutRule ****************/ /************ begin Rule ActorClass **************** * * // ************************************************************** * * // actor class * * // some notes on ports * * // * * // in ROOM ports can be contained in the structure and/or the interface * * // p in s ==> internal end port * * // p in i ==> relay port * * // p in i and p in s ==> external end port * * // since double containment is not supported we decided to define external ports as reference to interface ports * * ActorClass: * abstract?="abstract"? "ActorClass" name=ID ("extends" base=[ActorClass|FQN])? "{" ("Interface" "{" ifPorts+=Port* * ifSPPs+=SPPRef* "}")? ("Structure" "{" ("usercode1" userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)? * (intPorts+=Port | extPorts+=ExternalPort)* serviceImplementations+=ServiceImplementation* strSAPs+=SAPRef* * attributes+=Attribute* actorRefs+=ActorRef* bindings+=Binding* connections+=LayerConnection* "}")? ("Behavior" "{" * operations+=Operation* stateMachine=StateMachine? "}")? "}"; * **/ // abstract?="abstract"? "ActorClass" name=ID ("extends" base=[ActorClass|FQN])? "{" ("Interface" "{" ifPorts+=Port* // ifSPPs+=SPPRef* "}")? ("Structure" "{" ("usercode1" userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)? // (intPorts+=Port | extPorts+=ExternalPort)* serviceImplementations+=ServiceImplementation* strSAPs+=SAPRef* // attributes+=Attribute* actorRefs+=ActorRef* bindings+=Binding* connections+=LayerConnection* "}")? ("Behavior" "{" // operations+=Operation* stateMachine=StateMachine? "}")? "}" protected class ActorClass_Group extends GroupToken { public ActorClass_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getActorClassAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getActorClassRule().getType().getClassifier()) return null; return eObjectConsumer; } } // abstract?="abstract"? protected class ActorClass_AbstractAssignment_0 extends AssignmentToken { public ActorClass_AbstractAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorClassAccess().getAbstractAssignment_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("abstract",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("abstract"); if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl type = AssignmentType.KEYWORD; element = grammarAccess.getActorClassAccess().getAbstractAbstractKeyword_0_0(); return obj; } return null; } } // "ActorClass" protected class ActorClass_ActorClassKeyword_1 extends KeywordToken { public ActorClass_ActorClassKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getActorClassAccess().getActorClassKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_AbstractAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst); } } } // name=ID protected class ActorClass_NameAssignment_2 extends AssignmentToken { public ActorClass_NameAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorClassAccess().getNameAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_ActorClassKeyword_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.getActorClassAccess().getNameIDTerminalRuleCall_2_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getActorClassAccess().getNameIDTerminalRuleCall_2_0(); return obj; } return null; } } // ("extends" base=[ActorClass|FQN])? protected class ActorClass_Group_3 extends GroupToken { public ActorClass_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getActorClassAccess().getGroup_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_BaseAssignment_3_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "extends" protected class ActorClass_ExtendsKeyword_3_0 extends KeywordToken { public ActorClass_ExtendsKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getActorClassAccess().getExtendsKeyword_3_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_NameAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // base=[ActorClass|FQN] protected class ActorClass_BaseAssignment_3_1 extends AssignmentToken { public ActorClass_BaseAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorClassAccess().getBaseAssignment_3_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_ExtendsKeyword_3_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("base",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("base"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getActorClassAccess().getBaseActorClassCrossReference_3_1_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getActorClassAccess().getBaseActorClassCrossReference_3_1_0(); return obj; } } return null; } } // "{" protected class ActorClass_LeftCurlyBracketKeyword_4 extends KeywordToken { public ActorClass_LeftCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_Group_3(lastRuleCallOrigin, this, 0, inst); case 1: return new ActorClass_NameAssignment_2(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // ("Interface" "{" ifPorts+=Port* ifSPPs+=SPPRef* "}")? protected class ActorClass_Group_5 extends GroupToken { public ActorClass_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getActorClassAccess().getGroup_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_RightCurlyBracketKeyword_5_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "Interface" protected class ActorClass_InterfaceKeyword_5_0 extends KeywordToken { public ActorClass_InterfaceKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getActorClassAccess().getInterfaceKeyword_5_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "{" protected class ActorClass_LeftCurlyBracketKeyword_5_1 extends KeywordToken { public ActorClass_LeftCurlyBracketKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_5_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_InterfaceKeyword_5_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ifPorts+=Port* protected class ActorClass_IfPortsAssignment_5_2 extends AssignmentToken { public ActorClass_IfPortsAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorClassAccess().getIfPortsAssignment_5_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Port_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("ifPorts",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ifPorts"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getPortRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getActorClassAccess().getIfPortsPortParserRuleCall_5_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 ActorClass_IfPortsAssignment_5_2(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ActorClass_LeftCurlyBracketKeyword_5_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ifSPPs+=SPPRef* protected class ActorClass_IfSPPsAssignment_5_3 extends AssignmentToken { public ActorClass_IfSPPsAssignment_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorClassAccess().getIfSPPsAssignment_5_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SPPRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("ifSPPs",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ifSPPs"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getSPPRefRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getActorClassAccess().getIfSPPsSPPRefParserRuleCall_5_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 ActorClass_IfSPPsAssignment_5_3(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ActorClass_IfPortsAssignment_5_2(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new ActorClass_LeftCurlyBracketKeyword_5_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class ActorClass_RightCurlyBracketKeyword_5_4 extends KeywordToken { public ActorClass_RightCurlyBracketKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_5_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_IfSPPsAssignment_5_3(lastRuleCallOrigin, this, 0, inst); case 1: return new ActorClass_IfPortsAssignment_5_2(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // ("Structure" "{" ("usercode1" userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)? (intPorts+=Port | // extPorts+=ExternalPort)* serviceImplementations+=ServiceImplementation* strSAPs+=SAPRef* attributes+=Attribute* // actorRefs+=ActorRef* bindings+=Binding* connections+=LayerConnection* "}")? protected class ActorClass_Group_6 extends GroupToken { public ActorClass_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getActorClassAccess().getGroup_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_RightCurlyBracketKeyword_6_11(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "Structure" protected class ActorClass_StructureKeyword_6_0 extends KeywordToken { public ActorClass_StructureKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getActorClassAccess().getStructureKeyword_6_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_Group_5(lastRuleCallOrigin, this, 0, inst); case 1: return new ActorClass_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "{" protected class ActorClass_LeftCurlyBracketKeyword_6_1 extends KeywordToken { public ActorClass_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_6_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_StructureKeyword_6_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ("usercode1" userCode1=DetailCode)? protected class ActorClass_Group_6_2 extends GroupToken { public ActorClass_Group_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getActorClassAccess().getGroup_6_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_UserCode1Assignment_6_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "usercode1" protected class ActorClass_Usercode1Keyword_6_2_0 extends KeywordToken { public ActorClass_Usercode1Keyword_6_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getActorClassAccess().getUsercode1Keyword_6_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // userCode1=DetailCode protected class ActorClass_UserCode1Assignment_6_2_1 extends AssignmentToken { public ActorClass_UserCode1Assignment_6_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorClassAccess().getUserCode1Assignment_6_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("userCode1",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("userCode1"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getDetailCodeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getActorClassAccess().getUserCode1DetailCodeParserRuleCall_6_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 ActorClass_Usercode1Keyword_6_2_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("usercode2" userCode2=DetailCode)? protected class ActorClass_Group_6_3 extends GroupToken { public ActorClass_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getActorClassAccess().getGroup_6_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_UserCode2Assignment_6_3_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "usercode2" protected class ActorClass_Usercode2Keyword_6_3_0 extends KeywordToken { public ActorClass_Usercode2Keyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getActorClassAccess().getUsercode2Keyword_6_3_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_Group_6_2(lastRuleCallOrigin, this, 0, inst); case 1: return new ActorClass_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // userCode2=DetailCode protected class ActorClass_UserCode2Assignment_6_3_1 extends AssignmentToken { public ActorClass_UserCode2Assignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorClassAccess().getUserCode2Assignment_6_3_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("userCode2",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("userCode2"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getDetailCodeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getActorClassAccess().getUserCode2DetailCodeParserRuleCall_6_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 ActorClass_Usercode2Keyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // (intPorts+=Port | extPorts+=ExternalPort)* protected class ActorClass_Alternatives_6_4 extends AlternativesToken { public ActorClass_Alternatives_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getActorClassAccess().getAlternatives_6_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_IntPortsAssignment_6_4_0(lastRuleCallOrigin, this, 0, inst); case 1: return new ActorClass_ExtPortsAssignment_6_4_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // intPorts+=Port protected class ActorClass_IntPortsAssignment_6_4_0 extends AssignmentToken { public ActorClass_IntPortsAssignment_6_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorClassAccess().getIntPortsAssignment_6_4_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Port_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("intPorts",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("intPorts"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getPortRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getActorClassAccess().getIntPortsPortParserRuleCall_6_4_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 ActorClass_Alternatives_6_4(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ActorClass_Group_6_3(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new ActorClass_Group_6_2(lastRuleCallOrigin, next, actIndex, consumed); case 3: return new ActorClass_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // extPorts+=ExternalPort protected class ActorClass_ExtPortsAssignment_6_4_1 extends AssignmentToken { public ActorClass_ExtPortsAssignment_6_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorClassAccess().getExtPortsAssignment_6_4_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ExternalPort_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("extPorts",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("extPorts"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getExternalPortRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getActorClassAccess().getExtPortsExternalPortParserRuleCall_6_4_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 ActorClass_Alternatives_6_4(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ActorClass_Group_6_3(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new ActorClass_Group_6_2(lastRuleCallOrigin, next, actIndex, consumed); case 3: return new ActorClass_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // serviceImplementations+=ServiceImplementation* protected class ActorClass_ServiceImplementationsAssignment_6_5 extends AssignmentToken { public ActorClass_ServiceImplementationsAssignment_6_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorClassAccess().getServiceImplementationsAssignment_6_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ServiceImplementation_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("serviceImplementations",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("serviceImplementations"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getServiceImplementationRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getActorClassAccess().getServiceImplementationsServiceImplementationParserRuleCall_6_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 ActorClass_ServiceImplementationsAssignment_6_5(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ActorClass_Alternatives_6_4(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new ActorClass_Group_6_3(lastRuleCallOrigin, next, actIndex, consumed); case 3: return new ActorClass_Group_6_2(lastRuleCallOrigin, next, actIndex, consumed); case 4: return new ActorClass_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // strSAPs+=SAPRef* protected class ActorClass_StrSAPsAssignment_6_6 extends AssignmentToken { public ActorClass_StrSAPsAssignment_6_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorClassAccess().getStrSAPsAssignment_6_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SAPRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("strSAPs",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("strSAPs"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getSAPRefRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getActorClassAccess().getStrSAPsSAPRefParserRuleCall_6_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 ActorClass_StrSAPsAssignment_6_6(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ActorClass_ServiceImplementationsAssignment_6_5(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new ActorClass_Alternatives_6_4(lastRuleCallOrigin, next, actIndex, consumed); case 3: return new ActorClass_Group_6_3(lastRuleCallOrigin, next, actIndex, consumed); case 4: return new ActorClass_Group_6_2(lastRuleCallOrigin, next, actIndex, consumed); case 5: return new ActorClass_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // attributes+=Attribute* protected class ActorClass_AttributesAssignment_6_7 extends AssignmentToken { public ActorClass_AttributesAssignment_6_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorClassAccess().getAttributesAssignment_6_7(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Attribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("attributes",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("attributes"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getAttributeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getActorClassAccess().getAttributesAttributeParserRuleCall_6_7_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 ActorClass_AttributesAssignment_6_7(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ActorClass_StrSAPsAssignment_6_6(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new ActorClass_ServiceImplementationsAssignment_6_5(lastRuleCallOrigin, next, actIndex, consumed); case 3: return new ActorClass_Alternatives_6_4(lastRuleCallOrigin, next, actIndex, consumed); case 4: return new ActorClass_Group_6_3(lastRuleCallOrigin, next, actIndex, consumed); case 5: return new ActorClass_Group_6_2(lastRuleCallOrigin, next, actIndex, consumed); case 6: return new ActorClass_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // actorRefs+=ActorRef* protected class ActorClass_ActorRefsAssignment_6_8 extends AssignmentToken { public ActorClass_ActorRefsAssignment_6_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorClassAccess().getActorRefsAssignment_6_8(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("actorRefs",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("actorRefs"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getActorRefRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getActorClassAccess().getActorRefsActorRefParserRuleCall_6_8_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 ActorClass_ActorRefsAssignment_6_8(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ActorClass_AttributesAssignment_6_7(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new ActorClass_StrSAPsAssignment_6_6(lastRuleCallOrigin, next, actIndex, consumed); case 3: return new ActorClass_ServiceImplementationsAssignment_6_5(lastRuleCallOrigin, next, actIndex, consumed); case 4: return new ActorClass_Alternatives_6_4(lastRuleCallOrigin, next, actIndex, consumed); case 5: return new ActorClass_Group_6_3(lastRuleCallOrigin, next, actIndex, consumed); case 6: return new ActorClass_Group_6_2(lastRuleCallOrigin, next, actIndex, consumed); case 7: return new ActorClass_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // bindings+=Binding* protected class ActorClass_BindingsAssignment_6_9 extends AssignmentToken { public ActorClass_BindingsAssignment_6_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorClassAccess().getBindingsAssignment_6_9(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Binding_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.getBindingRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getActorClassAccess().getBindingsBindingParserRuleCall_6_9_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 ActorClass_BindingsAssignment_6_9(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ActorClass_ActorRefsAssignment_6_8(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new ActorClass_AttributesAssignment_6_7(lastRuleCallOrigin, next, actIndex, consumed); case 3: return new ActorClass_StrSAPsAssignment_6_6(lastRuleCallOrigin, next, actIndex, consumed); case 4: return new ActorClass_ServiceImplementationsAssignment_6_5(lastRuleCallOrigin, next, actIndex, consumed); case 5: return new ActorClass_Alternatives_6_4(lastRuleCallOrigin, next, actIndex, consumed); case 6: return new ActorClass_Group_6_3(lastRuleCallOrigin, next, actIndex, consumed); case 7: return new ActorClass_Group_6_2(lastRuleCallOrigin, next, actIndex, consumed); case 8: return new ActorClass_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // connections+=LayerConnection* protected class ActorClass_ConnectionsAssignment_6_10 extends AssignmentToken { public ActorClass_ConnectionsAssignment_6_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorClassAccess().getConnectionsAssignment_6_10(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LayerConnection_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("connections",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("connections"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getLayerConnectionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getActorClassAccess().getConnectionsLayerConnectionParserRuleCall_6_10_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 ActorClass_ConnectionsAssignment_6_10(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ActorClass_BindingsAssignment_6_9(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new ActorClass_ActorRefsAssignment_6_8(lastRuleCallOrigin, next, actIndex, consumed); case 3: return new ActorClass_AttributesAssignment_6_7(lastRuleCallOrigin, next, actIndex, consumed); case 4: return new ActorClass_StrSAPsAssignment_6_6(lastRuleCallOrigin, next, actIndex, consumed); case 5: return new ActorClass_ServiceImplementationsAssignment_6_5(lastRuleCallOrigin, next, actIndex, consumed); case 6: return new ActorClass_Alternatives_6_4(lastRuleCallOrigin, next, actIndex, consumed); case 7: return new ActorClass_Group_6_3(lastRuleCallOrigin, next, actIndex, consumed); case 8: return new ActorClass_Group_6_2(lastRuleCallOrigin, next, actIndex, consumed); case 9: return new ActorClass_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class ActorClass_RightCurlyBracketKeyword_6_11 extends KeywordToken { public ActorClass_RightCurlyBracketKeyword_6_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_6_11(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_ConnectionsAssignment_6_10(lastRuleCallOrigin, this, 0, inst); case 1: return new ActorClass_BindingsAssignment_6_9(lastRuleCallOrigin, this, 1, inst); case 2: return new ActorClass_ActorRefsAssignment_6_8(lastRuleCallOrigin, this, 2, inst); case 3: return new ActorClass_AttributesAssignment_6_7(lastRuleCallOrigin, this, 3, inst); case 4: return new ActorClass_StrSAPsAssignment_6_6(lastRuleCallOrigin, this, 4, inst); case 5: return new ActorClass_ServiceImplementationsAssignment_6_5(lastRuleCallOrigin, this, 5, inst); case 6: return new ActorClass_Alternatives_6_4(lastRuleCallOrigin, this, 6, inst); case 7: return new ActorClass_Group_6_3(lastRuleCallOrigin, this, 7, inst); case 8: return new ActorClass_Group_6_2(lastRuleCallOrigin, this, 8, inst); default: return null; } } } // ("Behavior" "{" operations+=Operation* stateMachine=StateMachine? "}")? protected class ActorClass_Group_7 extends GroupToken { public ActorClass_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getActorClassAccess().getGroup_7(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_RightCurlyBracketKeyword_7_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "Behavior" protected class ActorClass_BehaviorKeyword_7_0 extends KeywordToken { public ActorClass_BehaviorKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getActorClassAccess().getBehaviorKeyword_7_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_Group_6(lastRuleCallOrigin, this, 0, inst); case 1: return new ActorClass_Group_5(lastRuleCallOrigin, this, 1, inst); case 2: return new ActorClass_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, this, 2, inst); default: return null; } } } // "{" protected class ActorClass_LeftCurlyBracketKeyword_7_1 extends KeywordToken { public ActorClass_LeftCurlyBracketKeyword_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_7_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_BehaviorKeyword_7_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // operations+=Operation* protected class ActorClass_OperationsAssignment_7_2 extends AssignmentToken { public ActorClass_OperationsAssignment_7_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorClassAccess().getOperationsAssignment_7_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Operation_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("operations",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operations"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getOperationRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getActorClassAccess().getOperationsOperationParserRuleCall_7_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 ActorClass_OperationsAssignment_7_2(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ActorClass_LeftCurlyBracketKeyword_7_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // stateMachine=StateMachine? protected class ActorClass_StateMachineAssignment_7_3 extends AssignmentToken { public ActorClass_StateMachineAssignment_7_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorClassAccess().getStateMachineAssignment_7_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new StateMachine_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("stateMachine",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("stateMachine"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getStateMachineRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getActorClassAccess().getStateMachineStateMachineParserRuleCall_7_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 ActorClass_OperationsAssignment_7_2(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ActorClass_LeftCurlyBracketKeyword_7_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class ActorClass_RightCurlyBracketKeyword_7_4 extends KeywordToken { public ActorClass_RightCurlyBracketKeyword_7_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_7_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_StateMachineAssignment_7_3(lastRuleCallOrigin, this, 0, inst); case 1: return new ActorClass_OperationsAssignment_7_2(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "}" protected class ActorClass_RightCurlyBracketKeyword_8 extends KeywordToken { public ActorClass_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_8(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorClass_Group_7(lastRuleCallOrigin, this, 0, inst); case 1: return new ActorClass_Group_6(lastRuleCallOrigin, this, 1, inst); case 2: return new ActorClass_Group_5(lastRuleCallOrigin, this, 2, inst); case 3: return new ActorClass_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, this, 3, inst); default: return null; } } } /************ end Rule ActorClass ****************/ /************ begin Rule InterfaceItem **************** * * InterfaceItem: * Port | SAPRef | SPPRef; * **/ // Port | SAPRef | SPPRef protected class InterfaceItem_Alternatives extends AlternativesToken { public InterfaceItem_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getInterfaceItemAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new InterfaceItem_PortParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new InterfaceItem_SAPRefParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); case 2: return new InterfaceItem_SPPRefParserRuleCall_2(lastRuleCallOrigin, this, 2, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getPortRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSAPRefRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSPPRefRule().getType().getClassifier()) return null; return eObjectConsumer; } } // Port protected class InterfaceItem_PortParserRuleCall_0 extends RuleCallToken { public InterfaceItem_PortParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getInterfaceItemAccess().getPortParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Port_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getPortRule().getType().getClassifier()) return null; if(checkForRecursion(Port_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); } } } // SAPRef protected class InterfaceItem_SAPRefParserRuleCall_1 extends RuleCallToken { public InterfaceItem_SAPRefParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getInterfaceItemAccess().getSAPRefParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SAPRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSAPRefRule().getType().getClassifier()) return null; if(checkForRecursion(SAPRef_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); } } } // SPPRef protected class InterfaceItem_SPPRefParserRuleCall_2 extends RuleCallToken { public InterfaceItem_SPPRefParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getInterfaceItemAccess().getSPPRefParserRuleCall_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SPPRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSPPRefRule().getType().getClassifier()) return null; if(checkForRecursion(SPPRef_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 InterfaceItem ****************/ /************ begin Rule Port **************** * * Port: * conjugated?="conjugated"? "Port" name=ID ("[" multiplicity=INT "]")? ":" protocol=[ProtocolClass|FQN]; * **/ // conjugated?="conjugated"? "Port" name=ID ("[" multiplicity=INT "]")? ":" protocol=[ProtocolClass|FQN] protected class Port_Group extends GroupToken { public Port_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getPortAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Port_ProtocolAssignment_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getPortRule().getType().getClassifier()) return null; return eObjectConsumer; } } // conjugated?="conjugated"? protected class Port_ConjugatedAssignment_0 extends AssignmentToken { public Port_ConjugatedAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getPortAccess().getConjugatedAssignment_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("conjugated",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("conjugated"); if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl type = AssignmentType.KEYWORD; element = grammarAccess.getPortAccess().getConjugatedConjugatedKeyword_0_0(); return obj; } return null; } } // "Port" protected class Port_PortKeyword_1 extends KeywordToken { public Port_PortKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getPortAccess().getPortKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Port_ConjugatedAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst); } } } // name=ID protected class Port_NameAssignment_2 extends AssignmentToken { public Port_NameAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getPortAccess().getNameAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Port_PortKeyword_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.getPortAccess().getNameIDTerminalRuleCall_2_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getPortAccess().getNameIDTerminalRuleCall_2_0(); return obj; } return null; } } // ("[" multiplicity=INT "]")? protected class Port_Group_3 extends GroupToken { public Port_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getPortAccess().getGroup_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Port_RightSquareBracketKeyword_3_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "[" protected class Port_LeftSquareBracketKeyword_3_0 extends KeywordToken { public Port_LeftSquareBracketKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getPortAccess().getLeftSquareBracketKeyword_3_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Port_NameAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // multiplicity=INT protected class Port_MultiplicityAssignment_3_1 extends AssignmentToken { public Port_MultiplicityAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getPortAccess().getMultiplicityAssignment_3_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Port_LeftSquareBracketKeyword_3_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("multiplicity",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("multiplicity"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPortAccess().getMultiplicityINTTerminalRuleCall_3_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getPortAccess().getMultiplicityINTTerminalRuleCall_3_1_0(); return obj; } return null; } } // "]" protected class Port_RightSquareBracketKeyword_3_2 extends KeywordToken { public Port_RightSquareBracketKeyword_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getPortAccess().getRightSquareBracketKeyword_3_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Port_MultiplicityAssignment_3_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ":" protected class Port_ColonKeyword_4 extends KeywordToken { public Port_ColonKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getPortAccess().getColonKeyword_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Port_Group_3(lastRuleCallOrigin, this, 0, inst); case 1: return new Port_NameAssignment_2(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // protocol=[ProtocolClass|FQN] protected class Port_ProtocolAssignment_5 extends AssignmentToken { public Port_ProtocolAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getPortAccess().getProtocolAssignment_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Port_ColonKeyword_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("protocol",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("protocol"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getPortAccess().getProtocolProtocolClassCrossReference_5_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getPortAccess().getProtocolProtocolClassCrossReference_5_0(); return obj; } } return null; } } /************ end Rule Port ****************/ /************ begin Rule ExternalPort **************** * * ExternalPort: * "external" "Port" ifport=[Port]; * **/ // "external" "Port" ifport=[Port] protected class ExternalPort_Group extends GroupToken { public ExternalPort_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExternalPortAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ExternalPort_IfportAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getExternalPortRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "external" protected class ExternalPort_ExternalKeyword_0 extends KeywordToken { public ExternalPort_ExternalKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExternalPortAccess().getExternalKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // "Port" protected class ExternalPort_PortKeyword_1 extends KeywordToken { public ExternalPort_PortKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExternalPortAccess().getPortKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ExternalPort_ExternalKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ifport=[Port] protected class ExternalPort_IfportAssignment_2 extends AssignmentToken { public ExternalPort_IfportAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExternalPortAccess().getIfportAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ExternalPort_PortKeyword_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("ifport",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ifport"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getExternalPortAccess().getIfportPortCrossReference_2_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getExternalPortAccess().getIfportPortCrossReference_2_0(); return obj; } } return null; } } /************ end Rule ExternalPort ****************/ /************ begin Rule SAPRef **************** * * SAPRef: // we omitted the SAP type (Timing/Frame/Exception) * * "SAP" name=ID ":" protocol=[ProtocolClass|FQN]; * **/ // // we omitted the SAP type (Timing/Frame/Exception) // // "SAP" name=ID ":" protocol=[ProtocolClass|FQN] protected class SAPRef_Group extends GroupToken { public SAPRef_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getSAPRefAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SAPRef_ProtocolAssignment_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSAPRefRule().getType().getClassifier()) return null; return eObjectConsumer; } } // // we omitted the SAP type (Timing/Frame/Exception) // // "SAP" protected class SAPRef_SAPKeyword_0 extends KeywordToken { public SAPRef_SAPKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSAPRefAccess().getSAPKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID protected class SAPRef_NameAssignment_1 extends AssignmentToken { public SAPRef_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSAPRefAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SAPRef_SAPKeyword_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.getSAPRefAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getSAPRefAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } // ":" protected class SAPRef_ColonKeyword_2 extends KeywordToken { public SAPRef_ColonKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSAPRefAccess().getColonKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SAPRef_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // protocol=[ProtocolClass|FQN] protected class SAPRef_ProtocolAssignment_3 extends AssignmentToken { public SAPRef_ProtocolAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSAPRefAccess().getProtocolAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SAPRef_ColonKeyword_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("protocol",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("protocol"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getSAPRefAccess().getProtocolProtocolClassCrossReference_3_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getSAPRefAccess().getProtocolProtocolClassCrossReference_3_0(); return obj; } } return null; } } /************ end Rule SAPRef ****************/ /************ begin Rule SPPRef **************** * * SPPRef: * "SPP" name=ID ":" protocol=[ProtocolClass|FQN]; * **/ // "SPP" name=ID ":" protocol=[ProtocolClass|FQN] protected class SPPRef_Group extends GroupToken { public SPPRef_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getSPPRefAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SPPRef_ProtocolAssignment_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSPPRefRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "SPP" protected class SPPRef_SPPKeyword_0 extends KeywordToken { public SPPRef_SPPKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSPPRefAccess().getSPPKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID protected class SPPRef_NameAssignment_1 extends AssignmentToken { public SPPRef_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSPPRefAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SPPRef_SPPKeyword_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.getSPPRefAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getSPPRefAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } // ":" protected class SPPRef_ColonKeyword_2 extends KeywordToken { public SPPRef_ColonKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSPPRefAccess().getColonKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SPPRef_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // protocol=[ProtocolClass|FQN] protected class SPPRef_ProtocolAssignment_3 extends AssignmentToken { public SPPRef_ProtocolAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSPPRefAccess().getProtocolAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SPPRef_ColonKeyword_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("protocol",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("protocol"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getSPPRefAccess().getProtocolProtocolClassCrossReference_3_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getSPPRefAccess().getProtocolProtocolClassCrossReference_3_0(); return obj; } } return null; } } /************ end Rule SPPRef ****************/ /************ begin Rule ServiceImplementation **************** * * ServiceImplementation: * "ServiceImplementation" "of" spp=[SPPRef]; * **/ // "ServiceImplementation" "of" spp=[SPPRef] protected class ServiceImplementation_Group extends GroupToken { public ServiceImplementation_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getServiceImplementationAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ServiceImplementation_SppAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getServiceImplementationRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "ServiceImplementation" protected class ServiceImplementation_ServiceImplementationKeyword_0 extends KeywordToken { public ServiceImplementation_ServiceImplementationKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getServiceImplementationAccess().getServiceImplementationKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // "of" protected class ServiceImplementation_OfKeyword_1 extends KeywordToken { public ServiceImplementation_OfKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getServiceImplementationAccess().getOfKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ServiceImplementation_ServiceImplementationKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // spp=[SPPRef] protected class ServiceImplementation_SppAssignment_2 extends AssignmentToken { public ServiceImplementation_SppAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getServiceImplementationAccess().getSppAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ServiceImplementation_OfKeyword_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("spp",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("spp"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getServiceImplementationAccess().getSppSPPRefCrossReference_2_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getServiceImplementationAccess().getSppSPPRefCrossReference_2_0(); return obj; } } return null; } } /************ end Rule ServiceImplementation ****************/ /************ begin Rule LogicalSystem **************** * * LogicalSystem: * "LogicalSystem" name=ID "{" subSystems+=SubSystemRef+ bindings+=Binding* connections+=LayerConnection* "}"; * **/ // "LogicalSystem" name=ID "{" subSystems+=SubSystemRef+ bindings+=Binding* connections+=LayerConnection* "}" protected class LogicalSystem_Group extends GroupToken { public LogicalSystem_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getLogicalSystemAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LogicalSystem_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getLogicalSystemRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "LogicalSystem" protected class LogicalSystem_LogicalSystemKeyword_0 extends KeywordToken { public LogicalSystem_LogicalSystemKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getLogicalSystemAccess().getLogicalSystemKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID protected class LogicalSystem_NameAssignment_1 extends AssignmentToken { public LogicalSystem_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getLogicalSystemAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LogicalSystem_LogicalSystemKeyword_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.getLogicalSystemAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getLogicalSystemAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } // "{" protected class LogicalSystem_LeftCurlyBracketKeyword_2 extends KeywordToken { public LogicalSystem_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getLogicalSystemAccess().getLeftCurlyBracketKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LogicalSystem_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // subSystems+=SubSystemRef+ protected class LogicalSystem_SubSystemsAssignment_3 extends AssignmentToken { public LogicalSystem_SubSystemsAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getLogicalSystemAccess().getSubSystemsAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SubSystemRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("subSystems",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("subSystems"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getSubSystemRefRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getLogicalSystemAccess().getSubSystemsSubSystemRefParserRuleCall_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 LogicalSystem_SubSystemsAssignment_3(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new LogicalSystem_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // bindings+=Binding* protected class LogicalSystem_BindingsAssignment_4 extends AssignmentToken { public LogicalSystem_BindingsAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getLogicalSystemAccess().getBindingsAssignment_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Binding_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.getBindingRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getLogicalSystemAccess().getBindingsBindingParserRuleCall_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 LogicalSystem_BindingsAssignment_4(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new LogicalSystem_SubSystemsAssignment_3(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // connections+=LayerConnection* protected class LogicalSystem_ConnectionsAssignment_5 extends AssignmentToken { public LogicalSystem_ConnectionsAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getLogicalSystemAccess().getConnectionsAssignment_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LayerConnection_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("connections",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("connections"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getLayerConnectionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getLogicalSystemAccess().getConnectionsLayerConnectionParserRuleCall_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 LogicalSystem_ConnectionsAssignment_5(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new LogicalSystem_BindingsAssignment_4(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new LogicalSystem_SubSystemsAssignment_3(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class LogicalSystem_RightCurlyBracketKeyword_6 extends KeywordToken { public LogicalSystem_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getLogicalSystemAccess().getRightCurlyBracketKeyword_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LogicalSystem_ConnectionsAssignment_5(lastRuleCallOrigin, this, 0, inst); case 1: return new LogicalSystem_BindingsAssignment_4(lastRuleCallOrigin, this, 1, inst); case 2: return new LogicalSystem_SubSystemsAssignment_3(lastRuleCallOrigin, this, 2, inst); default: return null; } } } /************ end Rule LogicalSystem ****************/ /************ begin Rule ActorContainerRef **************** * * ActorContainerRef: * SubSystemRef | ActorRef; * **/ // SubSystemRef | ActorRef protected class ActorContainerRef_Alternatives extends AlternativesToken { public ActorContainerRef_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getActorContainerRefAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorContainerRef_SubSystemRefParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new ActorContainerRef_ActorRefParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getActorRefRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSubSystemRefRule().getType().getClassifier()) return null; return eObjectConsumer; } } // SubSystemRef protected class ActorContainerRef_SubSystemRefParserRuleCall_0 extends RuleCallToken { public ActorContainerRef_SubSystemRefParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getActorContainerRefAccess().getSubSystemRefParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SubSystemRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSubSystemRefRule().getType().getClassifier()) return null; if(checkForRecursion(SubSystemRef_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); } } } // ActorRef protected class ActorContainerRef_ActorRefParserRuleCall_1 extends RuleCallToken { public ActorContainerRef_ActorRefParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getActorContainerRefAccess().getActorRefParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getActorRefRule().getType().getClassifier()) return null; if(checkForRecursion(ActorRef_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 ActorContainerRef ****************/ /************ begin Rule SubSystemRef **************** * * SubSystemRef: * "SubSystemRef" name=ID ":" type=[SubSystemClass|FQN]; * **/ // "SubSystemRef" name=ID ":" type=[SubSystemClass|FQN] protected class SubSystemRef_Group extends GroupToken { public SubSystemRef_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getSubSystemRefAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SubSystemRef_TypeAssignment_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSubSystemRefRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "SubSystemRef" protected class SubSystemRef_SubSystemRefKeyword_0 extends KeywordToken { public SubSystemRef_SubSystemRefKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSubSystemRefAccess().getSubSystemRefKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID protected class SubSystemRef_NameAssignment_1 extends AssignmentToken { public SubSystemRef_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSubSystemRefAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SubSystemRef_SubSystemRefKeyword_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.getSubSystemRefAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getSubSystemRefAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } // ":" protected class SubSystemRef_ColonKeyword_2 extends KeywordToken { public SubSystemRef_ColonKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSubSystemRefAccess().getColonKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SubSystemRef_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // type=[SubSystemClass|FQN] protected class SubSystemRef_TypeAssignment_3 extends AssignmentToken { public SubSystemRef_TypeAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSubSystemRefAccess().getTypeAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SubSystemRef_ColonKeyword_2(lastRuleCallOrigin, 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::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getSubSystemRefAccess().getTypeSubSystemClassCrossReference_3_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getSubSystemRefAccess().getTypeSubSystemClassCrossReference_3_0(); return obj; } } return null; } } /************ end Rule SubSystemRef ****************/ /************ begin Rule SubSystemClass **************** * * SubSystemClass: * "SubSystemClass" name=ID "{" relayPorts+=Port* ifSPPs+=SPPRef* actorRefs+=ActorRef+ bindings+=Binding* * connections+=LayerConnection* threads+=LogicalThread* "}"; * **/ // "SubSystemClass" name=ID "{" relayPorts+=Port* ifSPPs+=SPPRef* actorRefs+=ActorRef+ bindings+=Binding* // connections+=LayerConnection* threads+=LogicalThread* "}" protected class SubSystemClass_Group extends GroupToken { public SubSystemClass_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getSubSystemClassAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SubSystemClass_RightCurlyBracketKeyword_9(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSubSystemClassRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "SubSystemClass" protected class SubSystemClass_SubSystemClassKeyword_0 extends KeywordToken { public SubSystemClass_SubSystemClassKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSubSystemClassAccess().getSubSystemClassKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID protected class SubSystemClass_NameAssignment_1 extends AssignmentToken { public SubSystemClass_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSubSystemClassAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SubSystemClass_SubSystemClassKeyword_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.getSubSystemClassAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getSubSystemClassAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } // "{" protected class SubSystemClass_LeftCurlyBracketKeyword_2 extends KeywordToken { public SubSystemClass_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSubSystemClassAccess().getLeftCurlyBracketKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SubSystemClass_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // relayPorts+=Port* protected class SubSystemClass_RelayPortsAssignment_3 extends AssignmentToken { public SubSystemClass_RelayPortsAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSubSystemClassAccess().getRelayPortsAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Port_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("relayPorts",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("relayPorts"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getPortRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getSubSystemClassAccess().getRelayPortsPortParserRuleCall_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 SubSystemClass_RelayPortsAssignment_3(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new SubSystemClass_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ifSPPs+=SPPRef* protected class SubSystemClass_IfSPPsAssignment_4 extends AssignmentToken { public SubSystemClass_IfSPPsAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSubSystemClassAccess().getIfSPPsAssignment_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SPPRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("ifSPPs",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ifSPPs"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getSPPRefRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getSubSystemClassAccess().getIfSPPsSPPRefParserRuleCall_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 SubSystemClass_IfSPPsAssignment_4(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new SubSystemClass_RelayPortsAssignment_3(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new SubSystemClass_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // actorRefs+=ActorRef+ protected class SubSystemClass_ActorRefsAssignment_5 extends AssignmentToken { public SubSystemClass_ActorRefsAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSubSystemClassAccess().getActorRefsAssignment_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("actorRefs",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("actorRefs"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getActorRefRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getSubSystemClassAccess().getActorRefsActorRefParserRuleCall_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 SubSystemClass_ActorRefsAssignment_5(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new SubSystemClass_IfSPPsAssignment_4(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new SubSystemClass_RelayPortsAssignment_3(lastRuleCallOrigin, next, actIndex, consumed); case 3: return new SubSystemClass_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // bindings+=Binding* protected class SubSystemClass_BindingsAssignment_6 extends AssignmentToken { public SubSystemClass_BindingsAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSubSystemClassAccess().getBindingsAssignment_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Binding_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.getBindingRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getSubSystemClassAccess().getBindingsBindingParserRuleCall_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 SubSystemClass_BindingsAssignment_6(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new SubSystemClass_ActorRefsAssignment_5(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // connections+=LayerConnection* protected class SubSystemClass_ConnectionsAssignment_7 extends AssignmentToken { public SubSystemClass_ConnectionsAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSubSystemClassAccess().getConnectionsAssignment_7(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LayerConnection_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("connections",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("connections"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getLayerConnectionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getSubSystemClassAccess().getConnectionsLayerConnectionParserRuleCall_7_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 SubSystemClass_ConnectionsAssignment_7(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new SubSystemClass_BindingsAssignment_6(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new SubSystemClass_ActorRefsAssignment_5(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // threads+=LogicalThread* protected class SubSystemClass_ThreadsAssignment_8 extends AssignmentToken { public SubSystemClass_ThreadsAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSubSystemClassAccess().getThreadsAssignment_8(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LogicalThread_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("threads",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("threads"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getLogicalThreadRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getSubSystemClassAccess().getThreadsLogicalThreadParserRuleCall_8_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 SubSystemClass_ThreadsAssignment_8(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new SubSystemClass_ConnectionsAssignment_7(lastRuleCallOrigin, next, actIndex, consumed); case 2: return new SubSystemClass_BindingsAssignment_6(lastRuleCallOrigin, next, actIndex, consumed); case 3: return new SubSystemClass_ActorRefsAssignment_5(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class SubSystemClass_RightCurlyBracketKeyword_9 extends KeywordToken { public SubSystemClass_RightCurlyBracketKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSubSystemClassAccess().getRightCurlyBracketKeyword_9(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SubSystemClass_ThreadsAssignment_8(lastRuleCallOrigin, this, 0, inst); case 1: return new SubSystemClass_ConnectionsAssignment_7(lastRuleCallOrigin, this, 1, inst); case 2: return new SubSystemClass_BindingsAssignment_6(lastRuleCallOrigin, this, 2, inst); case 3: return new SubSystemClass_ActorRefsAssignment_5(lastRuleCallOrigin, this, 3, inst); default: return null; } } } /************ end Rule SubSystemClass ****************/ /************ begin Rule LogicalThread **************** * * LogicalThread: * "LogicalThread" name=ID "{" instances+=ActorInstancePath ("," instances+=ActorInstancePath)* "}"; * **/ // "LogicalThread" name=ID "{" instances+=ActorInstancePath ("," instances+=ActorInstancePath)* "}" protected class LogicalThread_Group extends GroupToken { public LogicalThread_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getLogicalThreadAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LogicalThread_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getLogicalThreadRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "LogicalThread" protected class LogicalThread_LogicalThreadKeyword_0 extends KeywordToken { public LogicalThread_LogicalThreadKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getLogicalThreadAccess().getLogicalThreadKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID protected class LogicalThread_NameAssignment_1 extends AssignmentToken { public LogicalThread_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getLogicalThreadAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LogicalThread_LogicalThreadKeyword_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.getLogicalThreadAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getLogicalThreadAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } // "{" protected class LogicalThread_LeftCurlyBracketKeyword_2 extends KeywordToken { public LogicalThread_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getLogicalThreadAccess().getLeftCurlyBracketKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LogicalThread_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // instances+=ActorInstancePath protected class LogicalThread_InstancesAssignment_3 extends AssignmentToken { public LogicalThread_InstancesAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getLogicalThreadAccess().getInstancesAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorInstancePath_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("instances",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("instances"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getActorInstancePathRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getLogicalThreadAccess().getInstancesActorInstancePathParserRuleCall_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 LogicalThread_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," instances+=ActorInstancePath)* protected class LogicalThread_Group_4 extends GroupToken { public LogicalThread_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getLogicalThreadAccess().getGroup_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LogicalThread_InstancesAssignment_4_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class LogicalThread_CommaKeyword_4_0 extends KeywordToken { public LogicalThread_CommaKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getLogicalThreadAccess().getCommaKeyword_4_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LogicalThread_Group_4(lastRuleCallOrigin, this, 0, inst); case 1: return new LogicalThread_InstancesAssignment_3(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // instances+=ActorInstancePath protected class LogicalThread_InstancesAssignment_4_1 extends AssignmentToken { public LogicalThread_InstancesAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getLogicalThreadAccess().getInstancesAssignment_4_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorInstancePath_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("instances",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("instances"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getActorInstancePathRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getLogicalThreadAccess().getInstancesActorInstancePathParserRuleCall_4_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 LogicalThread_CommaKeyword_4_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class LogicalThread_RightCurlyBracketKeyword_5 extends KeywordToken { public LogicalThread_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getLogicalThreadAccess().getRightCurlyBracketKeyword_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LogicalThread_Group_4(lastRuleCallOrigin, this, 0, inst); case 1: return new LogicalThread_InstancesAssignment_3(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule LogicalThread ****************/ /************ begin Rule ActorInstancePath **************** * * ActorInstancePath: * segments+=ID ("." segments+=ID)*; * **/ // segments+=ID ("." segments+=ID)* protected class ActorInstancePath_Group extends GroupToken { public ActorInstancePath_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getActorInstancePathAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorInstancePath_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new ActorInstancePath_SegmentsAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getActorInstancePathRule().getType().getClassifier()) return null; return eObjectConsumer; } } // segments+=ID protected class ActorInstancePath_SegmentsAssignment_0 extends AssignmentToken { public ActorInstancePath_SegmentsAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorInstancePathAccess().getSegmentsAssignment_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("segments",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("segments"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getActorInstancePathAccess().getSegmentsIDTerminalRuleCall_0_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getActorInstancePathAccess().getSegmentsIDTerminalRuleCall_0_0(); return obj; } return null; } } // ("." segments+=ID)* protected class ActorInstancePath_Group_1 extends GroupToken { public ActorInstancePath_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getActorInstancePathAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorInstancePath_SegmentsAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "." protected class ActorInstancePath_FullStopKeyword_1_0 extends KeywordToken { public ActorInstancePath_FullStopKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getActorInstancePathAccess().getFullStopKeyword_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorInstancePath_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new ActorInstancePath_SegmentsAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // segments+=ID protected class ActorInstancePath_SegmentsAssignment_1_1 extends AssignmentToken { public ActorInstancePath_SegmentsAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorInstancePathAccess().getSegmentsAssignment_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorInstancePath_FullStopKeyword_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("segments",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("segments"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getActorInstancePathAccess().getSegmentsIDTerminalRuleCall_1_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getActorInstancePathAccess().getSegmentsIDTerminalRuleCall_1_1_0(); return obj; } return null; } } /************ end Rule ActorInstancePath ****************/ /************ begin Rule Binding **************** * * // TODOHRR: bindings for replicated ports * * // (1) declare several bindings * * // (2) use a notation with 1 to n bindings * * Binding: * "Binding" endpoint1=BindingEndPoint "and" endpoint2=BindingEndPoint; * **/ // "Binding" endpoint1=BindingEndPoint "and" endpoint2=BindingEndPoint protected class Binding_Group extends GroupToken { public Binding_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBindingAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Binding_Endpoint2Assignment_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getBindingRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "Binding" protected class Binding_BindingKeyword_0 extends KeywordToken { public Binding_BindingKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBindingAccess().getBindingKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // endpoint1=BindingEndPoint protected class Binding_Endpoint1Assignment_1 extends AssignmentToken { public Binding_Endpoint1Assignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBindingAccess().getEndpoint1Assignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new BindingEndPoint_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("endpoint1",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("endpoint1"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getBindingEndPointRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBindingAccess().getEndpoint1BindingEndPointParserRuleCall_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 Binding_BindingKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "and" protected class Binding_AndKeyword_2 extends KeywordToken { public Binding_AndKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBindingAccess().getAndKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Binding_Endpoint1Assignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // endpoint2=BindingEndPoint protected class Binding_Endpoint2Assignment_3 extends AssignmentToken { public Binding_Endpoint2Assignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBindingAccess().getEndpoint2Assignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new BindingEndPoint_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("endpoint2",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("endpoint2"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getBindingEndPointRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBindingAccess().getEndpoint2BindingEndPointParserRuleCall_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 Binding_AndKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Binding ****************/ /************ begin Rule BindingEndPoint **************** * * BindingEndPoint: * (actorRef=[ActorContainerRef] ".")? port=[Port]; * **/ // (actorRef=[ActorContainerRef] ".")? port=[Port] protected class BindingEndPoint_Group extends GroupToken { public BindingEndPoint_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBindingEndPointAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new BindingEndPoint_PortAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getBindingEndPointRule().getType().getClassifier()) return null; return eObjectConsumer; } } // (actorRef=[ActorContainerRef] ".")? protected class BindingEndPoint_Group_0 extends GroupToken { public BindingEndPoint_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBindingEndPointAccess().getGroup_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new BindingEndPoint_FullStopKeyword_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // actorRef=[ActorContainerRef] protected class BindingEndPoint_ActorRefAssignment_0_0 extends AssignmentToken { public BindingEndPoint_ActorRefAssignment_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBindingEndPointAccess().getActorRefAssignment_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("actorRef",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("actorRef"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getBindingEndPointAccess().getActorRefActorContainerRefCrossReference_0_0_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getBindingEndPointAccess().getActorRefActorContainerRefCrossReference_0_0_0(); return obj; } } return null; } } // "." protected class BindingEndPoint_FullStopKeyword_0_1 extends KeywordToken { public BindingEndPoint_FullStopKeyword_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBindingEndPointAccess().getFullStopKeyword_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new BindingEndPoint_ActorRefAssignment_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // port=[Port] protected class BindingEndPoint_PortAssignment_1 extends AssignmentToken { public BindingEndPoint_PortAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBindingEndPointAccess().getPortAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new BindingEndPoint_Group_0(lastRuleCallOrigin, this, 0, inst); default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst); } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("port",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("port"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getBindingEndPointAccess().getPortPortCrossReference_1_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getBindingEndPointAccess().getPortPortCrossReference_1_0(); return obj; } } return null; } } /************ end Rule BindingEndPoint ****************/ /************ begin Rule LayerConnection **************** * * LayerConnection: * "LayerConnection" from=SAPoint "satisfied_by" to=SPPoint; * **/ // "LayerConnection" from=SAPoint "satisfied_by" to=SPPoint protected class LayerConnection_Group extends GroupToken { public LayerConnection_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getLayerConnectionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LayerConnection_ToAssignment_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getLayerConnectionRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "LayerConnection" protected class LayerConnection_LayerConnectionKeyword_0 extends KeywordToken { public LayerConnection_LayerConnectionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getLayerConnectionAccess().getLayerConnectionKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // from=SAPoint protected class LayerConnection_FromAssignment_1 extends AssignmentToken { public LayerConnection_FromAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getLayerConnectionAccess().getFromAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SAPoint_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("from",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("from"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getSAPointRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getLayerConnectionAccess().getFromSAPointParserRuleCall_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 LayerConnection_LayerConnectionKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "satisfied_by" protected class LayerConnection_Satisfied_byKeyword_2 extends KeywordToken { public LayerConnection_Satisfied_byKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getLayerConnectionAccess().getSatisfied_byKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new LayerConnection_FromAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // to=SPPoint protected class LayerConnection_ToAssignment_3 extends AssignmentToken { public LayerConnection_ToAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getLayerConnectionAccess().getToAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SPPoint_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("to",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("to"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getSPPointRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getLayerConnectionAccess().getToSPPointParserRuleCall_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 LayerConnection_Satisfied_byKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule LayerConnection ****************/ /************ begin Rule SAPoint **************** * * SAPoint: * RefSAPoint | RelaySAPoint; * **/ // RefSAPoint | RelaySAPoint protected class SAPoint_Alternatives extends AlternativesToken { public SAPoint_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getSAPointAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SAPoint_RefSAPointParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new SAPoint_RelaySAPointParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getRefSAPointRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getRelaySAPointRule().getType().getClassifier()) return null; return eObjectConsumer; } } // RefSAPoint protected class SAPoint_RefSAPointParserRuleCall_0 extends RuleCallToken { public SAPoint_RefSAPointParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getSAPointAccess().getRefSAPointParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RefSAPoint_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getRefSAPointRule().getType().getClassifier()) return null; if(checkForRecursion(RefSAPoint_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); } } } // RelaySAPoint protected class SAPoint_RelaySAPointParserRuleCall_1 extends RuleCallToken { public SAPoint_RelaySAPointParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getSAPointAccess().getRelaySAPointParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RelaySAPoint_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getRelaySAPointRule().getType().getClassifier()) return null; if(checkForRecursion(RelaySAPoint_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 SAPoint ****************/ /************ begin Rule RefSAPoint **************** * * RefSAPoint: // satisfies a sub actor * * "ref" ref=[ActorContainerRef]; * **/ // // satisfies a sub actor // // "ref" ref=[ActorContainerRef] protected class RefSAPoint_Group extends GroupToken { public RefSAPoint_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRefSAPointAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RefSAPoint_RefAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getRefSAPointRule().getType().getClassifier()) return null; return eObjectConsumer; } } // // satisfies a sub actor // // "ref" protected class RefSAPoint_RefKeyword_0 extends KeywordToken { public RefSAPoint_RefKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRefSAPointAccess().getRefKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // ref=[ActorContainerRef] protected class RefSAPoint_RefAssignment_1 extends AssignmentToken { public RefSAPoint_RefAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRefSAPointAccess().getRefAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RefSAPoint_RefKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("ref",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ref"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getRefSAPointAccess().getRefActorContainerRefCrossReference_1_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getRefSAPointAccess().getRefActorContainerRefCrossReference_1_0(); return obj; } } return null; } } /************ end Rule RefSAPoint ****************/ /************ begin Rule RelaySAPoint **************** * * RelaySAPoint: // relays from own interface * * "relay_sap" relay=[SPPRef]; * **/ // // relays from own interface // // "relay_sap" relay=[SPPRef] protected class RelaySAPoint_Group extends GroupToken { public RelaySAPoint_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRelaySAPointAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RelaySAPoint_RelayAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getRelaySAPointRule().getType().getClassifier()) return null; return eObjectConsumer; } } // // relays from own interface // // "relay_sap" protected class RelaySAPoint_Relay_sapKeyword_0 extends KeywordToken { public RelaySAPoint_Relay_sapKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRelaySAPointAccess().getRelay_sapKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // relay=[SPPRef] protected class RelaySAPoint_RelayAssignment_1 extends AssignmentToken { public RelaySAPoint_RelayAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRelaySAPointAccess().getRelayAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RelaySAPoint_Relay_sapKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("relay",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("relay"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getRelaySAPointAccess().getRelaySPPRefCrossReference_1_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getRelaySAPointAccess().getRelaySPPRefCrossReference_1_0(); return obj; } } return null; } } /************ end Rule RelaySAPoint ****************/ /************ begin Rule SPPoint **************** * * SPPoint: * ref=[ActorContainerRef] "." service=[SPPRef]; * **/ // ref=[ActorContainerRef] "." service=[SPPRef] protected class SPPoint_Group extends GroupToken { public SPPoint_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getSPPointAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SPPoint_ServiceAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSPPointRule().getType().getClassifier()) return null; return eObjectConsumer; } } // ref=[ActorContainerRef] protected class SPPoint_RefAssignment_0 extends AssignmentToken { public SPPoint_RefAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSPPointAccess().getRefAssignment_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("ref",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ref"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getSPPointAccess().getRefActorContainerRefCrossReference_0_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getSPPointAccess().getRefActorContainerRefCrossReference_0_0(); return obj; } } return null; } } // "." protected class SPPoint_FullStopKeyword_1 extends KeywordToken { public SPPoint_FullStopKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSPPointAccess().getFullStopKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SPPoint_RefAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // service=[SPPRef] protected class SPPoint_ServiceAssignment_2 extends AssignmentToken { public SPPoint_ServiceAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSPPointAccess().getServiceAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SPPoint_FullStopKeyword_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("service",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("service"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getSPPointAccess().getServiceSPPRefCrossReference_2_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getSPPointAccess().getServiceSPPRefCrossReference_2_0(); return obj; } } return null; } } /************ end Rule SPPoint ****************/ /************ begin Rule ActorRef **************** * * // TODOHRR: support replicated actors * * ActorRef: * "ActorRef" name=ID ":" type=[ActorClass|FQN]; * **/ // "ActorRef" name=ID ":" type=[ActorClass|FQN] protected class ActorRef_Group extends GroupToken { public ActorRef_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getActorRefAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorRef_TypeAssignment_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getActorRefRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "ActorRef" protected class ActorRef_ActorRefKeyword_0 extends KeywordToken { public ActorRef_ActorRefKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getActorRefAccess().getActorRefKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID protected class ActorRef_NameAssignment_1 extends AssignmentToken { public ActorRef_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorRefAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorRef_ActorRefKeyword_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.getActorRefAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getActorRefAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } // ":" protected class ActorRef_ColonKeyword_2 extends KeywordToken { public ActorRef_ColonKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getActorRefAccess().getColonKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorRef_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // type=[ActorClass|FQN] protected class ActorRef_TypeAssignment_3 extends AssignmentToken { public ActorRef_TypeAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getActorRefAccess().getTypeAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ActorRef_ColonKeyword_2(lastRuleCallOrigin, 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::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getActorRefAccess().getTypeActorClassCrossReference_3_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getActorRefAccess().getTypeActorClassCrossReference_3_0(); return obj; } } return null; } } /************ end Rule ActorRef ****************/ /************ begin Rule StateGraphNode **************** * * // ************************************************************** * * // state machine * * StateGraphNode: * State | ChoicePoint | TrPoint; * **/ // State | ChoicePoint | TrPoint protected class StateGraphNode_Alternatives extends AlternativesToken { public StateGraphNode_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getStateGraphNodeAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new StateGraphNode_StateParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new StateGraphNode_ChoicePointParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); case 2: return new StateGraphNode_TrPointParserRuleCall_2(lastRuleCallOrigin, this, 2, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getBaseStateRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getChoicePointRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getEntryPointRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getExitPointRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getRefinedStateRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTransitionPointRule().getType().getClassifier()) return null; return eObjectConsumer; } } // State protected class StateGraphNode_StateParserRuleCall_0 extends RuleCallToken { public StateGraphNode_StateParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getStateGraphNodeAccess().getStateParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new State_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getBaseStateRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getRefinedStateRule().getType().getClassifier()) return null; if(checkForRecursion(State_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); } } } // ChoicePoint protected class StateGraphNode_ChoicePointParserRuleCall_1 extends RuleCallToken { public StateGraphNode_ChoicePointParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getStateGraphNodeAccess().getChoicePointParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ChoicePoint_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getChoicePointRule().getType().getClassifier()) return null; if(checkForRecursion(ChoicePoint_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); } } } // TrPoint protected class StateGraphNode_TrPointParserRuleCall_2 extends RuleCallToken { public StateGraphNode_TrPointParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getStateGraphNodeAccess().getTrPointParserRuleCall_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TrPoint_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getEntryPointRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getExitPointRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTransitionPointRule().getType().getClassifier()) return null; if(checkForRecursion(TrPoint_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); } } } /************ end Rule StateGraphNode ****************/ /************ begin Rule StateGraphItem **************** * * StateGraphItem: * StateGraphNode | Transition; * **/ // StateGraphNode | Transition protected class StateGraphItem_Alternatives extends AlternativesToken { public StateGraphItem_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getStateGraphItemAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new StateGraphItem_StateGraphNodeParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new StateGraphItem_TransitionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getBaseStateRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getCPBranchTransitionRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getChoicePointRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getContinuationTransitionRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getEntryPointRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getExitPointRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getInitialTransitionRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getRefinedStateRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTransitionPointRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTriggeredTransitionRule().getType().getClassifier()) return null; return eObjectConsumer; } } // StateGraphNode protected class StateGraphItem_StateGraphNodeParserRuleCall_0 extends RuleCallToken { public StateGraphItem_StateGraphNodeParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getStateGraphItemAccess().getStateGraphNodeParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new StateGraphNode_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getBaseStateRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getChoicePointRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getEntryPointRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getExitPointRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getRefinedStateRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTransitionPointRule().getType().getClassifier()) return null; if(checkForRecursion(StateGraphNode_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); } } } // Transition protected class StateGraphItem_TransitionParserRuleCall_1 extends RuleCallToken { public StateGraphItem_TransitionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getStateGraphItemAccess().getTransitionParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Transition_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getCPBranchTransitionRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getContinuationTransitionRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getInitialTransitionRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTriggeredTransitionRule().getType().getClassifier()) return null; if(checkForRecursion(Transition_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); } } } /************ end Rule StateGraphItem ****************/ /************ begin Rule State **************** * * State: * BaseState | RefinedState; * **/ // BaseState | RefinedState protected class State_Alternatives extends AlternativesToken { public State_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getStateAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new State_BaseStateParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new State_RefinedStateParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getBaseStateRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getRefinedStateRule().getType().getClassifier()) return null; return eObjectConsumer; } } // BaseState protected class State_BaseStateParserRuleCall_0 extends RuleCallToken { public State_BaseStateParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getStateAccess().getBaseStateParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new BaseState_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getBaseStateRule().getType().getClassifier()) return null; if(checkForRecursion(BaseState_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); } } } // RefinedState protected class State_RefinedStateParserRuleCall_1 extends RuleCallToken { public State_RefinedStateParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getStateAccess().getRefinedStateParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RefinedState_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getRefinedStateRule().getType().getClassifier()) return null; if(checkForRecursion(RefinedState_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 State ****************/ /************ begin Rule StateGraph **************** * * StateGraph: * "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}"; * **/ // "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}" protected class StateGraph_Group extends GroupToken { public StateGraph_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getStateGraphAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new StateGraph_RightCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getStateGraphRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "{" protected class StateGraph_LeftCurlyBracketKeyword_0 extends KeywordToken { public StateGraph_LeftCurlyBracketKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getStateGraphAccess().getLeftCurlyBracketKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ protected class StateGraph_Alternatives_1 extends AlternativesToken { public StateGraph_Alternatives_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getStateGraphAccess().getAlternatives_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new StateGraph_StatesAssignment_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new StateGraph_TrPointsAssignment_1_1(lastRuleCallOrigin, this, 1, inst); case 2: return new StateGraph_ChPointsAssignment_1_2(lastRuleCallOrigin, this, 2, inst); case 3: return new StateGraph_TransitionsAssignment_1_3(lastRuleCallOrigin, this, 3, inst); default: return null; } } } // states+=State protected class StateGraph_StatesAssignment_1_0 extends AssignmentToken { public StateGraph_StatesAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getStateGraphAccess().getStatesAssignment_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new State_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("states",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("states"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getStateRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getStateGraphAccess().getStatesStateParserRuleCall_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 StateGraph_Alternatives_1(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new StateGraph_LeftCurlyBracketKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // trPoints+=TrPoint protected class StateGraph_TrPointsAssignment_1_1 extends AssignmentToken { public StateGraph_TrPointsAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getStateGraphAccess().getTrPointsAssignment_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TrPoint_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("trPoints",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("trPoints"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getTrPointRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getStateGraphAccess().getTrPointsTrPointParserRuleCall_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 StateGraph_Alternatives_1(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new StateGraph_LeftCurlyBracketKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // chPoints+=ChoicePoint protected class StateGraph_ChPointsAssignment_1_2 extends AssignmentToken { public StateGraph_ChPointsAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getStateGraphAccess().getChPointsAssignment_1_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ChoicePoint_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("chPoints",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("chPoints"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getChoicePointRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getStateGraphAccess().getChPointsChoicePointParserRuleCall_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 StateGraph_Alternatives_1(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new StateGraph_LeftCurlyBracketKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // transitions+=Transition protected class StateGraph_TransitionsAssignment_1_3 extends AssignmentToken { public StateGraph_TransitionsAssignment_1_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getStateGraphAccess().getTransitionsAssignment_1_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Transition_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("transitions",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("transitions"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getTransitionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getStateGraphAccess().getTransitionsTransitionParserRuleCall_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 StateGraph_Alternatives_1(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new StateGraph_LeftCurlyBracketKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class StateGraph_RightCurlyBracketKeyword_2 extends KeywordToken { public StateGraph_RightCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getStateGraphAccess().getRightCurlyBracketKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new StateGraph_Alternatives_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule StateGraph ****************/ /************ begin Rule StateMachine **************** * * StateMachine returns StateGraph: * "StateMachine" "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}"; * **/ // "StateMachine" "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}" protected class StateMachine_Group extends GroupToken { public StateMachine_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getStateMachineAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new StateMachine_RightCurlyBracketKeyword_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getStateMachineRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "StateMachine" protected class StateMachine_StateMachineKeyword_0 extends KeywordToken { public StateMachine_StateMachineKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getStateMachineAccess().getStateMachineKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // "{" protected class StateMachine_LeftCurlyBracketKeyword_1 extends KeywordToken { public StateMachine_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new StateMachine_StateMachineKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ protected class StateMachine_Alternatives_2 extends AlternativesToken { public StateMachine_Alternatives_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getStateMachineAccess().getAlternatives_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new StateMachine_StatesAssignment_2_0(lastRuleCallOrigin, this, 0, inst); case 1: return new StateMachine_TrPointsAssignment_2_1(lastRuleCallOrigin, this, 1, inst); case 2: return new StateMachine_ChPointsAssignment_2_2(lastRuleCallOrigin, this, 2, inst); case 3: return new StateMachine_TransitionsAssignment_2_3(lastRuleCallOrigin, this, 3, inst); default: return null; } } } // states+=State protected class StateMachine_StatesAssignment_2_0 extends AssignmentToken { public StateMachine_StatesAssignment_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getStateMachineAccess().getStatesAssignment_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new State_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("states",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("states"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getStateRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getStateMachineAccess().getStatesStateParserRuleCall_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 StateMachine_Alternatives_2(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new StateMachine_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // trPoints+=TrPoint protected class StateMachine_TrPointsAssignment_2_1 extends AssignmentToken { public StateMachine_TrPointsAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getStateMachineAccess().getTrPointsAssignment_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TrPoint_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("trPoints",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("trPoints"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getTrPointRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getStateMachineAccess().getTrPointsTrPointParserRuleCall_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 StateMachine_Alternatives_2(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new StateMachine_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // chPoints+=ChoicePoint protected class StateMachine_ChPointsAssignment_2_2 extends AssignmentToken { public StateMachine_ChPointsAssignment_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getStateMachineAccess().getChPointsAssignment_2_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ChoicePoint_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("chPoints",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("chPoints"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getChoicePointRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getStateMachineAccess().getChPointsChoicePointParserRuleCall_2_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 StateMachine_Alternatives_2(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new StateMachine_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // transitions+=Transition protected class StateMachine_TransitionsAssignment_2_3 extends AssignmentToken { public StateMachine_TransitionsAssignment_2_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getStateMachineAccess().getTransitionsAssignment_2_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Transition_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("transitions",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("transitions"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getTransitionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getStateMachineAccess().getTransitionsTransitionParserRuleCall_2_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 StateMachine_Alternatives_2(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new StateMachine_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class StateMachine_RightCurlyBracketKeyword_3 extends KeywordToken { public StateMachine_RightCurlyBracketKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new StateMachine_Alternatives_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule StateMachine ****************/ /************ begin Rule BaseState **************** * * // entry and exit code have multiplicity many: in BaseState to be able to add derived class codes here, * * // in RefinedState to still have both features in the common base class State * * BaseState: * "State" name=ID "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph" subgraph=StateGraph)? * "}"; * **/ // "State" name=ID "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph" subgraph=StateGraph)? "}" protected class BaseState_Group extends GroupToken { public BaseState_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBaseStateAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new BaseState_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getBaseStateRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "State" protected class BaseState_StateKeyword_0 extends KeywordToken { public BaseState_StateKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBaseStateAccess().getStateKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID protected class BaseState_NameAssignment_1 extends AssignmentToken { public BaseState_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBaseStateAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new BaseState_StateKeyword_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.getBaseStateAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getBaseStateAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } // "{" protected class BaseState_LeftCurlyBracketKeyword_2 extends KeywordToken { public BaseState_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBaseStateAccess().getLeftCurlyBracketKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new BaseState_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ("entry" entryCode=DetailCode)? protected class BaseState_Group_3 extends GroupToken { public BaseState_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBaseStateAccess().getGroup_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new BaseState_EntryCodeAssignment_3_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "entry" protected class BaseState_EntryKeyword_3_0 extends KeywordToken { public BaseState_EntryKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBaseStateAccess().getEntryKeyword_3_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new BaseState_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // entryCode=DetailCode protected class BaseState_EntryCodeAssignment_3_1 extends AssignmentToken { public BaseState_EntryCodeAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBaseStateAccess().getEntryCodeAssignment_3_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("entryCode",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("entryCode"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getDetailCodeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBaseStateAccess().getEntryCodeDetailCodeParserRuleCall_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 BaseState_EntryKeyword_3_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("exit" exitCode=DetailCode)? protected class BaseState_Group_4 extends GroupToken { public BaseState_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBaseStateAccess().getGroup_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new BaseState_ExitCodeAssignment_4_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "exit" protected class BaseState_ExitKeyword_4_0 extends KeywordToken { public BaseState_ExitKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBaseStateAccess().getExitKeyword_4_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new BaseState_Group_3(lastRuleCallOrigin, this, 0, inst); case 1: return new BaseState_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // exitCode=DetailCode protected class BaseState_ExitCodeAssignment_4_1 extends AssignmentToken { public BaseState_ExitCodeAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBaseStateAccess().getExitCodeAssignment_4_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("exitCode",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exitCode"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getDetailCodeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBaseStateAccess().getExitCodeDetailCodeParserRuleCall_4_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 BaseState_ExitKeyword_4_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("subgraph" subgraph=StateGraph)? protected class BaseState_Group_5 extends GroupToken { public BaseState_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBaseStateAccess().getGroup_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new BaseState_SubgraphAssignment_5_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "subgraph" protected class BaseState_SubgraphKeyword_5_0 extends KeywordToken { public BaseState_SubgraphKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBaseStateAccess().getSubgraphKeyword_5_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new BaseState_Group_4(lastRuleCallOrigin, this, 0, inst); case 1: return new BaseState_Group_3(lastRuleCallOrigin, this, 1, inst); case 2: return new BaseState_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst); default: return null; } } } // subgraph=StateGraph protected class BaseState_SubgraphAssignment_5_1 extends AssignmentToken { public BaseState_SubgraphAssignment_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBaseStateAccess().getSubgraphAssignment_5_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new StateGraph_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("subgraph",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("subgraph"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getStateGraphRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBaseStateAccess().getSubgraphStateGraphParserRuleCall_5_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 BaseState_SubgraphKeyword_5_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class BaseState_RightCurlyBracketKeyword_6 extends KeywordToken { public BaseState_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBaseStateAccess().getRightCurlyBracketKeyword_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new BaseState_Group_5(lastRuleCallOrigin, this, 0, inst); case 1: return new BaseState_Group_4(lastRuleCallOrigin, this, 1, inst); case 2: return new BaseState_Group_3(lastRuleCallOrigin, this, 2, inst); case 3: return new BaseState_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 3, inst); default: return null; } } } /************ end Rule BaseState ****************/ /************ begin Rule RefinedState **************** * * RefinedState: * "RefinedState" base=[BaseState|FQN] "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph" * subgraph=StateGraph)? "}"; * **/ // "RefinedState" base=[BaseState|FQN] "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph" // subgraph=StateGraph)? "}" protected class RefinedState_Group extends GroupToken { public RefinedState_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRefinedStateAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RefinedState_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getRefinedStateRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "RefinedState" protected class RefinedState_RefinedStateKeyword_0 extends KeywordToken { public RefinedState_RefinedStateKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRefinedStateAccess().getRefinedStateKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // base=[BaseState|FQN] protected class RefinedState_BaseAssignment_1 extends AssignmentToken { public RefinedState_BaseAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRefinedStateAccess().getBaseAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RefinedState_RefinedStateKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("base",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("base"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getRefinedStateAccess().getBaseBaseStateCrossReference_1_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getRefinedStateAccess().getBaseBaseStateCrossReference_1_0(); return obj; } } return null; } } // "{" protected class RefinedState_LeftCurlyBracketKeyword_2 extends KeywordToken { public RefinedState_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRefinedStateAccess().getLeftCurlyBracketKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RefinedState_BaseAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ("entry" entryCode=DetailCode)? protected class RefinedState_Group_3 extends GroupToken { public RefinedState_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRefinedStateAccess().getGroup_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RefinedState_EntryCodeAssignment_3_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "entry" protected class RefinedState_EntryKeyword_3_0 extends KeywordToken { public RefinedState_EntryKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRefinedStateAccess().getEntryKeyword_3_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RefinedState_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // entryCode=DetailCode protected class RefinedState_EntryCodeAssignment_3_1 extends AssignmentToken { public RefinedState_EntryCodeAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRefinedStateAccess().getEntryCodeAssignment_3_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("entryCode",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("entryCode"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getDetailCodeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRefinedStateAccess().getEntryCodeDetailCodeParserRuleCall_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 RefinedState_EntryKeyword_3_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("exit" exitCode=DetailCode)? protected class RefinedState_Group_4 extends GroupToken { public RefinedState_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRefinedStateAccess().getGroup_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RefinedState_ExitCodeAssignment_4_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "exit" protected class RefinedState_ExitKeyword_4_0 extends KeywordToken { public RefinedState_ExitKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRefinedStateAccess().getExitKeyword_4_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RefinedState_Group_3(lastRuleCallOrigin, this, 0, inst); case 1: return new RefinedState_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // exitCode=DetailCode protected class RefinedState_ExitCodeAssignment_4_1 extends AssignmentToken { public RefinedState_ExitCodeAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRefinedStateAccess().getExitCodeAssignment_4_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("exitCode",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exitCode"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getDetailCodeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRefinedStateAccess().getExitCodeDetailCodeParserRuleCall_4_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 RefinedState_ExitKeyword_4_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("subgraph" subgraph=StateGraph)? protected class RefinedState_Group_5 extends GroupToken { public RefinedState_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRefinedStateAccess().getGroup_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RefinedState_SubgraphAssignment_5_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "subgraph" protected class RefinedState_SubgraphKeyword_5_0 extends KeywordToken { public RefinedState_SubgraphKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRefinedStateAccess().getSubgraphKeyword_5_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RefinedState_Group_4(lastRuleCallOrigin, this, 0, inst); case 1: return new RefinedState_Group_3(lastRuleCallOrigin, this, 1, inst); case 2: return new RefinedState_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst); default: return null; } } } // subgraph=StateGraph protected class RefinedState_SubgraphAssignment_5_1 extends AssignmentToken { public RefinedState_SubgraphAssignment_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRefinedStateAccess().getSubgraphAssignment_5_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new StateGraph_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("subgraph",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("subgraph"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getStateGraphRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRefinedStateAccess().getSubgraphStateGraphParserRuleCall_5_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 RefinedState_SubgraphKeyword_5_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class RefinedState_RightCurlyBracketKeyword_6 extends KeywordToken { public RefinedState_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRefinedStateAccess().getRightCurlyBracketKeyword_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new RefinedState_Group_5(lastRuleCallOrigin, this, 0, inst); case 1: return new RefinedState_Group_4(lastRuleCallOrigin, this, 1, inst); case 2: return new RefinedState_Group_3(lastRuleCallOrigin, this, 2, inst); case 3: return new RefinedState_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 3, inst); default: return null; } } } /************ end Rule RefinedState ****************/ /************ begin Rule DetailCode **************** * * // TODOHRR: provide a means to call super class code (cf. ROOM p. 310f) * * // super() keyword or flag like in Trice * * DetailCode: * "{" commands+=STRING+ "}"; * **/ // "{" commands+=STRING+ "}" protected class DetailCode_Group extends GroupToken { public DetailCode_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getDetailCodeAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_RightCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getDetailCodeRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "{" protected class DetailCode_LeftCurlyBracketKeyword_0 extends KeywordToken { public DetailCode_LeftCurlyBracketKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getDetailCodeAccess().getLeftCurlyBracketKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // commands+=STRING+ protected class DetailCode_CommandsAssignment_1 extends AssignmentToken { public DetailCode_CommandsAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getDetailCodeAccess().getCommandsAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_CommandsAssignment_1(lastRuleCallOrigin, this, 0, inst); case 1: return new DetailCode_LeftCurlyBracketKeyword_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("commands",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("commands"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getDetailCodeAccess().getCommandsSTRINGTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getDetailCodeAccess().getCommandsSTRINGTerminalRuleCall_1_0(); return obj; } return null; } } // "}" protected class DetailCode_RightCurlyBracketKeyword_2 extends KeywordToken { public DetailCode_RightCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getDetailCodeAccess().getRightCurlyBracketKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_CommandsAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule DetailCode ****************/ /************ begin Rule TrPoint **************** * * TrPoint: * TransitionPoint | EntryPoint | ExitPoint; * **/ // TransitionPoint | EntryPoint | ExitPoint protected class TrPoint_Alternatives extends AlternativesToken { public TrPoint_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getTrPointAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TrPoint_TransitionPointParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new TrPoint_EntryPointParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); case 2: return new TrPoint_ExitPointParserRuleCall_2(lastRuleCallOrigin, this, 2, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getEntryPointRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getExitPointRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTransitionPointRule().getType().getClassifier()) return null; return eObjectConsumer; } } // TransitionPoint protected class TrPoint_TransitionPointParserRuleCall_0 extends RuleCallToken { public TrPoint_TransitionPointParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getTrPointAccess().getTransitionPointParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TransitionPoint_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getTransitionPointRule().getType().getClassifier()) return null; if(checkForRecursion(TransitionPoint_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); } } } // EntryPoint protected class TrPoint_EntryPointParserRuleCall_1 extends RuleCallToken { public TrPoint_EntryPointParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getTrPointAccess().getEntryPointParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new EntryPoint_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getEntryPointRule().getType().getClassifier()) return null; if(checkForRecursion(EntryPoint_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); } } } // ExitPoint protected class TrPoint_ExitPointParserRuleCall_2 extends RuleCallToken { public TrPoint_ExitPointParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getTrPointAccess().getExitPointParserRuleCall_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ExitPoint_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getExitPointRule().getType().getClassifier()) return null; if(checkForRecursion(ExitPoint_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 TrPoint ****************/ /************ begin Rule TransitionPoint **************** * * TransitionPoint: * handler?="handler"? "TransitionPoint" name=ID; * **/ // handler?="handler"? "TransitionPoint" name=ID protected class TransitionPoint_Group extends GroupToken { public TransitionPoint_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTransitionPointAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TransitionPoint_NameAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getTransitionPointRule().getType().getClassifier()) return null; return eObjectConsumer; } } // handler?="handler"? protected class TransitionPoint_HandlerAssignment_0 extends AssignmentToken { public TransitionPoint_HandlerAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTransitionPointAccess().getHandlerAssignment_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("handler",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("handler"); if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl type = AssignmentType.KEYWORD; element = grammarAccess.getTransitionPointAccess().getHandlerHandlerKeyword_0_0(); return obj; } return null; } } // "TransitionPoint" protected class TransitionPoint_TransitionPointKeyword_1 extends KeywordToken { public TransitionPoint_TransitionPointKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTransitionPointAccess().getTransitionPointKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TransitionPoint_HandlerAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst); } } } // name=ID protected class TransitionPoint_NameAssignment_2 extends AssignmentToken { public TransitionPoint_NameAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTransitionPointAccess().getNameAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TransitionPoint_TransitionPointKeyword_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.getTransitionPointAccess().getNameIDTerminalRuleCall_2_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getTransitionPointAccess().getNameIDTerminalRuleCall_2_0(); return obj; } return null; } } /************ end Rule TransitionPoint ****************/ /************ begin Rule EntryPoint **************** * * EntryPoint: * "EntryPoint" name=ID; * **/ // "EntryPoint" name=ID protected class EntryPoint_Group extends GroupToken { public EntryPoint_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getEntryPointAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new EntryPoint_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getEntryPointRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "EntryPoint" protected class EntryPoint_EntryPointKeyword_0 extends KeywordToken { public EntryPoint_EntryPointKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getEntryPointAccess().getEntryPointKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID protected class EntryPoint_NameAssignment_1 extends AssignmentToken { public EntryPoint_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getEntryPointAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new EntryPoint_EntryPointKeyword_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.getEntryPointAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getEntryPointAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } /************ end Rule EntryPoint ****************/ /************ begin Rule ExitPoint **************** * * ExitPoint: * "ExitPoint" name=ID; * **/ // "ExitPoint" name=ID protected class ExitPoint_Group extends GroupToken { public ExitPoint_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExitPointAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ExitPoint_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getExitPointRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "ExitPoint" protected class ExitPoint_ExitPointKeyword_0 extends KeywordToken { public ExitPoint_ExitPointKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExitPointAccess().getExitPointKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID protected class ExitPoint_NameAssignment_1 extends AssignmentToken { public ExitPoint_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExitPointAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ExitPoint_ExitPointKeyword_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.getExitPointAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getExitPointAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } /************ end Rule ExitPoint ****************/ /************ begin Rule ChoicePoint **************** * * ChoicePoint: * "ChoicePoint" name=ID; * **/ // "ChoicePoint" name=ID protected class ChoicePoint_Group extends GroupToken { public ChoicePoint_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getChoicePointAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ChoicePoint_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getChoicePointRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "ChoicePoint" protected class ChoicePoint_ChoicePointKeyword_0 extends KeywordToken { public ChoicePoint_ChoicePointKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getChoicePointAccess().getChoicePointKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID protected class ChoicePoint_NameAssignment_1 extends AssignmentToken { public ChoicePoint_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getChoicePointAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ChoicePoint_ChoicePointKeyword_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.getChoicePointAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getChoicePointAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } /************ end Rule ChoicePoint ****************/ /************ begin Rule Transition **************** * * Transition: * InitialTransition | NonInitialTransition; * **/ // InitialTransition | NonInitialTransition protected class Transition_Alternatives extends AlternativesToken { public Transition_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getTransitionAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Transition_InitialTransitionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new Transition_NonInitialTransitionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getCPBranchTransitionRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getContinuationTransitionRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getInitialTransitionRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTriggeredTransitionRule().getType().getClassifier()) return null; return eObjectConsumer; } } // InitialTransition protected class Transition_InitialTransitionParserRuleCall_0 extends RuleCallToken { public Transition_InitialTransitionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getTransitionAccess().getInitialTransitionParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new InitialTransition_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getInitialTransitionRule().getType().getClassifier()) return null; if(checkForRecursion(InitialTransition_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); } } } // NonInitialTransition protected class Transition_NonInitialTransitionParserRuleCall_1 extends RuleCallToken { public Transition_NonInitialTransitionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getTransitionAccess().getNonInitialTransitionParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new NonInitialTransition_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getCPBranchTransitionRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getContinuationTransitionRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTriggeredTransitionRule().getType().getClassifier()) return null; if(checkForRecursion(NonInitialTransition_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); } } } /************ end Rule Transition ****************/ /************ begin Rule NonInitialTransition **************** * * NonInitialTransition: * TriggeredTransition | ContinuationTransition | CPBranchTransition; * **/ // TriggeredTransition | ContinuationTransition | CPBranchTransition protected class NonInitialTransition_Alternatives extends AlternativesToken { public NonInitialTransition_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getNonInitialTransitionAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new NonInitialTransition_TriggeredTransitionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new NonInitialTransition_ContinuationTransitionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); case 2: return new NonInitialTransition_CPBranchTransitionParserRuleCall_2(lastRuleCallOrigin, this, 2, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getCPBranchTransitionRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getContinuationTransitionRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTriggeredTransitionRule().getType().getClassifier()) return null; return eObjectConsumer; } } // TriggeredTransition protected class NonInitialTransition_TriggeredTransitionParserRuleCall_0 extends RuleCallToken { public NonInitialTransition_TriggeredTransitionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getNonInitialTransitionAccess().getTriggeredTransitionParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TriggeredTransition_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getTriggeredTransitionRule().getType().getClassifier()) return null; if(checkForRecursion(TriggeredTransition_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); } } } // ContinuationTransition protected class NonInitialTransition_ContinuationTransitionParserRuleCall_1 extends RuleCallToken { public NonInitialTransition_ContinuationTransitionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getNonInitialTransitionAccess().getContinuationTransitionParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ContinuationTransition_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getContinuationTransitionRule().getType().getClassifier()) return null; if(checkForRecursion(ContinuationTransition_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); } } } // CPBranchTransition protected class NonInitialTransition_CPBranchTransitionParserRuleCall_2 extends RuleCallToken { public NonInitialTransition_CPBranchTransitionParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getNonInitialTransitionAccess().getCPBranchTransitionParserRuleCall_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new CPBranchTransition_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getCPBranchTransitionRule().getType().getClassifier()) return null; if(checkForRecursion(CPBranchTransition_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 NonInitialTransition ****************/ /************ begin Rule InitialTransition **************** * * InitialTransition: * "Transition" name=ID? ":" "initial" "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}"; * **/ // "Transition" name=ID? ":" "initial" "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}" protected class InitialTransition_Group extends GroupToken { public InitialTransition_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getInitialTransitionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new InitialTransition_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getInitialTransitionRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "Transition" protected class InitialTransition_TransitionKeyword_0 extends KeywordToken { public InitialTransition_TransitionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getInitialTransitionAccess().getTransitionKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID? protected class InitialTransition_NameAssignment_1 extends AssignmentToken { public InitialTransition_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getInitialTransitionAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new InitialTransition_TransitionKeyword_0(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.getInitialTransitionAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getInitialTransitionAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } // ":" protected class InitialTransition_ColonKeyword_2 extends KeywordToken { public InitialTransition_ColonKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getInitialTransitionAccess().getColonKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new InitialTransition_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); case 1: return new InitialTransition_TransitionKeyword_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "initial" protected class InitialTransition_InitialKeyword_3 extends KeywordToken { public InitialTransition_InitialKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getInitialTransitionAccess().getInitialKeyword_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new InitialTransition_ColonKeyword_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "->" protected class InitialTransition_HyphenMinusGreaterThanSignKeyword_4 extends KeywordToken { public InitialTransition_HyphenMinusGreaterThanSignKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getInitialTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new InitialTransition_InitialKeyword_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // to=TransitionTerminal protected class InitialTransition_ToAssignment_5 extends AssignmentToken { public InitialTransition_ToAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getInitialTransitionAccess().getToAssignment_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TransitionTerminal_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("to",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("to"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getTransitionTerminalRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getInitialTransitionAccess().getToTransitionTerminalParserRuleCall_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 InitialTransition_HyphenMinusGreaterThanSignKeyword_4(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "{" protected class InitialTransition_LeftCurlyBracketKeyword_6 extends KeywordToken { public InitialTransition_LeftCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getInitialTransitionAccess().getLeftCurlyBracketKeyword_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new InitialTransition_ToAssignment_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ("action" action=DetailCode)? protected class InitialTransition_Group_7 extends GroupToken { public InitialTransition_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getInitialTransitionAccess().getGroup_7(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new InitialTransition_ActionAssignment_7_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "action" protected class InitialTransition_ActionKeyword_7_0 extends KeywordToken { public InitialTransition_ActionKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getInitialTransitionAccess().getActionKeyword_7_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new InitialTransition_LeftCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // action=DetailCode protected class InitialTransition_ActionAssignment_7_1 extends AssignmentToken { public InitialTransition_ActionAssignment_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getInitialTransitionAccess().getActionAssignment_7_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("action",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("action"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getDetailCodeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getInitialTransitionAccess().getActionDetailCodeParserRuleCall_7_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 InitialTransition_ActionKeyword_7_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class InitialTransition_RightCurlyBracketKeyword_8 extends KeywordToken { public InitialTransition_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getInitialTransitionAccess().getRightCurlyBracketKeyword_8(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new InitialTransition_Group_7(lastRuleCallOrigin, this, 0, inst); case 1: return new InitialTransition_LeftCurlyBracketKeyword_6(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule InitialTransition ****************/ /************ begin Rule ContinuationTransition **************** * * ContinuationTransition: * "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}"; * **/ // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}" protected class ContinuationTransition_Group extends GroupToken { public ContinuationTransition_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getContinuationTransitionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ContinuationTransition_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getContinuationTransitionRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "Transition" protected class ContinuationTransition_TransitionKeyword_0 extends KeywordToken { public ContinuationTransition_TransitionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getContinuationTransitionAccess().getTransitionKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID? protected class ContinuationTransition_NameAssignment_1 extends AssignmentToken { public ContinuationTransition_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getContinuationTransitionAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ContinuationTransition_TransitionKeyword_0(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.getContinuationTransitionAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getContinuationTransitionAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } // ":" protected class ContinuationTransition_ColonKeyword_2 extends KeywordToken { public ContinuationTransition_ColonKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getContinuationTransitionAccess().getColonKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ContinuationTransition_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); case 1: return new ContinuationTransition_TransitionKeyword_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // from=TransitionTerminal protected class ContinuationTransition_FromAssignment_3 extends AssignmentToken { public ContinuationTransition_FromAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getContinuationTransitionAccess().getFromAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TransitionTerminal_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("from",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("from"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getTransitionTerminalRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getContinuationTransitionAccess().getFromTransitionTerminalParserRuleCall_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 ContinuationTransition_ColonKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "->" protected class ContinuationTransition_HyphenMinusGreaterThanSignKeyword_4 extends KeywordToken { public ContinuationTransition_HyphenMinusGreaterThanSignKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getContinuationTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ContinuationTransition_FromAssignment_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // to=TransitionTerminal protected class ContinuationTransition_ToAssignment_5 extends AssignmentToken { public ContinuationTransition_ToAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getContinuationTransitionAccess().getToAssignment_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TransitionTerminal_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("to",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("to"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getTransitionTerminalRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getContinuationTransitionAccess().getToTransitionTerminalParserRuleCall_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 ContinuationTransition_HyphenMinusGreaterThanSignKeyword_4(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "{" protected class ContinuationTransition_LeftCurlyBracketKeyword_6 extends KeywordToken { public ContinuationTransition_LeftCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getContinuationTransitionAccess().getLeftCurlyBracketKeyword_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ContinuationTransition_ToAssignment_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ("action" action=DetailCode)? protected class ContinuationTransition_Group_7 extends GroupToken { public ContinuationTransition_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getContinuationTransitionAccess().getGroup_7(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ContinuationTransition_ActionAssignment_7_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "action" protected class ContinuationTransition_ActionKeyword_7_0 extends KeywordToken { public ContinuationTransition_ActionKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getContinuationTransitionAccess().getActionKeyword_7_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ContinuationTransition_LeftCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // action=DetailCode protected class ContinuationTransition_ActionAssignment_7_1 extends AssignmentToken { public ContinuationTransition_ActionAssignment_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getContinuationTransitionAccess().getActionAssignment_7_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("action",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("action"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getDetailCodeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getContinuationTransitionAccess().getActionDetailCodeParserRuleCall_7_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 ContinuationTransition_ActionKeyword_7_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class ContinuationTransition_RightCurlyBracketKeyword_8 extends KeywordToken { public ContinuationTransition_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getContinuationTransitionAccess().getRightCurlyBracketKeyword_8(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ContinuationTransition_Group_7(lastRuleCallOrigin, this, 0, inst); case 1: return new ContinuationTransition_LeftCurlyBracketKeyword_6(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule ContinuationTransition ****************/ /************ begin Rule TriggeredTransition **************** * * TriggeredTransition: * "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "triggers" "{" triggers+=Trigger * ("or" triggers+=Trigger)* "}" ("action" action=DetailCode)? "}"; * **/ // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "triggers" "{" triggers+=Trigger ("or" // triggers+=Trigger)* "}" ("action" action=DetailCode)? "}" protected class TriggeredTransition_Group extends GroupToken { public TriggeredTransition_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTriggeredTransitionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TriggeredTransition_RightCurlyBracketKeyword_13(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getTriggeredTransitionRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "Transition" protected class TriggeredTransition_TransitionKeyword_0 extends KeywordToken { public TriggeredTransition_TransitionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTriggeredTransitionAccess().getTransitionKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID? protected class TriggeredTransition_NameAssignment_1 extends AssignmentToken { public TriggeredTransition_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTriggeredTransitionAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TriggeredTransition_TransitionKeyword_0(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.getTriggeredTransitionAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getTriggeredTransitionAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } // ":" protected class TriggeredTransition_ColonKeyword_2 extends KeywordToken { public TriggeredTransition_ColonKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTriggeredTransitionAccess().getColonKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TriggeredTransition_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); case 1: return new TriggeredTransition_TransitionKeyword_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // from=TransitionTerminal protected class TriggeredTransition_FromAssignment_3 extends AssignmentToken { public TriggeredTransition_FromAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTriggeredTransitionAccess().getFromAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TransitionTerminal_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("from",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("from"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getTransitionTerminalRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTriggeredTransitionAccess().getFromTransitionTerminalParserRuleCall_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 TriggeredTransition_ColonKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "->" protected class TriggeredTransition_HyphenMinusGreaterThanSignKeyword_4 extends KeywordToken { public TriggeredTransition_HyphenMinusGreaterThanSignKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTriggeredTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TriggeredTransition_FromAssignment_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // to=TransitionTerminal protected class TriggeredTransition_ToAssignment_5 extends AssignmentToken { public TriggeredTransition_ToAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTriggeredTransitionAccess().getToAssignment_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TransitionTerminal_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("to",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("to"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getTransitionTerminalRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTriggeredTransitionAccess().getToTransitionTerminalParserRuleCall_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 TriggeredTransition_HyphenMinusGreaterThanSignKeyword_4(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "{" protected class TriggeredTransition_LeftCurlyBracketKeyword_6 extends KeywordToken { public TriggeredTransition_LeftCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TriggeredTransition_ToAssignment_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "triggers" protected class TriggeredTransition_TriggersKeyword_7 extends KeywordToken { public TriggeredTransition_TriggersKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTriggeredTransitionAccess().getTriggersKeyword_7(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TriggeredTransition_LeftCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "{" protected class TriggeredTransition_LeftCurlyBracketKeyword_8 extends KeywordToken { public TriggeredTransition_LeftCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_8(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TriggeredTransition_TriggersKeyword_7(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // triggers+=Trigger protected class TriggeredTransition_TriggersAssignment_9 extends AssignmentToken { public TriggeredTransition_TriggersAssignment_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTriggeredTransitionAccess().getTriggersAssignment_9(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Trigger_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("triggers",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("triggers"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getTriggerRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTriggeredTransitionAccess().getTriggersTriggerParserRuleCall_9_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 TriggeredTransition_LeftCurlyBracketKeyword_8(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("or" triggers+=Trigger)* protected class TriggeredTransition_Group_10 extends GroupToken { public TriggeredTransition_Group_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTriggeredTransitionAccess().getGroup_10(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TriggeredTransition_TriggersAssignment_10_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "or" protected class TriggeredTransition_OrKeyword_10_0 extends KeywordToken { public TriggeredTransition_OrKeyword_10_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTriggeredTransitionAccess().getOrKeyword_10_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TriggeredTransition_Group_10(lastRuleCallOrigin, this, 0, inst); case 1: return new TriggeredTransition_TriggersAssignment_9(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // triggers+=Trigger protected class TriggeredTransition_TriggersAssignment_10_1 extends AssignmentToken { public TriggeredTransition_TriggersAssignment_10_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTriggeredTransitionAccess().getTriggersAssignment_10_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Trigger_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("triggers",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("triggers"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getTriggerRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTriggeredTransitionAccess().getTriggersTriggerParserRuleCall_10_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 TriggeredTransition_OrKeyword_10_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class TriggeredTransition_RightCurlyBracketKeyword_11 extends KeywordToken { public TriggeredTransition_RightCurlyBracketKeyword_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_11(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TriggeredTransition_Group_10(lastRuleCallOrigin, this, 0, inst); case 1: return new TriggeredTransition_TriggersAssignment_9(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // ("action" action=DetailCode)? protected class TriggeredTransition_Group_12 extends GroupToken { public TriggeredTransition_Group_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTriggeredTransitionAccess().getGroup_12(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TriggeredTransition_ActionAssignment_12_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "action" protected class TriggeredTransition_ActionKeyword_12_0 extends KeywordToken { public TriggeredTransition_ActionKeyword_12_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTriggeredTransitionAccess().getActionKeyword_12_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TriggeredTransition_RightCurlyBracketKeyword_11(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // action=DetailCode protected class TriggeredTransition_ActionAssignment_12_1 extends AssignmentToken { public TriggeredTransition_ActionAssignment_12_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTriggeredTransitionAccess().getActionAssignment_12_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("action",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("action"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getDetailCodeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTriggeredTransitionAccess().getActionDetailCodeParserRuleCall_12_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 TriggeredTransition_ActionKeyword_12_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class TriggeredTransition_RightCurlyBracketKeyword_13 extends KeywordToken { public TriggeredTransition_RightCurlyBracketKeyword_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_13(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TriggeredTransition_Group_12(lastRuleCallOrigin, this, 0, inst); case 1: return new TriggeredTransition_RightCurlyBracketKeyword_11(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule TriggeredTransition ****************/ /************ begin Rule CPBranchTransition **************** * * CPBranchTransition: * "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "cond" condition=DetailCode ("action" * action=DetailCode)? "}"; * **/ // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "cond" condition=DetailCode ("action" // action=DetailCode)? "}" protected class CPBranchTransition_Group extends GroupToken { public CPBranchTransition_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getCPBranchTransitionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new CPBranchTransition_RightCurlyBracketKeyword_10(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getCPBranchTransitionRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "Transition" protected class CPBranchTransition_TransitionKeyword_0 extends KeywordToken { public CPBranchTransition_TransitionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCPBranchTransitionAccess().getTransitionKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // name=ID? protected class CPBranchTransition_NameAssignment_1 extends AssignmentToken { public CPBranchTransition_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getCPBranchTransitionAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new CPBranchTransition_TransitionKeyword_0(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.getCPBranchTransitionAccess().getNameIDTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getCPBranchTransitionAccess().getNameIDTerminalRuleCall_1_0(); return obj; } return null; } } // ":" protected class CPBranchTransition_ColonKeyword_2 extends KeywordToken { public CPBranchTransition_ColonKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCPBranchTransitionAccess().getColonKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new CPBranchTransition_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); case 1: return new CPBranchTransition_TransitionKeyword_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // from=TransitionTerminal protected class CPBranchTransition_FromAssignment_3 extends AssignmentToken { public CPBranchTransition_FromAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getCPBranchTransitionAccess().getFromAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TransitionTerminal_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("from",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("from"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getTransitionTerminalRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getCPBranchTransitionAccess().getFromTransitionTerminalParserRuleCall_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 CPBranchTransition_ColonKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "->" protected class CPBranchTransition_HyphenMinusGreaterThanSignKeyword_4 extends KeywordToken { public CPBranchTransition_HyphenMinusGreaterThanSignKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCPBranchTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new CPBranchTransition_FromAssignment_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // to=TransitionTerminal protected class CPBranchTransition_ToAssignment_5 extends AssignmentToken { public CPBranchTransition_ToAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getCPBranchTransitionAccess().getToAssignment_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TransitionTerminal_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("to",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("to"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getTransitionTerminalRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getCPBranchTransitionAccess().getToTransitionTerminalParserRuleCall_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 CPBranchTransition_HyphenMinusGreaterThanSignKeyword_4(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "{" protected class CPBranchTransition_LeftCurlyBracketKeyword_6 extends KeywordToken { public CPBranchTransition_LeftCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCPBranchTransitionAccess().getLeftCurlyBracketKeyword_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new CPBranchTransition_ToAssignment_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "cond" protected class CPBranchTransition_CondKeyword_7 extends KeywordToken { public CPBranchTransition_CondKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCPBranchTransitionAccess().getCondKeyword_7(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new CPBranchTransition_LeftCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // condition=DetailCode protected class CPBranchTransition_ConditionAssignment_8 extends AssignmentToken { public CPBranchTransition_ConditionAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getCPBranchTransitionAccess().getConditionAssignment_8(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_Group(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.getDetailCodeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getCPBranchTransitionAccess().getConditionDetailCodeParserRuleCall_8_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 CPBranchTransition_CondKeyword_7(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("action" action=DetailCode)? protected class CPBranchTransition_Group_9 extends GroupToken { public CPBranchTransition_Group_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getCPBranchTransitionAccess().getGroup_9(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new CPBranchTransition_ActionAssignment_9_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "action" protected class CPBranchTransition_ActionKeyword_9_0 extends KeywordToken { public CPBranchTransition_ActionKeyword_9_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCPBranchTransitionAccess().getActionKeyword_9_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new CPBranchTransition_ConditionAssignment_8(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // action=DetailCode protected class CPBranchTransition_ActionAssignment_9_1 extends AssignmentToken { public CPBranchTransition_ActionAssignment_9_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getCPBranchTransitionAccess().getActionAssignment_9_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("action",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("action"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getDetailCodeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getCPBranchTransitionAccess().getActionDetailCodeParserRuleCall_9_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 CPBranchTransition_ActionKeyword_9_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class CPBranchTransition_RightCurlyBracketKeyword_10 extends KeywordToken { public CPBranchTransition_RightCurlyBracketKeyword_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCPBranchTransitionAccess().getRightCurlyBracketKeyword_10(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new CPBranchTransition_Group_9(lastRuleCallOrigin, this, 0, inst); case 1: return new CPBranchTransition_ConditionAssignment_8(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule CPBranchTransition ****************/ /************ begin Rule TransitionTerminal **************** * * TransitionTerminal: * StateTerminal | TrPointTerminal | SubStateTrPointTerminal | ChoicepointTerminal; * **/ // StateTerminal | TrPointTerminal | SubStateTrPointTerminal | ChoicepointTerminal protected class TransitionTerminal_Alternatives extends AlternativesToken { public TransitionTerminal_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getTransitionTerminalAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TransitionTerminal_StateTerminalParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new TransitionTerminal_TrPointTerminalParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); case 2: return new TransitionTerminal_SubStateTrPointTerminalParserRuleCall_2(lastRuleCallOrigin, this, 2, inst); case 3: return new TransitionTerminal_ChoicepointTerminalParserRuleCall_3(lastRuleCallOrigin, this, 3, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getChoicepointTerminalRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getStateTerminalRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getSubStateTrPointTerminalRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTrPointTerminalRule().getType().getClassifier()) return null; return eObjectConsumer; } } // StateTerminal protected class TransitionTerminal_StateTerminalParserRuleCall_0 extends RuleCallToken { public TransitionTerminal_StateTerminalParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getTransitionTerminalAccess().getStateTerminalParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new StateTerminal_StateAssignment(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getStateTerminalRule().getType().getClassifier()) return null; if(checkForRecursion(StateTerminal_StateAssignment.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); } } } // TrPointTerminal protected class TransitionTerminal_TrPointTerminalParserRuleCall_1 extends RuleCallToken { public TransitionTerminal_TrPointTerminalParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getTransitionTerminalAccess().getTrPointTerminalParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TrPointTerminal_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getTrPointTerminalRule().getType().getClassifier()) return null; if(checkForRecursion(TrPointTerminal_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); } } } // SubStateTrPointTerminal protected class TransitionTerminal_SubStateTrPointTerminalParserRuleCall_2 extends RuleCallToken { public TransitionTerminal_SubStateTrPointTerminalParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getTransitionTerminalAccess().getSubStateTrPointTerminalParserRuleCall_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SubStateTrPointTerminal_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSubStateTrPointTerminalRule().getType().getClassifier()) return null; if(checkForRecursion(SubStateTrPointTerminal_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); } } } // ChoicepointTerminal protected class TransitionTerminal_ChoicepointTerminalParserRuleCall_3 extends RuleCallToken { public TransitionTerminal_ChoicepointTerminalParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getTransitionTerminalAccess().getChoicepointTerminalParserRuleCall_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ChoicepointTerminal_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getChoicepointTerminalRule().getType().getClassifier()) return null; if(checkForRecursion(ChoicepointTerminal_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 TransitionTerminal ****************/ /************ begin Rule StateTerminal **************** * * StateTerminal: * state=[BaseState]; * **/ // state=[BaseState] protected class StateTerminal_StateAssignment extends AssignmentToken { public StateTerminal_StateAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getStateTerminalAccess().getStateAssignment(); } @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.getStateTerminalRule().getType().getClassifier()) return null; if((value = eObjectConsumer.getConsumable("state",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("state"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getStateTerminalAccess().getStateBaseStateCrossReference_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getStateTerminalAccess().getStateBaseStateCrossReference_0(); return obj; } } return null; } } /************ end Rule StateTerminal ****************/ /************ begin Rule TrPointTerminal **************** * * TrPointTerminal: * "my" trPoint=[TrPoint]; * **/ // "my" trPoint=[TrPoint] protected class TrPointTerminal_Group extends GroupToken { public TrPointTerminal_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTrPointTerminalAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TrPointTerminal_TrPointAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getTrPointTerminalRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "my" protected class TrPointTerminal_MyKeyword_0 extends KeywordToken { public TrPointTerminal_MyKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTrPointTerminalAccess().getMyKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // trPoint=[TrPoint] protected class TrPointTerminal_TrPointAssignment_1 extends AssignmentToken { public TrPointTerminal_TrPointAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTrPointTerminalAccess().getTrPointAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new TrPointTerminal_MyKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("trPoint",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("trPoint"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getTrPointTerminalAccess().getTrPointTrPointCrossReference_1_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getTrPointTerminalAccess().getTrPointTrPointCrossReference_1_0(); return obj; } } return null; } } /************ end Rule TrPointTerminal ****************/ /************ begin Rule SubStateTrPointTerminal **************** * * SubStateTrPointTerminal: * trPoint=[TrPoint] "of" state=[BaseState]; * **/ // trPoint=[TrPoint] "of" state=[BaseState] protected class SubStateTrPointTerminal_Group extends GroupToken { public SubStateTrPointTerminal_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getSubStateTrPointTerminalAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SubStateTrPointTerminal_StateAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getSubStateTrPointTerminalRule().getType().getClassifier()) return null; return eObjectConsumer; } } // trPoint=[TrPoint] protected class SubStateTrPointTerminal_TrPointAssignment_0 extends AssignmentToken { public SubStateTrPointTerminal_TrPointAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSubStateTrPointTerminalAccess().getTrPointAssignment_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("trPoint",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("trPoint"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointTrPointCrossReference_0_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getSubStateTrPointTerminalAccess().getTrPointTrPointCrossReference_0_0(); return obj; } } return null; } } // "of" protected class SubStateTrPointTerminal_OfKeyword_1 extends KeywordToken { public SubStateTrPointTerminal_OfKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSubStateTrPointTerminalAccess().getOfKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SubStateTrPointTerminal_TrPointAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // state=[BaseState] protected class SubStateTrPointTerminal_StateAssignment_2 extends AssignmentToken { public SubStateTrPointTerminal_StateAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSubStateTrPointTerminalAccess().getStateAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new SubStateTrPointTerminal_OfKeyword_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("state",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("state"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getSubStateTrPointTerminalAccess().getStateBaseStateCrossReference_2_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getSubStateTrPointTerminalAccess().getStateBaseStateCrossReference_2_0(); return obj; } } return null; } } /************ end Rule SubStateTrPointTerminal ****************/ /************ begin Rule ChoicepointTerminal **************** * * ChoicepointTerminal: * "cp" cp=[ChoicePoint]; * **/ // "cp" cp=[ChoicePoint] protected class ChoicepointTerminal_Group extends GroupToken { public ChoicepointTerminal_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getChoicepointTerminalAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ChoicepointTerminal_CpAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getChoicepointTerminalRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "cp" protected class ChoicepointTerminal_CpKeyword_0 extends KeywordToken { public ChoicepointTerminal_CpKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getChoicepointTerminalAccess().getCpKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // cp=[ChoicePoint] protected class ChoicepointTerminal_CpAssignment_1 extends AssignmentToken { public ChoicepointTerminal_CpAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getChoicepointTerminalAccess().getCpAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new ChoicepointTerminal_CpKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("cp",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("cp"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getChoicepointTerminalAccess().getCpChoicePointCrossReference_1_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getChoicepointTerminalAccess().getCpChoicePointCrossReference_1_0(); return obj; } } return null; } } /************ end Rule ChoicepointTerminal ****************/ /************ begin Rule Trigger **************** * * //TransitionSource: TransitionTerminal|ChoicePointCaseRef|ChoicePointDefaultRef; * * //TransitionSource: TransitionTerminal|ChoicePointRef; * * //TransitionDest: TransitionTerminal|ChoicePointRef; * * //ChoicePointCaseRef: 'cp' cp=[ChoicePoint|ID] 'case' case=[ChoicePointCase|ID]; * * //ChoicePointDefaultRef: 'cp' cp=[ChoicePoint|ID] 'default'; * * //ChoicePointRef: 'cp' cp=[ChoicePoint|ID]; * * Trigger: * "<" msgFromIfPairs+=MessageFromIf ("|" msgFromIfPairs+=MessageFromIf)* guard=Guard? ">"; * **/ // "<" msgFromIfPairs+=MessageFromIf ("|" msgFromIfPairs+=MessageFromIf)* guard=Guard? ">" protected class Trigger_Group extends GroupToken { public Trigger_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTriggerAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Trigger_GreaterThanSignKeyword_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getTriggerRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "<" protected class Trigger_LessThanSignKeyword_0 extends KeywordToken { public Trigger_LessThanSignKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTriggerAccess().getLessThanSignKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // msgFromIfPairs+=MessageFromIf protected class Trigger_MsgFromIfPairsAssignment_1 extends AssignmentToken { public Trigger_MsgFromIfPairsAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTriggerAccess().getMsgFromIfPairsAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MessageFromIf_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("msgFromIfPairs",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("msgFromIfPairs"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getMessageFromIfRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTriggerAccess().getMsgFromIfPairsMessageFromIfParserRuleCall_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 Trigger_LessThanSignKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("|" msgFromIfPairs+=MessageFromIf)* protected class Trigger_Group_2 extends GroupToken { public Trigger_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTriggerAccess().getGroup_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Trigger_MsgFromIfPairsAssignment_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "|" protected class Trigger_VerticalLineKeyword_2_0 extends KeywordToken { public Trigger_VerticalLineKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTriggerAccess().getVerticalLineKeyword_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Trigger_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new Trigger_MsgFromIfPairsAssignment_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // msgFromIfPairs+=MessageFromIf protected class Trigger_MsgFromIfPairsAssignment_2_1 extends AssignmentToken { public Trigger_MsgFromIfPairsAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTriggerAccess().getMsgFromIfPairsAssignment_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MessageFromIf_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("msgFromIfPairs",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("msgFromIfPairs"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getMessageFromIfRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTriggerAccess().getMsgFromIfPairsMessageFromIfParserRuleCall_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 Trigger_VerticalLineKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // guard=Guard? protected class Trigger_GuardAssignment_3 extends AssignmentToken { public Trigger_GuardAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTriggerAccess().getGuardAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Guard_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("guard",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("guard"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getGuardRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTriggerAccess().getGuardGuardParserRuleCall_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 Trigger_Group_2(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new Trigger_MsgFromIfPairsAssignment_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ">" protected class Trigger_GreaterThanSignKeyword_4 extends KeywordToken { public Trigger_GreaterThanSignKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTriggerAccess().getGreaterThanSignKeyword_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Trigger_GuardAssignment_3(lastRuleCallOrigin, this, 0, inst); case 1: return new Trigger_Group_2(lastRuleCallOrigin, this, 1, inst); case 2: return new Trigger_MsgFromIfPairsAssignment_1(lastRuleCallOrigin, this, 2, inst); default: return null; } } } /************ end Rule Trigger ****************/ /************ begin Rule MessageFromIf **************** * * MessageFromIf: * message=[Message] ":" from=[InterfaceItem]; * **/ // message=[Message] ":" from=[InterfaceItem] protected class MessageFromIf_Group extends GroupToken { public MessageFromIf_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getMessageFromIfAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MessageFromIf_FromAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getMessageFromIfRule().getType().getClassifier()) return null; return eObjectConsumer; } } // message=[Message] protected class MessageFromIf_MessageAssignment_0 extends AssignmentToken { public MessageFromIf_MessageAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getMessageFromIfAccess().getMessageAssignment_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("message",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("message"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getMessageFromIfAccess().getMessageMessageCrossReference_0_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getMessageFromIfAccess().getMessageMessageCrossReference_0_0(); return obj; } } return null; } } // ":" protected class MessageFromIf_ColonKeyword_1 extends KeywordToken { public MessageFromIf_ColonKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getMessageFromIfAccess().getColonKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MessageFromIf_MessageAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // from=[InterfaceItem] protected class MessageFromIf_FromAssignment_2 extends AssignmentToken { public MessageFromIf_FromAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getMessageFromIfAccess().getFromAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new MessageFromIf_ColonKeyword_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("from",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("from"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getMessageFromIfAccess().getFromInterfaceItemCrossReference_2_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getMessageFromIfAccess().getFromInterfaceItemCrossReference_2_0(); return obj; } } return null; } } /************ end Rule MessageFromIf ****************/ /************ begin Rule Guard **************** * * Guard: * "guard" guard=DetailCode; * **/ // "guard" guard=DetailCode protected class Guard_Group extends GroupToken { public Guard_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getGuardAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Guard_GuardAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getGuardRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "guard" protected class Guard_GuardKeyword_0 extends KeywordToken { public Guard_GuardKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getGuardAccess().getGuardKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // guard=DetailCode protected class Guard_GuardAssignment_1 extends AssignmentToken { public Guard_GuardAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getGuardAccess().getGuardAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new DetailCode_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("guard",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("guard"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getDetailCodeRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getGuardAccess().getGuardDetailCodeParserRuleCall_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 Guard_GuardKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Guard ****************/ /************ begin Rule Import **************** * * // ************************************************************** * * // general * * Import: * "import" importedNamespace=ImportedFQN; * **/ // "import" importedNamespace=ImportedFQN protected class Import_Group extends GroupToken { public Import_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getImportAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Import_ImportedNamespaceAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getImportRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "import" protected class Import_ImportKeyword_0 extends KeywordToken { public Import_ImportKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getImportAccess().getImportKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // importedNamespace=ImportedFQN protected class Import_ImportedNamespaceAssignment_1 extends AssignmentToken { public Import_ImportedNamespaceAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getImportAccess().getImportedNamespaceAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new Import_ImportKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("importedNamespace",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("importedNamespace"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_0(); return obj; } return null; } } /************ end Rule Import ****************/ }