/*
* 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 ****************/
}