blob: 28ee8951dc345fe116fdf998a8783f851558d700 [file] [log] [blame]
/*
* generated by Xtext
*/
package org.eclipse.ocl.tutorial.eclipsecon2011.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.ocl.tutorial.eclipsecon2011.services.StatesGrammarAccess;
import com.google.inject.Inject;
@SuppressWarnings("all")
public class StatesParsetreeConstructor extends AbstractParseTreeConstructor {
@Inject
private StatesGrammarAccess 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 Module_Group(this, this, 0, inst);
case 1: return new Statemachine_Group(this, this, 1, inst);
case 2: return new Event_NameAssignment(this, this, 2, inst);
case 3: return new State_Alternatives(this, this, 3, inst);
case 4: return new SimpleState_Group(this, this, 4, inst);
case 5: return new CompoundState_Group(this, this, 5, inst);
case 6: return new Transition_Group(this, this, 6, inst);
default: return null;
}
}
}
/************ begin Rule Module ****************
*
* Module:
* "module" name=STRING machines+=Statemachine*;
*
**/
// "module" name=STRING machines+=Statemachine*
protected class Module_Group extends GroupToken {
public Module_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getModuleAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Module_MachinesAssignment_2(lastRuleCallOrigin, this, 0, inst);
case 1: return new Module_NameAssignment_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getModuleRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "module"
protected class Module_ModuleKeyword_0 extends KeywordToken {
public Module_ModuleKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getModuleAccess().getModuleKeyword_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// name=STRING
protected class Module_NameAssignment_1 extends AssignmentToken {
public Module_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getModuleAccess().getNameAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Module_ModuleKeyword_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.getModuleAccess().getNameSTRINGTerminalRuleCall_1_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getModuleAccess().getNameSTRINGTerminalRuleCall_1_0();
return obj;
}
return null;
}
}
// machines+=Statemachine*
protected class Module_MachinesAssignment_2 extends AssignmentToken {
public Module_MachinesAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getModuleAccess().getMachinesAssignment_2();
}
@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("machines",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("machines");
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.getModuleAccess().getMachinesStatemachineParserRuleCall_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 Module_MachinesAssignment_2(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Module_NameAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule Module ****************/
/************ begin Rule Statemachine ****************
*
* Statemachine:
* initial?="initial"? "statemachine" name=ID ("value" value=INT)? "{" "events" events+=Event* ";" states+=State* "}";
*
**/
// initial?="initial"? "statemachine" name=ID ("value" value=INT)? "{" "events" events+=Event* ";" states+=State* "}"
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_9(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getStatemachineRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// initial?="initial"?
protected class Statemachine_InitialAssignment_0 extends AssignmentToken {
public Statemachine_InitialAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getStatemachineAccess().getInitialAssignment_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("initial",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("initial");
if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
type = AssignmentType.KEYWORD;
element = grammarAccess.getStatemachineAccess().getInitialInitialKeyword_0_0();
return obj;
}
return null;
}
}
// "statemachine"
protected class Statemachine_StatemachineKeyword_1 extends KeywordToken {
public Statemachine_StatemachineKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getStatemachineAccess().getStatemachineKeyword_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Statemachine_InitialAssignment_0(lastRuleCallOrigin, this, 0, inst);
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
}
}
}
// name=ID
protected class Statemachine_NameAssignment_2 extends AssignmentToken {
public Statemachine_NameAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getStatemachineAccess().getNameAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Statemachine_StatemachineKeyword_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.getStatemachineAccess().getNameIDTerminalRuleCall_2_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getStatemachineAccess().getNameIDTerminalRuleCall_2_0();
return obj;
}
return null;
}
}
// ("value" value=INT)?
protected class Statemachine_Group_3 extends GroupToken {
public Statemachine_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getStatemachineAccess().getGroup_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Statemachine_ValueAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "value"
protected class Statemachine_ValueKeyword_3_0 extends KeywordToken {
public Statemachine_ValueKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getStatemachineAccess().getValueKeyword_3_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Statemachine_NameAssignment_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// value=INT
protected class Statemachine_ValueAssignment_3_1 extends AssignmentToken {
public Statemachine_ValueAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getStatemachineAccess().getValueAssignment_3_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Statemachine_ValueKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("value",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getStatemachineAccess().getValueINTTerminalRuleCall_3_1_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getStatemachineAccess().getValueINTTerminalRuleCall_3_1_0();
return obj;
}
return null;
}
}
// "{"
protected class Statemachine_LeftCurlyBracketKeyword_4 extends KeywordToken {
public Statemachine_LeftCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getStatemachineAccess().getLeftCurlyBracketKeyword_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Statemachine_Group_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new Statemachine_NameAssignment_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// "events"
protected class Statemachine_EventsKeyword_5 extends KeywordToken {
public Statemachine_EventsKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getStatemachineAccess().getEventsKeyword_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Statemachine_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// events+=Event*
protected class Statemachine_EventsAssignment_6 extends AssignmentToken {
public Statemachine_EventsAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getStatemachineAccess().getEventsAssignment_6();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Event_NameAssignment(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("events",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("events");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getEventRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getStatemachineAccess().getEventsEventParserRuleCall_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 Statemachine_EventsAssignment_6(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Statemachine_EventsKeyword_5(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// ";"
protected class Statemachine_SemicolonKeyword_7 extends KeywordToken {
public Statemachine_SemicolonKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getStatemachineAccess().getSemicolonKeyword_7();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Statemachine_EventsAssignment_6(lastRuleCallOrigin, this, 0, inst);
case 1: return new Statemachine_EventsKeyword_5(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// states+=State*
protected class Statemachine_StatesAssignment_8 extends AssignmentToken {
public Statemachine_StatesAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getStatemachineAccess().getStatesAssignment_8();
}
@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",false)) == 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_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 Statemachine_StatesAssignment_8(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Statemachine_SemicolonKeyword_7(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// "}"
protected class Statemachine_RightCurlyBracketKeyword_9 extends KeywordToken {
public Statemachine_RightCurlyBracketKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getStatemachineAccess().getRightCurlyBracketKeyword_9();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Statemachine_StatesAssignment_8(lastRuleCallOrigin, this, 0, inst);
case 1: return new Statemachine_SemicolonKeyword_7(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
/************ end Rule Statemachine ****************/
/************ begin Rule Event ****************
*
* Event:
* name=ID;
*
**/
// name=ID
protected class Event_NameAssignment extends AssignmentToken {
public Event_NameAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getEventAccess().getNameAssignment();
}
@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.getEventRule().getType().getClassifier())
return null;
if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getEventAccess().getNameIDTerminalRuleCall_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getEventAccess().getNameIDTerminalRuleCall_0();
return obj;
}
return null;
}
}
/************ end Rule Event ****************/
/************ begin Rule State ****************
*
* State:
* SimpleState | CompoundState;
*
**/
// SimpleState | CompoundState
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_SimpleStateParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new State_CompoundStateParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getCompoundStateRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getSimpleStateRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// SimpleState
protected class State_SimpleStateParserRuleCall_0 extends RuleCallToken {
public State_SimpleStateParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getStateAccess().getSimpleStateParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new SimpleState_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getSimpleStateRule().getType().getClassifier())
return null;
if(checkForRecursion(SimpleState_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);
}
}
}
// CompoundState
protected class State_CompoundStateParserRuleCall_1 extends RuleCallToken {
public State_CompoundStateParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getStateAccess().getCompoundStateParserRuleCall_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new CompoundState_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getCompoundStateRule().getType().getClassifier())
return null;
if(checkForRecursion(CompoundState_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 SimpleState ****************
*
* SimpleState:
* initial?="initial"? "state" name=ID ("value" value=INT)? "{" transitions+=Transition* "}";
*
**/
// initial?="initial"? "state" name=ID ("value" value=INT)? "{" transitions+=Transition* "}"
protected class SimpleState_Group extends GroupToken {
public SimpleState_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSimpleStateAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new SimpleState_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getSimpleStateRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// initial?="initial"?
protected class SimpleState_InitialAssignment_0 extends AssignmentToken {
public SimpleState_InitialAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSimpleStateAccess().getInitialAssignment_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("initial",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("initial");
if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
type = AssignmentType.KEYWORD;
element = grammarAccess.getSimpleStateAccess().getInitialInitialKeyword_0_0();
return obj;
}
return null;
}
}
// "state"
protected class SimpleState_StateKeyword_1 extends KeywordToken {
public SimpleState_StateKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getSimpleStateAccess().getStateKeyword_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new SimpleState_InitialAssignment_0(lastRuleCallOrigin, this, 0, inst);
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
}
}
}
// name=ID
protected class SimpleState_NameAssignment_2 extends AssignmentToken {
public SimpleState_NameAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSimpleStateAccess().getNameAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new SimpleState_StateKeyword_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.getSimpleStateAccess().getNameIDTerminalRuleCall_2_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getSimpleStateAccess().getNameIDTerminalRuleCall_2_0();
return obj;
}
return null;
}
}
// ("value" value=INT)?
protected class SimpleState_Group_3 extends GroupToken {
public SimpleState_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSimpleStateAccess().getGroup_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new SimpleState_ValueAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "value"
protected class SimpleState_ValueKeyword_3_0 extends KeywordToken {
public SimpleState_ValueKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getSimpleStateAccess().getValueKeyword_3_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new SimpleState_NameAssignment_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// value=INT
protected class SimpleState_ValueAssignment_3_1 extends AssignmentToken {
public SimpleState_ValueAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSimpleStateAccess().getValueAssignment_3_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new SimpleState_ValueKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("value",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getSimpleStateAccess().getValueINTTerminalRuleCall_3_1_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getSimpleStateAccess().getValueINTTerminalRuleCall_3_1_0();
return obj;
}
return null;
}
}
// "{"
protected class SimpleState_LeftCurlyBracketKeyword_4 extends KeywordToken {
public SimpleState_LeftCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getSimpleStateAccess().getLeftCurlyBracketKeyword_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new SimpleState_Group_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new SimpleState_NameAssignment_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// transitions+=Transition*
protected class SimpleState_TransitionsAssignment_5 extends AssignmentToken {
public SimpleState_TransitionsAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSimpleStateAccess().getTransitionsAssignment_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Transition_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("transitions",false)) == 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.getSimpleStateAccess().getTransitionsTransitionParserRuleCall_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 SimpleState_TransitionsAssignment_5(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new SimpleState_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// "}"
protected class SimpleState_RightCurlyBracketKeyword_6 extends KeywordToken {
public SimpleState_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getSimpleStateAccess().getRightCurlyBracketKeyword_6();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new SimpleState_TransitionsAssignment_5(lastRuleCallOrigin, this, 0, inst);
case 1: return new SimpleState_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
/************ end Rule SimpleState ****************/
/************ begin Rule CompoundState ****************
*
* CompoundState:
* "compound" initial?="initial"? "state" name=ID "machine" machine=[Statemachine] "{" transitions+=Transition* "}";
*
**/
// "compound" initial?="initial"? "state" name=ID "machine" machine=[Statemachine] "{" transitions+=Transition* "}"
protected class CompoundState_Group extends GroupToken {
public CompoundState_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCompoundStateAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new CompoundState_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getCompoundStateRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "compound"
protected class CompoundState_CompoundKeyword_0 extends KeywordToken {
public CompoundState_CompoundKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCompoundStateAccess().getCompoundKeyword_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// initial?="initial"?
protected class CompoundState_InitialAssignment_1 extends AssignmentToken {
public CompoundState_InitialAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCompoundStateAccess().getInitialAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new CompoundState_CompoundKeyword_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("initial",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("initial");
if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
type = AssignmentType.KEYWORD;
element = grammarAccess.getCompoundStateAccess().getInitialInitialKeyword_1_0();
return obj;
}
return null;
}
}
// "state"
protected class CompoundState_StateKeyword_2 extends KeywordToken {
public CompoundState_StateKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCompoundStateAccess().getStateKeyword_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new CompoundState_InitialAssignment_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new CompoundState_CompoundKeyword_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// name=ID
protected class CompoundState_NameAssignment_3 extends AssignmentToken {
public CompoundState_NameAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCompoundStateAccess().getNameAssignment_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new CompoundState_StateKeyword_2(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.getCompoundStateAccess().getNameIDTerminalRuleCall_3_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getCompoundStateAccess().getNameIDTerminalRuleCall_3_0();
return obj;
}
return null;
}
}
// "machine"
protected class CompoundState_MachineKeyword_4 extends KeywordToken {
public CompoundState_MachineKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCompoundStateAccess().getMachineKeyword_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new CompoundState_NameAssignment_3(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// machine=[Statemachine]
protected class CompoundState_MachineAssignment_5 extends AssignmentToken {
public CompoundState_MachineAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCompoundStateAccess().getMachineAssignment_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new CompoundState_MachineKeyword_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("machine",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("machine");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCompoundStateAccess().getMachineStatemachineCrossReference_5_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getCompoundStateAccess().getMachineStatemachineCrossReference_5_0();
return obj;
}
}
return null;
}
}
// "{"
protected class CompoundState_LeftCurlyBracketKeyword_6 extends KeywordToken {
public CompoundState_LeftCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCompoundStateAccess().getLeftCurlyBracketKeyword_6();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new CompoundState_MachineAssignment_5(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// transitions+=Transition*
protected class CompoundState_TransitionsAssignment_7 extends AssignmentToken {
public CompoundState_TransitionsAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCompoundStateAccess().getTransitionsAssignment_7();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Transition_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("transitions",false)) == 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.getCompoundStateAccess().getTransitionsTransitionParserRuleCall_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 CompoundState_TransitionsAssignment_7(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new CompoundState_LeftCurlyBracketKeyword_6(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// "}"
protected class CompoundState_RightCurlyBracketKeyword_8 extends KeywordToken {
public CompoundState_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCompoundStateAccess().getRightCurlyBracketKeyword_8();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new CompoundState_TransitionsAssignment_7(lastRuleCallOrigin, this, 0, inst);
case 1: return new CompoundState_LeftCurlyBracketKeyword_6(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
/************ end Rule CompoundState ****************/
/************ begin Rule Transition ****************
*
* Transition:
* event=[Event] "=>" state=[State];
*
**/
// event=[Event] "=>" state=[State]
protected class Transition_Group extends GroupToken {
public Transition_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTransitionAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Transition_StateAssignment_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getTransitionRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// event=[Event]
protected class Transition_EventAssignment_0 extends AssignmentToken {
public Transition_EventAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTransitionAccess().getEventAssignment_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("event",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("event");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getTransitionAccess().getEventEventCrossReference_0_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getTransitionAccess().getEventEventCrossReference_0_0();
return obj;
}
}
return null;
}
}
// "=>"
protected class Transition_EqualsSignGreaterThanSignKeyword_1 extends KeywordToken {
public Transition_EqualsSignGreaterThanSignKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTransitionAccess().getEqualsSignGreaterThanSignKeyword_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Transition_EventAssignment_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// state=[State]
protected class Transition_StateAssignment_2 extends AssignmentToken {
public Transition_StateAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTransitionAccess().getStateAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Transition_EqualsSignGreaterThanSignKeyword_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.getTransitionAccess().getStateStateCrossReference_2_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getTransitionAccess().getStateStateCrossReference_2_0();
return obj;
}
}
return null;
}
}
/************ end Rule Transition ****************/
}