/* * generated by Xtext */ package org.erlide.parseTreeConstruction; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.Action; import org.eclipse.xtext.Alternatives; import org.eclipse.xtext.Assignment; import org.eclipse.xtext.Group; import org.eclipse.xtext.Keyword; import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.parsetree.reconstr.IEObjectConsumer; import org.erlide.services.ErlangGrammarAccess; import com.google.inject.Inject; @SuppressWarnings("all") public class ErlangParsetreeConstructor extends org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor { @Inject private ErlangGrammarAccess grammarAccess; @Override protected AbstractToken getRootToken(final IEObjectConsumer inst) { return new ThisRootNode(inst); } protected class ThisRootNode extends RootToken { public ThisRootNode(final IEObjectConsumer inst) { super(inst); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Module_FormsAssignment(this, this, 0, inst); case 1: return new AtomRefTarget_Alternatives(this, this, 1, inst); case 2: return new Form_Alternatives(this, this, 2, inst); case 3: return new ConditionalFormBlock_Group(this, this, 3, inst); case 4: return new Attribute_Group(this, this, 4, inst); case 5: return new ConditionalAttribute_Alternatives(this, this, 5, inst); case 6: return new AbstractDefineAttribute_Alternatives(this, this, 6, inst); case 7: return new DefineAttribute_Group(this, this, 7, inst); case 8: return new UndefAttribute_Group(this, this, 8, inst); case 9: return new IfdefAttribute_Group(this, this, 9, inst); case 10: return new ElseAttribute_Group(this, this, 10, inst); case 11: return new EndifAttribute_Group(this, this, 11, inst); case 12: return new AbstractIncludeAttribute_Alternatives(this, this, 12, inst); case 13: return new IncludeAttribute_Group(this, this, 13, inst); case 14: return new IncludeLibAttribute_Group(this, this, 14, inst); case 15: return new FileAttribute_Group(this, this, 15, inst); case 16: return new ModuleAttribute_Group(this, this, 16, inst); case 17: return new EncodingAttribute_Group(this, this, 17, inst); case 18: return new RecordAttribute_Group(this, this, 18, inst); case 19: return new RecordFieldDef_Group(this, this, 19, inst); case 20: return new ExportAttribute_Group(this, this, 20, inst); case 21: return new ImportAttribute_Group(this, this, 21, inst); case 22: return new CompileAttribute_Group(this, this, 22, inst); case 23: return new AbstractTypeAttribute_Alternatives(this, this, 23, inst); case 24: return new SpecAttribute_Group(this, this, 24, inst); case 25: return new TypeAttribute_Group(this, this, 25, inst); case 26: return new CustomAttribute_Group(this, this, 26, inst); case 27: return new Function_Group(this, this, 27, inst); case 28: return new FunctionClause_Group(this, this, 28, inst); case 29: return new Guard_Group(this, this, 29, inst); case 30: return new Expressions_Group(this, this, 30, inst); case 31: return new LExpression_Alternatives(this, this, 31, inst); case 32: return new Expression_Alternatives(this, this, 32, inst); case 33: return new Expr100_Group(this, this, 33, inst); case 34: return new Expr150_Group(this, this, 34, inst); case 35: return new Expr160_Group(this, this, 35, inst); case 36: return new Expr200_Group(this, this, 36, inst); case 37: return new Expr300_Group(this, this, 37, inst); case 38: return new Expr400_Group(this, this, 38, inst); case 39: return new Expr500_Group(this, this, 39, inst); case 40: return new UnaryExpr_Alternatives(this, this, 40, inst); case 41: return new Expr700_Group(this, this, 41, inst); case 42: return new Expr800_Group(this, this, 42, inst); case 43: return new ExprMax_Alternatives(this, this, 43, inst); case 44: return new TermExpression_Alternatives(this, this, 44, inst); case 45: return new MacroCall_Group(this, this, 45, inst); case 46: return new RecordExpr_Group(this, this, 46, inst); case 47: return new QueryExpr_Group(this, this, 47, inst); case 48: return new CondExpr_Group(this, this, 48, inst); case 49: return new LetExpr_Group(this, this, 49, inst); case 50: return new RecordTuple_Group(this, this, 50, inst); case 51: return new RecordFieldExpr_Group(this, this, 51, inst); case 52: return new LiteralExpressionNoNumber_Alternatives(this, this, 52, inst); case 53: return new ModuleRef_Group(this, this, 53, inst); case 54: return new FunctionRef_Group(this, this, 54, inst); case 55: return new RecordRef_Group(this, this, 55, inst); case 56: return new RecordFieldRef_Group(this, this, 56, inst); case 57: return new TypeRef_Group(this, this, 57, inst); case 58: return new MacroLiteral_Group(this, this, 58, inst); case 59: return new MacroRef_Group(this, this, 59, inst); case 60: return new VariableLiteral_Group(this, this, 60, inst); case 61: return new StringLiteral_Group(this, this, 61, inst); case 62: return new StringLiteralPart_Alternatives(this, this, 62, inst); case 63: return new StringLiteralLiteral_StringAssignment(this, this, 63, inst); case 64: return new LiteralExpression_Alternatives(this, this, 64, inst); case 65: return new IntegerLiteral_Group(this, this, 65, inst); case 66: return new PatternExpression_Group(this, this, 66, inst); case 67: return new IfExpr_Group(this, this, 67, inst); case 68: return new IfClause_Group(this, this, 68, inst); case 69: return new CaseExpr_Group(this, this, 69, inst); case 70: return new CrClause_Group(this, this, 70, inst); case 71: return new ReceiveExpr_Group(this, this, 71, inst); case 72: return new FunExpr_Group(this, this, 72, inst); case 73: return new FunRef_Group(this, this, 73, inst); case 74: return new InlineFun_Group(this, this, 74, inst); case 75: return new TryExpr_Group(this, this, 75, inst); case 76: return new TryClause_Group(this, this, 76, inst); case 77: return new ListOrComprehension_Group(this, this, 77, inst); case 78: return new Tuple_Group(this, this, 78, inst); case 79: return new BinaryOrComprehension_Group(this, this, 79, inst); case 80: return new BinaryItem_Group(this, this, 80, inst); case 81: return new BitType_Group(this, this, 81, inst); case 82: return new UnaryExprMax_Alternatives(this, this, 82, inst); case 83: return new LCExpr_Group(this, this, 83, inst); case 84: return new ModuleVarMacro_Alternatives(this, this, 84, inst); case 85: return new FunctionVarMacro_Alternatives(this, this, 85, inst); case 86: return new RecordVarMacro_Alternatives(this, this, 86, inst); case 87: return new RecordFieldVarMacro_Alternatives(this, this, 87, inst); case 88: return new TypeVarMacro_Alternatives(this, this, 88, inst); case 89: return new IntVarMacro_Alternatives(this, this, 89, inst); case 90: return new SpecFun_Group(this, this, 90, inst); case 91: return new TypeSig_Group(this, this, 91, inst); case 92: return new FunType_Group(this, this, 92, inst); case 93: return new TypeGuards_Group(this, this, 93, inst); case 94: return new TypeGuard_Alternatives(this, this, 94, inst); case 95: return new TopType_Group(this, this, 95, inst); case 96: return new Type100_Group(this, this, 96, inst); case 97: return new Type200_Group(this, this, 97, inst); case 98: return new Type300_Group(this, this, 98, inst); case 99: return new Type400_Group(this, this, 99, inst); case 100: return new Type500_Alternatives(this, this, 100, inst); case 101: return new Type_Alternatives(this, this, 101, inst); case 102: return new FieldType_Group(this, this, 102, inst); case 103: return new BinaryType_Group(this, this, 103, inst); case 104: return new BinBaseType_Group(this, this, 104, inst); case 105: return new BinUnitType_Group(this, this, 105, inst); case 106: return new FunType100_Group(this, this, 106, inst); default: return null; } } } /************ * begin Rule Module **************** * * Module: forms+=Form*; * **/ // forms+=Form* protected class Module_FormsAssignment extends AssignmentToken { public Module_FormsAssignment(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getModuleAccess().getFormsAssignment(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Form_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("forms", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("forms"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFormRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getModuleAccess() .getFormsFormParserRuleCall_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Module_FormsAssignment(lastRuleCallOrigin, next, actIndex, consumed); default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index - 1, consumed); } } } /************ end Rule Module ****************/ /************ * begin Rule AtomRefTarget **************** * * // AtomRefTargets are the elements that an atom can refer to * AtomRefTarget: Module | Function | RecordAttribute | RecordFieldDef | * TypeAttribute; * **/ // Module | Function | RecordAttribute | RecordFieldDef | TypeAttribute protected class AtomRefTarget_Alternatives extends AlternativesToken { public AtomRefTarget_Alternatives( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getAtomRefTargetAccess().getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new AtomRefTarget_ModuleParserRuleCall_0( lastRuleCallOrigin, this, 0, inst); case 1: return new AtomRefTarget_FunctionParserRuleCall_1( lastRuleCallOrigin, this, 1, inst); case 2: return new AtomRefTarget_RecordAttributeParserRuleCall_2( lastRuleCallOrigin, this, 2, inst); case 3: return new AtomRefTarget_RecordFieldDefParserRuleCall_3( lastRuleCallOrigin, this, 3, inst); case 4: return new AtomRefTarget_TypeAttributeParserRuleCall_4( lastRuleCallOrigin, this, 4, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getFunctionRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getModuleRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordFieldDefRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getTypeAttributeRule().getType().getClassifier()) { return null; } return eObjectConsumer; } } // Module protected class AtomRefTarget_ModuleParserRuleCall_0 extends RuleCallToken { public AtomRefTarget_ModuleParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAtomRefTargetAccess() .getModuleParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Module_FormsAssignment(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getModuleRule() .getType().getClassifier()) { return null; } if (checkForRecursion(Module_FormsAssignment.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // Function protected class AtomRefTarget_FunctionParserRuleCall_1 extends RuleCallToken { public AtomRefTarget_FunctionParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAtomRefTargetAccess() .getFunctionParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Function_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getFunctionRule() .getType().getClassifier()) { return null; } if (checkForRecursion(Function_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // RecordAttribute protected class AtomRefTarget_RecordAttributeParserRuleCall_2 extends RuleCallToken { public AtomRefTarget_RecordAttributeParserRuleCall_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAtomRefTargetAccess() .getRecordAttributeParserRuleCall_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getRecordAttributeRule() .getType().getClassifier()) { return null; } if (checkForRecursion(RecordAttribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // RecordFieldDef protected class AtomRefTarget_RecordFieldDefParserRuleCall_3 extends RuleCallToken { public AtomRefTarget_RecordFieldDefParserRuleCall_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAtomRefTargetAccess() .getRecordFieldDefParserRuleCall_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldDef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getRecordFieldDefRule() .getType().getClassifier()) { return null; } if (checkForRecursion(RecordFieldDef_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // TypeAttribute protected class AtomRefTarget_TypeAttributeParserRuleCall_4 extends RuleCallToken { public AtomRefTarget_TypeAttributeParserRuleCall_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAtomRefTargetAccess() .getTypeAttributeParserRuleCall_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTypeAttributeRule() .getType().getClassifier()) { return null; } if (checkForRecursion(TypeAttribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } /************ end Rule AtomRefTarget ****************/ /************ * begin Rule Form **************** * * Form: Attribute | Function | ConditionalFormBlock | {MacroForm} * call=MacroCall "."; * **/ // Attribute | Function | ConditionalFormBlock | {MacroForm} call=MacroCall // "." protected class Form_Alternatives extends AlternativesToken { public Form_Alternatives(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getFormAccess().getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Form_AttributeParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new Form_FunctionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); case 2: return new Form_ConditionalFormBlockParserRuleCall_2( lastRuleCallOrigin, this, 2, inst); case 3: return new Form_Group_3(lastRuleCallOrigin, this, 3, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getCompileAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getConditionalFormBlockRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getCustomAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getDefineAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getEncodingAttributeRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getExportAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getFileAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getFunctionRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getImportAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIncludeAttributeRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getIncludeLibAttributeRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getFormAccess() .getMacroFormAction_3_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getModuleAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getSpecAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getTypeAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getUndefAttributeRule().getType().getClassifier()) { return null; } return eObjectConsumer; } } // Attribute protected class Form_AttributeParserRuleCall_0 extends RuleCallToken { public Form_AttributeParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getFormAccess().getAttributeParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Attribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getCompileAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getCustomAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getDefineAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getEncodingAttributeRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getExportAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getFileAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getImportAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIncludeAttributeRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getIncludeLibAttributeRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getModuleAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getSpecAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getTypeAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getUndefAttributeRule().getType().getClassifier()) { return null; } if (checkForRecursion(Attribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // Function protected class Form_FunctionParserRuleCall_1 extends RuleCallToken { public Form_FunctionParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getFormAccess().getFunctionParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Function_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getFunctionRule() .getType().getClassifier()) { return null; } if (checkForRecursion(Function_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // ConditionalFormBlock protected class Form_ConditionalFormBlockParserRuleCall_2 extends RuleCallToken { public Form_ConditionalFormBlockParserRuleCall_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getFormAccess() .getConditionalFormBlockParserRuleCall_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ConditionalFormBlock_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getConditionalFormBlockRule().getType().getClassifier()) { return null; } if (checkForRecursion(ConditionalFormBlock_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // {MacroForm} call=MacroCall "." protected class Form_Group_3 extends GroupToken { public Form_Group_3(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getFormAccess().getGroup_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Form_FullStopKeyword_3_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getFormAccess() .getMacroFormAction_3_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {MacroForm} protected class Form_MacroFormAction_3_0 extends ActionToken { public Form_MacroFormAction_3_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getFormAccess().getMacroFormAction_3_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // call=MacroCall protected class Form_CallAssignment_3_1 extends AssignmentToken { public Form_CallAssignment_3_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFormAccess().getCallAssignment_3_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroCall_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("call", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("call"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getMacroCallRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getFormAccess() .getCallMacroCallParserRuleCall_3_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Form_MacroFormAction_3_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "." protected class Form_FullStopKeyword_3_2 extends KeywordToken { public Form_FullStopKeyword_3_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFormAccess().getFullStopKeyword_3_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Form_CallAssignment_3_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule Form ****************/ /************ * begin Rule ConditionalFormBlock **************** * * ConditionalFormBlock: condition=IfdefAttribute ifForms+=Form* (=> * hasElse?=ElseAttribute elseForms+=Form*)? end=EndifAttribute; * **/ // condition=IfdefAttribute ifForms+=Form* (=> hasElse?=ElseAttribute // elseForms+=Form*)? end=EndifAttribute protected class ConditionalFormBlock_Group extends GroupToken { public ConditionalFormBlock_Group( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getConditionalFormBlockAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ConditionalFormBlock_EndAssignment_3( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getConditionalFormBlockRule().getType().getClassifier()) { return null; } return eObjectConsumer; } } // condition=IfdefAttribute protected class ConditionalFormBlock_ConditionAssignment_0 extends AssignmentToken { public ConditionalFormBlock_ConditionAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getConditionalFormBlockAccess() .getConditionAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IfdefAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("condition", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("condition"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getIfdefAttributeRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getConditionalFormBlockAccess() .getConditionIfdefAttributeParserRuleCall_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // ifForms+=Form* protected class ConditionalFormBlock_IfFormsAssignment_1 extends AssignmentToken { public ConditionalFormBlock_IfFormsAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getConditionalFormBlockAccess() .getIfFormsAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Form_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("ifForms", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("ifForms"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFormRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getConditionalFormBlockAccess() .getIfFormsFormParserRuleCall_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ConditionalFormBlock_IfFormsAssignment_1( lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ConditionalFormBlock_ConditionAssignment_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // (=> hasElse?=ElseAttribute elseForms+=Form*)? protected class ConditionalFormBlock_Group_2 extends GroupToken { public ConditionalFormBlock_Group_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getConditionalFormBlockAccess().getGroup_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ConditionalFormBlock_ElseFormsAssignment_2_1( lastRuleCallOrigin, this, 0, inst); case 1: return new ConditionalFormBlock_HasElseAssignment_2_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // => hasElse?=ElseAttribute protected class ConditionalFormBlock_HasElseAssignment_2_0 extends AssignmentToken { public ConditionalFormBlock_HasElseAssignment_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getConditionalFormBlockAccess() .getHasElseAssignment_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ElseAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("hasElse", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("hasElse"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getElseAttributeRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getConditionalFormBlockAccess() .getHasElseElseAttributeParserRuleCall_2_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ConditionalFormBlock_IfFormsAssignment_1( lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ConditionalFormBlock_ConditionAssignment_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // elseForms+=Form* protected class ConditionalFormBlock_ElseFormsAssignment_2_1 extends AssignmentToken { public ConditionalFormBlock_ElseFormsAssignment_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getConditionalFormBlockAccess() .getElseFormsAssignment_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Form_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("elseForms", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("elseForms"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFormRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getConditionalFormBlockAccess() .getElseFormsFormParserRuleCall_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ConditionalFormBlock_ElseFormsAssignment_2_1( lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ConditionalFormBlock_HasElseAssignment_2_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // end=EndifAttribute protected class ConditionalFormBlock_EndAssignment_3 extends AssignmentToken { public ConditionalFormBlock_EndAssignment_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getConditionalFormBlockAccess() .getEndAssignment_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new EndifAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("end", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("end"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getEndifAttributeRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getConditionalFormBlockAccess() .getEndEndifAttributeParserRuleCall_3_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ConditionalFormBlock_Group_2(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new ConditionalFormBlock_IfFormsAssignment_1( lastRuleCallOrigin, next, actIndex, consumed); case 2: return new ConditionalFormBlock_ConditionAssignment_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule ConditionalFormBlock ****************/ /************ * begin Rule Attribute **************** * * // Attributes Attribute: "-" (ModuleAttribute | EncodingAttribute | * AbstractDefineAttribute | AbstractIncludeAttribute | FileAttribute | * RecordAttribute | AbstractTypeAttribute | ExportAttribute | * ImportAttribute | CompileAttribute | CustomAttribute); * **/ // "-" (ModuleAttribute | EncodingAttribute | AbstractDefineAttribute | // AbstractIncludeAttribute | FileAttribute | // RecordAttribute | AbstractTypeAttribute | ExportAttribute | // ImportAttribute | CompileAttribute | CustomAttribute) protected class Attribute_Group extends GroupToken { public Attribute_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getAttributeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Attribute_Alternatives_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getCompileAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getCustomAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getDefineAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getEncodingAttributeRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getExportAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getFileAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getImportAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIncludeAttributeRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getIncludeLibAttributeRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getModuleAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getSpecAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getTypeAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getUndefAttributeRule().getType().getClassifier()) { return null; } return eObjectConsumer; } } // "-" protected class Attribute_HyphenMinusKeyword_0 extends KeywordToken { public Attribute_HyphenMinusKeyword_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getAttributeAccess().getHyphenMinusKeyword_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // ModuleAttribute | EncodingAttribute | AbstractDefineAttribute | // AbstractIncludeAttribute | FileAttribute | // RecordAttribute | AbstractTypeAttribute | ExportAttribute | // ImportAttribute | CompileAttribute | CustomAttribute protected class Attribute_Alternatives_1 extends AlternativesToken { public Attribute_Alternatives_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getAttributeAccess().getAlternatives_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Attribute_ModuleAttributeParserRuleCall_1_0( lastRuleCallOrigin, this, 0, inst); case 1: return new Attribute_EncodingAttributeParserRuleCall_1_1( lastRuleCallOrigin, this, 1, inst); case 2: return new Attribute_AbstractDefineAttributeParserRuleCall_1_2( lastRuleCallOrigin, this, 2, inst); case 3: return new Attribute_AbstractIncludeAttributeParserRuleCall_1_3( lastRuleCallOrigin, this, 3, inst); case 4: return new Attribute_FileAttributeParserRuleCall_1_4( lastRuleCallOrigin, this, 4, inst); case 5: return new Attribute_RecordAttributeParserRuleCall_1_5( lastRuleCallOrigin, this, 5, inst); case 6: return new Attribute_AbstractTypeAttributeParserRuleCall_1_6( lastRuleCallOrigin, this, 6, inst); case 7: return new Attribute_ExportAttributeParserRuleCall_1_7( lastRuleCallOrigin, this, 7, inst); case 8: return new Attribute_ImportAttributeParserRuleCall_1_8( lastRuleCallOrigin, this, 8, inst); case 9: return new Attribute_CompileAttributeParserRuleCall_1_9( lastRuleCallOrigin, this, 9, inst); case 10: return new Attribute_CustomAttributeParserRuleCall_1_10( lastRuleCallOrigin, this, 10, inst); default: return null; } } } // ModuleAttribute protected class Attribute_ModuleAttributeParserRuleCall_1_0 extends RuleCallToken { public Attribute_ModuleAttributeParserRuleCall_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAttributeAccess() .getModuleAttributeParserRuleCall_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ModuleAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getModuleAttributeRule() .getType().getClassifier()) { return null; } if (checkForRecursion(ModuleAttribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin, next, actIndex, inst); default: return null; } } } // EncodingAttribute protected class Attribute_EncodingAttributeParserRuleCall_1_1 extends RuleCallToken { public Attribute_EncodingAttributeParserRuleCall_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAttributeAccess() .getEncodingAttributeParserRuleCall_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new EncodingAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getEncodingAttributeRule().getType().getClassifier()) { return null; } if (checkForRecursion(EncodingAttribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin, next, actIndex, inst); default: return null; } } } // AbstractDefineAttribute protected class Attribute_AbstractDefineAttributeParserRuleCall_1_2 extends RuleCallToken { public Attribute_AbstractDefineAttributeParserRuleCall_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAttributeAccess() .getAbstractDefineAttributeParserRuleCall_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new AbstractDefineAttribute_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getDefineAttributeRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getUndefAttributeRule().getType().getClassifier()) { return null; } if (checkForRecursion(AbstractDefineAttribute_Alternatives.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin, next, actIndex, inst); default: return null; } } } // AbstractIncludeAttribute protected class Attribute_AbstractIncludeAttributeParserRuleCall_1_3 extends RuleCallToken { public Attribute_AbstractIncludeAttributeParserRuleCall_1_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAttributeAccess() .getAbstractIncludeAttributeParserRuleCall_1_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new AbstractIncludeAttribute_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getIncludeAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIncludeLibAttributeRule().getType() .getClassifier()) { return null; } if (checkForRecursion(AbstractIncludeAttribute_Alternatives.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin, next, actIndex, inst); default: return null; } } } // FileAttribute protected class Attribute_FileAttributeParserRuleCall_1_4 extends RuleCallToken { public Attribute_FileAttributeParserRuleCall_1_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAttributeAccess() .getFileAttributeParserRuleCall_1_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FileAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getFileAttributeRule() .getType().getClassifier()) { return null; } if (checkForRecursion(FileAttribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin, next, actIndex, inst); default: return null; } } } // RecordAttribute protected class Attribute_RecordAttributeParserRuleCall_1_5 extends RuleCallToken { public Attribute_RecordAttributeParserRuleCall_1_5( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAttributeAccess() .getRecordAttributeParserRuleCall_1_5(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getRecordAttributeRule() .getType().getClassifier()) { return null; } if (checkForRecursion(RecordAttribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin, next, actIndex, inst); default: return null; } } } // AbstractTypeAttribute protected class Attribute_AbstractTypeAttributeParserRuleCall_1_6 extends RuleCallToken { public Attribute_AbstractTypeAttributeParserRuleCall_1_6( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAttributeAccess() .getAbstractTypeAttributeParserRuleCall_1_6(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new AbstractTypeAttribute_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getSpecAttributeRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getTypeAttributeRule().getType().getClassifier()) { return null; } if (checkForRecursion(AbstractTypeAttribute_Alternatives.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin, next, actIndex, inst); default: return null; } } } // ExportAttribute protected class Attribute_ExportAttributeParserRuleCall_1_7 extends RuleCallToken { public Attribute_ExportAttributeParserRuleCall_1_7( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAttributeAccess() .getExportAttributeParserRuleCall_1_7(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExportAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExportAttributeRule() .getType().getClassifier()) { return null; } if (checkForRecursion(ExportAttribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin, next, actIndex, inst); default: return null; } } } // ImportAttribute protected class Attribute_ImportAttributeParserRuleCall_1_8 extends RuleCallToken { public Attribute_ImportAttributeParserRuleCall_1_8( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAttributeAccess() .getImportAttributeParserRuleCall_1_8(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ImportAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getImportAttributeRule() .getType().getClassifier()) { return null; } if (checkForRecursion(ImportAttribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin, next, actIndex, inst); default: return null; } } } // CompileAttribute protected class Attribute_CompileAttributeParserRuleCall_1_9 extends RuleCallToken { public Attribute_CompileAttributeParserRuleCall_1_9( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAttributeAccess() .getCompileAttributeParserRuleCall_1_9(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CompileAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getCompileAttributeRule().getType().getClassifier()) { return null; } if (checkForRecursion(CompileAttribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin, next, actIndex, inst); default: return null; } } } // CustomAttribute protected class Attribute_CustomAttributeParserRuleCall_1_10 extends RuleCallToken { public Attribute_CustomAttributeParserRuleCall_1_10( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAttributeAccess() .getCustomAttributeParserRuleCall_1_10(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CustomAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getCustomAttributeRule() .getType().getClassifier()) { return null; } if (checkForRecursion(CustomAttribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin, next, actIndex, inst); default: return null; } } } /************ end Rule Attribute ****************/ /************ * begin Rule ConditionalAttribute **************** * * ConditionalAttribute: IfdefAttribute | ElseAttribute | EndifAttribute; * **/ // IfdefAttribute | ElseAttribute | EndifAttribute protected class ConditionalAttribute_Alternatives extends AlternativesToken { public ConditionalAttribute_Alternatives( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getConditionalAttributeAccess() .getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ConditionalAttribute_IfdefAttributeParserRuleCall_0( lastRuleCallOrigin, this, 0, inst); case 1: return new ConditionalAttribute_ElseAttributeParserRuleCall_1( lastRuleCallOrigin, this, 1, inst); case 2: return new ConditionalAttribute_EndifAttributeParserRuleCall_2( lastRuleCallOrigin, this, 2, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getElseAttributeRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getEndifAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIfdefAttributeRule().getType().getClassifier()) { return null; } return eObjectConsumer; } } // IfdefAttribute protected class ConditionalAttribute_IfdefAttributeParserRuleCall_0 extends RuleCallToken { public ConditionalAttribute_IfdefAttributeParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getConditionalAttributeAccess() .getIfdefAttributeParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IfdefAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getIfdefAttributeRule() .getType().getClassifier()) { return null; } if (checkForRecursion(IfdefAttribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // ElseAttribute protected class ConditionalAttribute_ElseAttributeParserRuleCall_1 extends RuleCallToken { public ConditionalAttribute_ElseAttributeParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getConditionalAttributeAccess() .getElseAttributeParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ElseAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getElseAttributeRule() .getType().getClassifier()) { return null; } if (checkForRecursion(ElseAttribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // EndifAttribute protected class ConditionalAttribute_EndifAttributeParserRuleCall_2 extends RuleCallToken { public ConditionalAttribute_EndifAttributeParserRuleCall_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getConditionalAttributeAccess() .getEndifAttributeParserRuleCall_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new EndifAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getEndifAttributeRule() .getType().getClassifier()) { return null; } if (checkForRecursion(EndifAttribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } /************ end Rule ConditionalAttribute ****************/ /************ * begin Rule AbstractDefineAttribute **************** * * AbstractDefineAttribute: DefineAttribute | UndefAttribute; * **/ // DefineAttribute | UndefAttribute protected class AbstractDefineAttribute_Alternatives extends AlternativesToken { public AbstractDefineAttribute_Alternatives( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getAbstractDefineAttributeAccess() .getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new AbstractDefineAttribute_DefineAttributeParserRuleCall_0( lastRuleCallOrigin, this, 0, inst); case 1: return new AbstractDefineAttribute_UndefAttributeParserRuleCall_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getDefineAttributeRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getUndefAttributeRule().getType().getClassifier()) { return null; } return eObjectConsumer; } } // DefineAttribute protected class AbstractDefineAttribute_DefineAttributeParserRuleCall_0 extends RuleCallToken { public AbstractDefineAttribute_DefineAttributeParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAbstractDefineAttributeAccess() .getDefineAttributeParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new DefineAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getDefineAttributeRule() .getType().getClassifier()) { return null; } if (checkForRecursion(DefineAttribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // UndefAttribute protected class AbstractDefineAttribute_UndefAttributeParserRuleCall_1 extends RuleCallToken { public AbstractDefineAttribute_UndefAttributeParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAbstractDefineAttributeAccess() .getUndefAttributeParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new UndefAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getUndefAttributeRule() .getType().getClassifier()) { return null; } if (checkForRecursion(UndefAttribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } /************ end Rule AbstractDefineAttribute ****************/ /************ * begin Rule DefineAttribute **************** * * DefineAttribute: => tag="define" "(" macroName= // can't have feature * 'name' because multiple defines with the same macro can exist NAMEVAR * ("(" (args+=PatternExpression ("," args+=PatternExpression)*)? ")")? ("," * value=Guard?)? ")" "."; * **/ // => tag="define" "(" macroName= // can't have feature 'name' because // multiple defines with the same macro can exist // NAMEVAR ("(" (args+=PatternExpression ("," args+=PatternExpression)*)? // ")")? ("," value=Guard?)? ")" "." protected class DefineAttribute_Group extends GroupToken { public DefineAttribute_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getDefineAttributeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new DefineAttribute_FullStopKeyword_6( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getDefineAttributeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // => tag="define" protected class DefineAttribute_TagAssignment_0 extends AssignmentToken { public DefineAttribute_TagAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getDefineAttributeAccess() .getTagAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("tag", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getDefineAttributeAccess().getTagDefineKeyword_0_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getDefineAttributeAccess() .getTagDefineKeyword_0_0(); return obj; } return null; } } // "(" protected class DefineAttribute_LeftParenthesisKeyword_1 extends KeywordToken { public DefineAttribute_LeftParenthesisKeyword_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getDefineAttributeAccess() .getLeftParenthesisKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new DefineAttribute_TagAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // macroName= // can't have feature 'name' because multiple defines with the // same macro can exist // NAMEVAR protected class DefineAttribute_MacroNameAssignment_2 extends AssignmentToken { public DefineAttribute_MacroNameAssignment_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getDefineAttributeAccess() .getMacroNameAssignment_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new DefineAttribute_LeftParenthesisKeyword_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("macroName", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("macroName"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getDefineAttributeAccess() .getMacroNameNAMEVARParserRuleCall_2_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getDefineAttributeAccess() .getMacroNameNAMEVARParserRuleCall_2_0(); return obj; } return null; } } // ("(" (args+=PatternExpression ("," args+=PatternExpression)*)? ")")? protected class DefineAttribute_Group_3 extends GroupToken { public DefineAttribute_Group_3(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getDefineAttributeAccess().getGroup_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new DefineAttribute_RightParenthesisKeyword_3_2( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "(" protected class DefineAttribute_LeftParenthesisKeyword_3_0 extends KeywordToken { public DefineAttribute_LeftParenthesisKeyword_3_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getDefineAttributeAccess() .getLeftParenthesisKeyword_3_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new DefineAttribute_MacroNameAssignment_2( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // (args+=PatternExpression ("," args+=PatternExpression)*)? protected class DefineAttribute_Group_3_1 extends GroupToken { public DefineAttribute_Group_3_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getDefineAttributeAccess().getGroup_3_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new DefineAttribute_Group_3_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new DefineAttribute_ArgsAssignment_3_1_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // args+=PatternExpression protected class DefineAttribute_ArgsAssignment_3_1_0 extends AssignmentToken { public DefineAttribute_ArgsAssignment_3_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getDefineAttributeAccess() .getArgsAssignment_3_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new PatternExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("args", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("args"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getPatternExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getDefineAttributeAccess() .getArgsPatternExpressionParserRuleCall_3_1_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new DefineAttribute_LeftParenthesisKeyword_3_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," args+=PatternExpression)* protected class DefineAttribute_Group_3_1_1 extends GroupToken { public DefineAttribute_Group_3_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getDefineAttributeAccess().getGroup_3_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new DefineAttribute_ArgsAssignment_3_1_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class DefineAttribute_CommaKeyword_3_1_1_0 extends KeywordToken { public DefineAttribute_CommaKeyword_3_1_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getDefineAttributeAccess() .getCommaKeyword_3_1_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new DefineAttribute_Group_3_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new DefineAttribute_ArgsAssignment_3_1_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // args+=PatternExpression protected class DefineAttribute_ArgsAssignment_3_1_1_1 extends AssignmentToken { public DefineAttribute_ArgsAssignment_3_1_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getDefineAttributeAccess() .getArgsAssignment_3_1_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new PatternExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("args", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("args"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getPatternExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getDefineAttributeAccess() .getArgsPatternExpressionParserRuleCall_3_1_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new DefineAttribute_CommaKeyword_3_1_1_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class DefineAttribute_RightParenthesisKeyword_3_2 extends KeywordToken { public DefineAttribute_RightParenthesisKeyword_3_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getDefineAttributeAccess() .getRightParenthesisKeyword_3_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new DefineAttribute_Group_3_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ("," value=Guard?)? protected class DefineAttribute_Group_4 extends GroupToken { public DefineAttribute_Group_4(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getDefineAttributeAccess().getGroup_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new DefineAttribute_ValueAssignment_4_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class DefineAttribute_CommaKeyword_4_0 extends KeywordToken { public DefineAttribute_CommaKeyword_4_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getDefineAttributeAccess() .getCommaKeyword_4_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new DefineAttribute_Group_3(lastRuleCallOrigin, this, 0, inst); case 1: return new DefineAttribute_MacroNameAssignment_2( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // value=Guard? protected class DefineAttribute_ValueAssignment_4_1 extends AssignmentToken { public DefineAttribute_ValueAssignment_4_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getDefineAttributeAccess() .getValueAssignment_4_1(); } @Override public AbstractToken createFollower(final int index, final 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("value", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("value"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getGuardRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getDefineAttributeAccess() .getValueGuardParserRuleCall_4_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new DefineAttribute_CommaKeyword_4_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class DefineAttribute_RightParenthesisKeyword_5 extends KeywordToken { public DefineAttribute_RightParenthesisKeyword_5( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getDefineAttributeAccess() .getRightParenthesisKeyword_5(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new DefineAttribute_Group_4(lastRuleCallOrigin, this, 0, inst); case 1: return new DefineAttribute_Group_3(lastRuleCallOrigin, this, 1, inst); case 2: return new DefineAttribute_MacroNameAssignment_2( lastRuleCallOrigin, this, 2, inst); default: return null; } } } // "." protected class DefineAttribute_FullStopKeyword_6 extends KeywordToken { public DefineAttribute_FullStopKeyword_6( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getDefineAttributeAccess() .getFullStopKeyword_6(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new DefineAttribute_RightParenthesisKeyword_5( lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule DefineAttribute ****************/ /************ * begin Rule UndefAttribute **************** * * UndefAttribute: => tag="undef" "(" ref=MacroRef ")" "."; * **/ // => tag="undef" "(" ref=MacroRef ")" "." protected class UndefAttribute_Group extends GroupToken { public UndefAttribute_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getUndefAttributeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new UndefAttribute_FullStopKeyword_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getUndefAttributeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // => tag="undef" protected class UndefAttribute_TagAssignment_0 extends AssignmentToken { public UndefAttribute_TagAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getUndefAttributeAccess().getTagAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("tag", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getUndefAttributeAccess().getTagUndefKeyword_0_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getUndefAttributeAccess() .getTagUndefKeyword_0_0(); return obj; } return null; } } // "(" protected class UndefAttribute_LeftParenthesisKeyword_1 extends KeywordToken { public UndefAttribute_LeftParenthesisKeyword_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getUndefAttributeAccess() .getLeftParenthesisKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new UndefAttribute_TagAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ref=MacroRef protected class UndefAttribute_RefAssignment_2 extends AssignmentToken { public UndefAttribute_RefAssignment_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getUndefAttributeAccess().getRefAssignment_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("ref", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ref"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getMacroRefRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getUndefAttributeAccess() .getRefMacroRefParserRuleCall_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new UndefAttribute_LeftParenthesisKeyword_1( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class UndefAttribute_RightParenthesisKeyword_3 extends KeywordToken { public UndefAttribute_RightParenthesisKeyword_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getUndefAttributeAccess() .getRightParenthesisKeyword_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new UndefAttribute_RefAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "." protected class UndefAttribute_FullStopKeyword_4 extends KeywordToken { public UndefAttribute_FullStopKeyword_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getUndefAttributeAccess() .getFullStopKeyword_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new UndefAttribute_RightParenthesisKeyword_3( lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule UndefAttribute ****************/ /************ * begin Rule IfdefAttribute **************** * * IfdefAttribute: "-" => tag=("ifdef" | "ifndef") "(" ref=MacroRef ")" "."; * **/ // "-" => tag=("ifdef" | "ifndef") "(" ref=MacroRef ")" "." protected class IfdefAttribute_Group extends GroupToken { public IfdefAttribute_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getIfdefAttributeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IfdefAttribute_FullStopKeyword_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getIfdefAttributeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // "-" protected class IfdefAttribute_HyphenMinusKeyword_0 extends KeywordToken { public IfdefAttribute_HyphenMinusKeyword_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getIfdefAttributeAccess() .getHyphenMinusKeyword_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // => tag=("ifdef" | "ifndef") protected class IfdefAttribute_TagAssignment_1 extends AssignmentToken { public IfdefAttribute_TagAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getIfdefAttributeAccess().getTagAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IfdefAttribute_HyphenMinusKeyword_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("tag", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getIfdefAttributeAccess().getTagIfdefKeyword_1_0_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getIfdefAttributeAccess() .getTagIfdefKeyword_1_0_0(); return obj; } if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getIfdefAttributeAccess().getTagIfndefKeyword_1_0_1(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getIfdefAttributeAccess() .getTagIfndefKeyword_1_0_1(); return obj; } return null; } } // "(" protected class IfdefAttribute_LeftParenthesisKeyword_2 extends KeywordToken { public IfdefAttribute_LeftParenthesisKeyword_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getIfdefAttributeAccess() .getLeftParenthesisKeyword_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IfdefAttribute_TagAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ref=MacroRef protected class IfdefAttribute_RefAssignment_3 extends AssignmentToken { public IfdefAttribute_RefAssignment_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getIfdefAttributeAccess().getRefAssignment_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("ref", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ref"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getMacroRefRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getIfdefAttributeAccess() .getRefMacroRefParserRuleCall_3_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new IfdefAttribute_LeftParenthesisKeyword_2( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class IfdefAttribute_RightParenthesisKeyword_4 extends KeywordToken { public IfdefAttribute_RightParenthesisKeyword_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getIfdefAttributeAccess() .getRightParenthesisKeyword_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IfdefAttribute_RefAssignment_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "." protected class IfdefAttribute_FullStopKeyword_5 extends KeywordToken { public IfdefAttribute_FullStopKeyword_5( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getIfdefAttributeAccess() .getFullStopKeyword_5(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IfdefAttribute_RightParenthesisKeyword_4( lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule IfdefAttribute ****************/ /************ * begin Rule ElseAttribute **************** * * ElseAttribute: "-" => tag="else" "."; * **/ // "-" => tag="else" "." protected class ElseAttribute_Group extends GroupToken { public ElseAttribute_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getElseAttributeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ElseAttribute_FullStopKeyword_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getElseAttributeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // "-" protected class ElseAttribute_HyphenMinusKeyword_0 extends KeywordToken { public ElseAttribute_HyphenMinusKeyword_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getElseAttributeAccess() .getHyphenMinusKeyword_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // => tag="else" protected class ElseAttribute_TagAssignment_1 extends AssignmentToken { public ElseAttribute_TagAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getElseAttributeAccess().getTagAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ElseAttribute_HyphenMinusKeyword_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("tag", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getElseAttributeAccess().getTagElseKeyword_1_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getElseAttributeAccess() .getTagElseKeyword_1_0(); return obj; } return null; } } // "." protected class ElseAttribute_FullStopKeyword_2 extends KeywordToken { public ElseAttribute_FullStopKeyword_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getElseAttributeAccess() .getFullStopKeyword_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ElseAttribute_TagAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule ElseAttribute ****************/ /************ * begin Rule EndifAttribute **************** * * EndifAttribute: "-" => tag="endif" "."; * **/ // "-" => tag="endif" "." protected class EndifAttribute_Group extends GroupToken { public EndifAttribute_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getEndifAttributeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new EndifAttribute_FullStopKeyword_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getEndifAttributeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // "-" protected class EndifAttribute_HyphenMinusKeyword_0 extends KeywordToken { public EndifAttribute_HyphenMinusKeyword_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getEndifAttributeAccess() .getHyphenMinusKeyword_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // => tag="endif" protected class EndifAttribute_TagAssignment_1 extends AssignmentToken { public EndifAttribute_TagAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getEndifAttributeAccess().getTagAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new EndifAttribute_HyphenMinusKeyword_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("tag", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getEndifAttributeAccess().getTagEndifKeyword_1_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getEndifAttributeAccess() .getTagEndifKeyword_1_0(); return obj; } return null; } } // "." protected class EndifAttribute_FullStopKeyword_2 extends KeywordToken { public EndifAttribute_FullStopKeyword_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getEndifAttributeAccess() .getFullStopKeyword_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new EndifAttribute_TagAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule EndifAttribute ****************/ /************ * begin Rule AbstractIncludeAttribute **************** * * AbstractIncludeAttribute: IncludeAttribute | IncludeLibAttribute; * **/ // IncludeAttribute | IncludeLibAttribute protected class AbstractIncludeAttribute_Alternatives extends AlternativesToken { public AbstractIncludeAttribute_Alternatives( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getAbstractIncludeAttributeAccess() .getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new AbstractIncludeAttribute_IncludeAttributeParserRuleCall_0( lastRuleCallOrigin, this, 0, inst); case 1: return new AbstractIncludeAttribute_IncludeLibAttributeParserRuleCall_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getIncludeAttributeRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIncludeLibAttributeRule().getType() .getClassifier()) { return null; } return eObjectConsumer; } } // IncludeAttribute protected class AbstractIncludeAttribute_IncludeAttributeParserRuleCall_0 extends RuleCallToken { public AbstractIncludeAttribute_IncludeAttributeParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAbstractIncludeAttributeAccess() .getIncludeAttributeParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IncludeAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getIncludeAttributeRule().getType().getClassifier()) { return null; } if (checkForRecursion(IncludeAttribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // IncludeLibAttribute protected class AbstractIncludeAttribute_IncludeLibAttributeParserRuleCall_1 extends RuleCallToken { public AbstractIncludeAttribute_IncludeLibAttributeParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAbstractIncludeAttributeAccess() .getIncludeLibAttributeParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IncludeLibAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getIncludeLibAttributeRule().getType().getClassifier()) { return null; } if (checkForRecursion(IncludeLibAttribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } /************ end Rule AbstractIncludeAttribute ****************/ /************ * begin Rule IncludeAttribute **************** * * IncludeAttribute: => tag="include" "(" importURI=STRING ")" "."; * **/ // => tag="include" "(" importURI=STRING ")" "." protected class IncludeAttribute_Group extends GroupToken { public IncludeAttribute_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getIncludeAttributeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IncludeAttribute_FullStopKeyword_4( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getIncludeAttributeRule().getType().getClassifier()) { return null; } return eObjectConsumer; } } // => tag="include" protected class IncludeAttribute_TagAssignment_0 extends AssignmentToken { public IncludeAttribute_TagAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getIncludeAttributeAccess() .getTagAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("tag", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getIncludeAttributeAccess().getTagIncludeKeyword_0_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getIncludeAttributeAccess() .getTagIncludeKeyword_0_0(); return obj; } return null; } } // "(" protected class IncludeAttribute_LeftParenthesisKeyword_1 extends KeywordToken { public IncludeAttribute_LeftParenthesisKeyword_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getIncludeAttributeAccess() .getLeftParenthesisKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IncludeAttribute_TagAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // importURI=STRING protected class IncludeAttribute_ImportURIAssignment_2 extends AssignmentToken { public IncludeAttribute_ImportURIAssignment_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getIncludeAttributeAccess() .getImportURIAssignment_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IncludeAttribute_LeftParenthesisKeyword_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("importURI", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("importURI"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getIncludeAttributeAccess() .getImportURISTRINGTerminalRuleCall_2_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getIncludeAttributeAccess() .getImportURISTRINGTerminalRuleCall_2_0(); return obj; } return null; } } // ")" protected class IncludeAttribute_RightParenthesisKeyword_3 extends KeywordToken { public IncludeAttribute_RightParenthesisKeyword_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getIncludeAttributeAccess() .getRightParenthesisKeyword_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IncludeAttribute_ImportURIAssignment_2( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "." protected class IncludeAttribute_FullStopKeyword_4 extends KeywordToken { public IncludeAttribute_FullStopKeyword_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getIncludeAttributeAccess() .getFullStopKeyword_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IncludeAttribute_RightParenthesisKeyword_3( lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule IncludeAttribute ****************/ /************ * begin Rule IncludeLibAttribute **************** * * IncludeLibAttribute: => tag="include_lib" "(" importURI=STRING ")" "."; * **/ // => tag="include_lib" "(" importURI=STRING ")" "." protected class IncludeLibAttribute_Group extends GroupToken { public IncludeLibAttribute_Group( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getIncludeLibAttributeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IncludeLibAttribute_FullStopKeyword_4( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getIncludeLibAttributeRule().getType().getClassifier()) { return null; } return eObjectConsumer; } } // => tag="include_lib" protected class IncludeLibAttribute_TagAssignment_0 extends AssignmentToken { public IncludeLibAttribute_TagAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getIncludeLibAttributeAccess() .getTagAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("tag", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getIncludeLibAttributeAccess() .getTagInclude_libKeyword_0_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getIncludeLibAttributeAccess() .getTagInclude_libKeyword_0_0(); return obj; } return null; } } // "(" protected class IncludeLibAttribute_LeftParenthesisKeyword_1 extends KeywordToken { public IncludeLibAttribute_LeftParenthesisKeyword_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getIncludeLibAttributeAccess() .getLeftParenthesisKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IncludeLibAttribute_TagAssignment_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // importURI=STRING protected class IncludeLibAttribute_ImportURIAssignment_2 extends AssignmentToken { public IncludeLibAttribute_ImportURIAssignment_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getIncludeLibAttributeAccess() .getImportURIAssignment_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IncludeLibAttribute_LeftParenthesisKeyword_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("importURI", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("importURI"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getIncludeLibAttributeAccess() .getImportURISTRINGTerminalRuleCall_2_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getIncludeLibAttributeAccess() .getImportURISTRINGTerminalRuleCall_2_0(); return obj; } return null; } } // ")" protected class IncludeLibAttribute_RightParenthesisKeyword_3 extends KeywordToken { public IncludeLibAttribute_RightParenthesisKeyword_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getIncludeLibAttributeAccess() .getRightParenthesisKeyword_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IncludeLibAttribute_ImportURIAssignment_2( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "." protected class IncludeLibAttribute_FullStopKeyword_4 extends KeywordToken { public IncludeLibAttribute_FullStopKeyword_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getIncludeLibAttributeAccess() .getFullStopKeyword_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IncludeLibAttribute_RightParenthesisKeyword_3( lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule IncludeLibAttribute ****************/ /************ * begin Rule FileAttribute **************** * * FileAttribute: => tag="file" "(" file=STRING "," line=INTEGER ")" "."; * **/ // => tag="file" "(" file=STRING "," line=INTEGER ")" "." protected class FileAttribute_Group extends GroupToken { public FileAttribute_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getFileAttributeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FileAttribute_FullStopKeyword_6(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getFileAttributeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // => tag="file" protected class FileAttribute_TagAssignment_0 extends AssignmentToken { public FileAttribute_TagAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFileAttributeAccess().getTagAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("tag", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getFileAttributeAccess().getTagFileKeyword_0_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getFileAttributeAccess() .getTagFileKeyword_0_0(); return obj; } return null; } } // "(" protected class FileAttribute_LeftParenthesisKeyword_1 extends KeywordToken { public FileAttribute_LeftParenthesisKeyword_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFileAttributeAccess() .getLeftParenthesisKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FileAttribute_TagAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // file=STRING protected class FileAttribute_FileAssignment_2 extends AssignmentToken { public FileAttribute_FileAssignment_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFileAttributeAccess().getFileAssignment_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FileAttribute_LeftParenthesisKeyword_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("file", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("file"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getFileAttributeAccess() .getFileSTRINGTerminalRuleCall_2_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getFileAttributeAccess() .getFileSTRINGTerminalRuleCall_2_0(); return obj; } return null; } } // "," protected class FileAttribute_CommaKeyword_3 extends KeywordToken { public FileAttribute_CommaKeyword_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFileAttributeAccess().getCommaKeyword_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FileAttribute_FileAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // line=INTEGER protected class FileAttribute_LineAssignment_4 extends AssignmentToken { public FileAttribute_LineAssignment_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFileAttributeAccess().getLineAssignment_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FileAttribute_CommaKeyword_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("line", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("line"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getFileAttributeAccess() .getLineINTEGERParserRuleCall_4_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getFileAttributeAccess() .getLineINTEGERParserRuleCall_4_0(); return obj; } return null; } } // ")" protected class FileAttribute_RightParenthesisKeyword_5 extends KeywordToken { public FileAttribute_RightParenthesisKeyword_5( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFileAttributeAccess() .getRightParenthesisKeyword_5(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FileAttribute_LineAssignment_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "." protected class FileAttribute_FullStopKeyword_6 extends KeywordToken { public FileAttribute_FullStopKeyword_6( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFileAttributeAccess() .getFullStopKeyword_6(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FileAttribute_RightParenthesisKeyword_5( lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule FileAttribute ****************/ /************ * begin Rule ModuleAttribute **************** * * ModuleAttribute: => tag="module" "(" moduleName=NAME ")" "."; * **/ // => tag="module" "(" moduleName=NAME ")" "." protected class ModuleAttribute_Group extends GroupToken { public ModuleAttribute_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getModuleAttributeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ModuleAttribute_FullStopKeyword_4( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getModuleAttributeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // => tag="module" protected class ModuleAttribute_TagAssignment_0 extends AssignmentToken { public ModuleAttribute_TagAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getModuleAttributeAccess() .getTagAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("tag", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getModuleAttributeAccess().getTagModuleKeyword_0_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getModuleAttributeAccess() .getTagModuleKeyword_0_0(); return obj; } return null; } } // "(" protected class ModuleAttribute_LeftParenthesisKeyword_1 extends KeywordToken { public ModuleAttribute_LeftParenthesisKeyword_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getModuleAttributeAccess() .getLeftParenthesisKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ModuleAttribute_TagAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // moduleName=NAME protected class ModuleAttribute_ModuleNameAssignment_2 extends AssignmentToken { public ModuleAttribute_ModuleNameAssignment_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getModuleAttributeAccess() .getModuleNameAssignment_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ModuleAttribute_LeftParenthesisKeyword_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("moduleName", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("moduleName"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getModuleAttributeAccess() .getModuleNameNAMEParserRuleCall_2_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getModuleAttributeAccess() .getModuleNameNAMEParserRuleCall_2_0(); return obj; } return null; } } // ")" protected class ModuleAttribute_RightParenthesisKeyword_3 extends KeywordToken { public ModuleAttribute_RightParenthesisKeyword_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getModuleAttributeAccess() .getRightParenthesisKeyword_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ModuleAttribute_ModuleNameAssignment_2( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "." protected class ModuleAttribute_FullStopKeyword_4 extends KeywordToken { public ModuleAttribute_FullStopKeyword_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getModuleAttributeAccess() .getFullStopKeyword_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ModuleAttribute_RightParenthesisKeyword_3( lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule ModuleAttribute ****************/ /************ * begin Rule EncodingAttribute **************** * * EncodingAttribute: => tag="encoding" ("(" charset=NAME ")" | * charset=NAME) "."; * **/ // => tag="encoding" ("(" charset=NAME ")" | charset=NAME) "." protected class EncodingAttribute_Group extends GroupToken { public EncodingAttribute_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getEncodingAttributeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new EncodingAttribute_FullStopKeyword_2( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getEncodingAttributeRule().getType().getClassifier()) { return null; } return eObjectConsumer; } } // => tag="encoding" protected class EncodingAttribute_TagAssignment_0 extends AssignmentToken { public EncodingAttribute_TagAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getEncodingAttributeAccess() .getTagAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("tag", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getEncodingAttributeAccess().getTagEncodingKeyword_0_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getEncodingAttributeAccess() .getTagEncodingKeyword_0_0(); return obj; } return null; } } // "(" charset=NAME ")" | charset=NAME protected class EncodingAttribute_Alternatives_1 extends AlternativesToken { public EncodingAttribute_Alternatives_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getEncodingAttributeAccess() .getAlternatives_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new EncodingAttribute_Group_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new EncodingAttribute_CharsetAssignment_1_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "(" charset=NAME ")" protected class EncodingAttribute_Group_1_0 extends GroupToken { public EncodingAttribute_Group_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getEncodingAttributeAccess().getGroup_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new EncodingAttribute_RightParenthesisKeyword_1_0_2( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "(" protected class EncodingAttribute_LeftParenthesisKeyword_1_0_0 extends KeywordToken { public EncodingAttribute_LeftParenthesisKeyword_1_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getEncodingAttributeAccess() .getLeftParenthesisKeyword_1_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new EncodingAttribute_TagAssignment_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // charset=NAME protected class EncodingAttribute_CharsetAssignment_1_0_1 extends AssignmentToken { public EncodingAttribute_CharsetAssignment_1_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getEncodingAttributeAccess() .getCharsetAssignment_1_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new EncodingAttribute_LeftParenthesisKeyword_1_0_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("charset", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("charset"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getEncodingAttributeAccess() .getCharsetNAMEParserRuleCall_1_0_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getEncodingAttributeAccess() .getCharsetNAMEParserRuleCall_1_0_1_0(); return obj; } return null; } } // ")" protected class EncodingAttribute_RightParenthesisKeyword_1_0_2 extends KeywordToken { public EncodingAttribute_RightParenthesisKeyword_1_0_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getEncodingAttributeAccess() .getRightParenthesisKeyword_1_0_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new EncodingAttribute_CharsetAssignment_1_0_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // charset=NAME protected class EncodingAttribute_CharsetAssignment_1_1 extends AssignmentToken { public EncodingAttribute_CharsetAssignment_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getEncodingAttributeAccess() .getCharsetAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new EncodingAttribute_TagAssignment_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("charset", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("charset"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getEncodingAttributeAccess() .getCharsetNAMEParserRuleCall_1_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getEncodingAttributeAccess() .getCharsetNAMEParserRuleCall_1_1_0(); return obj; } return null; } } // "." protected class EncodingAttribute_FullStopKeyword_2 extends KeywordToken { public EncodingAttribute_FullStopKeyword_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getEncodingAttributeAccess() .getFullStopKeyword_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new EncodingAttribute_Alternatives_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule EncodingAttribute ****************/ /************ * begin Rule RecordAttribute **************** * * RecordAttribute: => tag="record" "(" name=NAMEMACRO "," ("{" * (fields+=RecordFieldDef ("," fields+=RecordFieldDef)*)? "}" | * recordMacro=MacroCall) ")" "."; * **/ // => tag="record" "(" name=NAMEMACRO "," ("{" (fields+=RecordFieldDef ("," // fields+=RecordFieldDef)*)? "}" | // recordMacro=MacroCall) ")" "." protected class RecordAttribute_Group extends GroupToken { public RecordAttribute_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRecordAttributeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordAttribute_FullStopKeyword_6( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getRecordAttributeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // => tag="record" protected class RecordAttribute_TagAssignment_0 extends AssignmentToken { public RecordAttribute_TagAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRecordAttributeAccess() .getTagAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("tag", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getRecordAttributeAccess().getTagRecordKeyword_0_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getRecordAttributeAccess() .getTagRecordKeyword_0_0(); return obj; } return null; } } // "(" protected class RecordAttribute_LeftParenthesisKeyword_1 extends KeywordToken { public RecordAttribute_LeftParenthesisKeyword_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRecordAttributeAccess() .getLeftParenthesisKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordAttribute_TagAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // name=NAMEMACRO protected class RecordAttribute_NameAssignment_2 extends AssignmentToken { public RecordAttribute_NameAssignment_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRecordAttributeAccess() .getNameAssignment_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordAttribute_LeftParenthesisKeyword_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("name", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("name"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getRecordAttributeAccess() .getNameNAMEMACROParserRuleCall_2_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getRecordAttributeAccess() .getNameNAMEMACROParserRuleCall_2_0(); return obj; } return null; } } // "," protected class RecordAttribute_CommaKeyword_3 extends KeywordToken { public RecordAttribute_CommaKeyword_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRecordAttributeAccess().getCommaKeyword_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordAttribute_NameAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "{" (fields+=RecordFieldDef ("," fields+=RecordFieldDef)*)? "}" | // recordMacro=MacroCall protected class RecordAttribute_Alternatives_4 extends AlternativesToken { public RecordAttribute_Alternatives_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getRecordAttributeAccess().getAlternatives_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordAttribute_Group_4_0(lastRuleCallOrigin, this, 0, inst); case 1: return new RecordAttribute_RecordMacroAssignment_4_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "{" (fields+=RecordFieldDef ("," fields+=RecordFieldDef)*)? "}" protected class RecordAttribute_Group_4_0 extends GroupToken { public RecordAttribute_Group_4_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRecordAttributeAccess().getGroup_4_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordAttribute_RightCurlyBracketKeyword_4_0_2( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "{" protected class RecordAttribute_LeftCurlyBracketKeyword_4_0_0 extends KeywordToken { public RecordAttribute_LeftCurlyBracketKeyword_4_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRecordAttributeAccess() .getLeftCurlyBracketKeyword_4_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordAttribute_CommaKeyword_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // (fields+=RecordFieldDef ("," fields+=RecordFieldDef)*)? protected class RecordAttribute_Group_4_0_1 extends GroupToken { public RecordAttribute_Group_4_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRecordAttributeAccess().getGroup_4_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordAttribute_Group_4_0_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new RecordAttribute_FieldsAssignment_4_0_1_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // fields+=RecordFieldDef protected class RecordAttribute_FieldsAssignment_4_0_1_0 extends AssignmentToken { public RecordAttribute_FieldsAssignment_4_0_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRecordAttributeAccess() .getFieldsAssignment_4_0_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldDef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("fields", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("fields"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getRecordFieldDefRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRecordAttributeAccess() .getFieldsRecordFieldDefParserRuleCall_4_0_1_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new RecordAttribute_LeftCurlyBracketKeyword_4_0_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," fields+=RecordFieldDef)* protected class RecordAttribute_Group_4_0_1_1 extends GroupToken { public RecordAttribute_Group_4_0_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRecordAttributeAccess().getGroup_4_0_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordAttribute_FieldsAssignment_4_0_1_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class RecordAttribute_CommaKeyword_4_0_1_1_0 extends KeywordToken { public RecordAttribute_CommaKeyword_4_0_1_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRecordAttributeAccess() .getCommaKeyword_4_0_1_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordAttribute_Group_4_0_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new RecordAttribute_FieldsAssignment_4_0_1_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // fields+=RecordFieldDef protected class RecordAttribute_FieldsAssignment_4_0_1_1_1 extends AssignmentToken { public RecordAttribute_FieldsAssignment_4_0_1_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRecordAttributeAccess() .getFieldsAssignment_4_0_1_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldDef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("fields", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("fields"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getRecordFieldDefRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess .getRecordAttributeAccess() .getFieldsRecordFieldDefParserRuleCall_4_0_1_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new RecordAttribute_CommaKeyword_4_0_1_1_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class RecordAttribute_RightCurlyBracketKeyword_4_0_2 extends KeywordToken { public RecordAttribute_RightCurlyBracketKeyword_4_0_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRecordAttributeAccess() .getRightCurlyBracketKeyword_4_0_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordAttribute_Group_4_0_1(lastRuleCallOrigin, this, 0, inst); case 1: return new RecordAttribute_LeftCurlyBracketKeyword_4_0_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // recordMacro=MacroCall protected class RecordAttribute_RecordMacroAssignment_4_1 extends AssignmentToken { public RecordAttribute_RecordMacroAssignment_4_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRecordAttributeAccess() .getRecordMacroAssignment_4_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroCall_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("recordMacro", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("recordMacro"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getMacroCallRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRecordAttributeAccess() .getRecordMacroMacroCallParserRuleCall_4_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new RecordAttribute_CommaKeyword_3(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class RecordAttribute_RightParenthesisKeyword_5 extends KeywordToken { public RecordAttribute_RightParenthesisKeyword_5( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRecordAttributeAccess() .getRightParenthesisKeyword_5(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordAttribute_Alternatives_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "." protected class RecordAttribute_FullStopKeyword_6 extends KeywordToken { public RecordAttribute_FullStopKeyword_6( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRecordAttributeAccess() .getFullStopKeyword_6(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordAttribute_RightParenthesisKeyword_5( lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule RecordAttribute ****************/ /************ * begin Rule RecordFieldDef **************** * * RecordFieldDef: name=NAMEVAR ("=" value=Expression)? ("::" * type=TopType)?; * **/ // name=NAMEVAR ("=" value=Expression)? ("::" type=TopType)? protected class RecordFieldDef_Group extends GroupToken { public RecordFieldDef_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRecordFieldDefAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldDef_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new RecordFieldDef_Group_1(lastRuleCallOrigin, this, 1, inst); case 2: return new RecordFieldDef_NameAssignment_0(lastRuleCallOrigin, this, 2, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getRecordFieldDefRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // name=NAMEVAR protected class RecordFieldDef_NameAssignment_0 extends AssignmentToken { public RecordFieldDef_NameAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRecordFieldDefAccess() .getNameAssignment_0(); } @Override public AbstractToken createFollower(final int index, final 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; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("name"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getRecordFieldDefAccess() .getNameNAMEVARParserRuleCall_0_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getRecordFieldDefAccess() .getNameNAMEVARParserRuleCall_0_0(); return obj; } return null; } } // ("=" value=Expression)? protected class RecordFieldDef_Group_1 extends GroupToken { public RecordFieldDef_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRecordFieldDefAccess().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldDef_ValueAssignment_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "=" protected class RecordFieldDef_EqualsSignKeyword_1_0 extends KeywordToken { public RecordFieldDef_EqualsSignKeyword_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRecordFieldDefAccess() .getEqualsSignKeyword_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldDef_NameAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // value=Expression protected class RecordFieldDef_ValueAssignment_1_1 extends AssignmentToken { public RecordFieldDef_ValueAssignment_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRecordFieldDefAccess() .getValueAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("value", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("value"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRecordFieldDefAccess() .getValueExpressionParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new RecordFieldDef_EqualsSignKeyword_1_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("::" type=TopType)? protected class RecordFieldDef_Group_2 extends GroupToken { public RecordFieldDef_Group_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRecordFieldDefAccess().getGroup_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldDef_TypeAssignment_2_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "::" protected class RecordFieldDef_ColonColonKeyword_2_0 extends KeywordToken { public RecordFieldDef_ColonColonKeyword_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRecordFieldDefAccess() .getColonColonKeyword_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldDef_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new RecordFieldDef_NameAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // type=TopType protected class RecordFieldDef_TypeAssignment_2_1 extends AssignmentToken { public RecordFieldDef_TypeAssignment_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRecordFieldDefAccess() .getTypeAssignment_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("type", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("type"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRecordFieldDefAccess() .getTypeTopTypeParserRuleCall_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new RecordFieldDef_ColonColonKeyword_2_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule RecordFieldDef ****************/ /************ * begin Rule ExportAttribute **************** * * ExportAttribute: => tag="export" "(" "[" (funs+=FunRef ("," * funs+=FunRef)*)? "]" ")" "."; * **/ // => tag="export" "(" "[" (funs+=FunRef ("," funs+=FunRef)*)? "]" ")" "." protected class ExportAttribute_Group extends GroupToken { public ExportAttribute_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExportAttributeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExportAttribute_FullStopKeyword_6( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExportAttributeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // => tag="export" protected class ExportAttribute_TagAssignment_0 extends AssignmentToken { public ExportAttribute_TagAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExportAttributeAccess() .getTagAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("tag", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getExportAttributeAccess().getTagExportKeyword_0_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getExportAttributeAccess() .getTagExportKeyword_0_0(); return obj; } return null; } } // "(" protected class ExportAttribute_LeftParenthesisKeyword_1 extends KeywordToken { public ExportAttribute_LeftParenthesisKeyword_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExportAttributeAccess() .getLeftParenthesisKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExportAttribute_TagAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "[" protected class ExportAttribute_LeftSquareBracketKeyword_2 extends KeywordToken { public ExportAttribute_LeftSquareBracketKeyword_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExportAttributeAccess() .getLeftSquareBracketKeyword_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExportAttribute_LeftParenthesisKeyword_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // (funs+=FunRef ("," funs+=FunRef)*)? protected class ExportAttribute_Group_3 extends GroupToken { public ExportAttribute_Group_3(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExportAttributeAccess().getGroup_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExportAttribute_Group_3_1(lastRuleCallOrigin, this, 0, inst); case 1: return new ExportAttribute_FunsAssignment_3_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // funs+=FunRef protected class ExportAttribute_FunsAssignment_3_0 extends AssignmentToken { public ExportAttribute_FunsAssignment_3_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExportAttributeAccess() .getFunsAssignment_3_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("funs", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("funs"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFunRefRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getExportAttributeAccess() .getFunsFunRefParserRuleCall_3_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ExportAttribute_LeftSquareBracketKeyword_2( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," funs+=FunRef)* protected class ExportAttribute_Group_3_1 extends GroupToken { public ExportAttribute_Group_3_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExportAttributeAccess().getGroup_3_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExportAttribute_FunsAssignment_3_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class ExportAttribute_CommaKeyword_3_1_0 extends KeywordToken { public ExportAttribute_CommaKeyword_3_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExportAttributeAccess() .getCommaKeyword_3_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExportAttribute_Group_3_1(lastRuleCallOrigin, this, 0, inst); case 1: return new ExportAttribute_FunsAssignment_3_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // funs+=FunRef protected class ExportAttribute_FunsAssignment_3_1_1 extends AssignmentToken { public ExportAttribute_FunsAssignment_3_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExportAttributeAccess() .getFunsAssignment_3_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("funs", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("funs"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFunRefRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getExportAttributeAccess() .getFunsFunRefParserRuleCall_3_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ExportAttribute_CommaKeyword_3_1_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "]" protected class ExportAttribute_RightSquareBracketKeyword_4 extends KeywordToken { public ExportAttribute_RightSquareBracketKeyword_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExportAttributeAccess() .getRightSquareBracketKeyword_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExportAttribute_Group_3(lastRuleCallOrigin, this, 0, inst); case 1: return new ExportAttribute_LeftSquareBracketKeyword_2( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // ")" protected class ExportAttribute_RightParenthesisKeyword_5 extends KeywordToken { public ExportAttribute_RightParenthesisKeyword_5( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExportAttributeAccess() .getRightParenthesisKeyword_5(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExportAttribute_RightSquareBracketKeyword_4( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "." protected class ExportAttribute_FullStopKeyword_6 extends KeywordToken { public ExportAttribute_FullStopKeyword_6( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExportAttributeAccess() .getFullStopKeyword_6(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExportAttribute_RightParenthesisKeyword_5( lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule ExportAttribute ****************/ /************ * begin Rule ImportAttribute **************** * * ImportAttribute: => tag="import" "(" module=ModuleVarMacro "," "[" * (funs+=FunRef ("," funs+=FunRef)*)? "]" ")" "."; * **/ // => tag="import" "(" module=ModuleVarMacro "," "[" (funs+=FunRef ("," // funs+=FunRef)*)? "]" ")" "." protected class ImportAttribute_Group extends GroupToken { public ImportAttribute_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getImportAttributeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ImportAttribute_FullStopKeyword_8( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getImportAttributeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // => tag="import" protected class ImportAttribute_TagAssignment_0 extends AssignmentToken { public ImportAttribute_TagAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getImportAttributeAccess() .getTagAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("tag", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getImportAttributeAccess().getTagImportKeyword_0_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getImportAttributeAccess() .getTagImportKeyword_0_0(); return obj; } return null; } } // "(" protected class ImportAttribute_LeftParenthesisKeyword_1 extends KeywordToken { public ImportAttribute_LeftParenthesisKeyword_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getImportAttributeAccess() .getLeftParenthesisKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ImportAttribute_TagAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // module=ModuleVarMacro protected class ImportAttribute_ModuleAssignment_2 extends AssignmentToken { public ImportAttribute_ModuleAssignment_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getImportAttributeAccess() .getModuleAssignment_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ModuleVarMacro_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("module", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("module"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getModuleVarMacroRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getImportAttributeAccess() .getModuleModuleVarMacroParserRuleCall_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ImportAttribute_LeftParenthesisKeyword_1( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "," protected class ImportAttribute_CommaKeyword_3 extends KeywordToken { public ImportAttribute_CommaKeyword_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getImportAttributeAccess().getCommaKeyword_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ImportAttribute_ModuleAssignment_2( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "[" protected class ImportAttribute_LeftSquareBracketKeyword_4 extends KeywordToken { public ImportAttribute_LeftSquareBracketKeyword_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getImportAttributeAccess() .getLeftSquareBracketKeyword_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ImportAttribute_CommaKeyword_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // (funs+=FunRef ("," funs+=FunRef)*)? protected class ImportAttribute_Group_5 extends GroupToken { public ImportAttribute_Group_5(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getImportAttributeAccess().getGroup_5(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ImportAttribute_Group_5_1(lastRuleCallOrigin, this, 0, inst); case 1: return new ImportAttribute_FunsAssignment_5_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // funs+=FunRef protected class ImportAttribute_FunsAssignment_5_0 extends AssignmentToken { public ImportAttribute_FunsAssignment_5_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getImportAttributeAccess() .getFunsAssignment_5_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("funs", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("funs"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFunRefRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getImportAttributeAccess() .getFunsFunRefParserRuleCall_5_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ImportAttribute_LeftSquareBracketKeyword_4( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," funs+=FunRef)* protected class ImportAttribute_Group_5_1 extends GroupToken { public ImportAttribute_Group_5_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getImportAttributeAccess().getGroup_5_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ImportAttribute_FunsAssignment_5_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class ImportAttribute_CommaKeyword_5_1_0 extends KeywordToken { public ImportAttribute_CommaKeyword_5_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getImportAttributeAccess() .getCommaKeyword_5_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ImportAttribute_Group_5_1(lastRuleCallOrigin, this, 0, inst); case 1: return new ImportAttribute_FunsAssignment_5_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // funs+=FunRef protected class ImportAttribute_FunsAssignment_5_1_1 extends AssignmentToken { public ImportAttribute_FunsAssignment_5_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getImportAttributeAccess() .getFunsAssignment_5_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("funs", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("funs"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFunRefRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getImportAttributeAccess() .getFunsFunRefParserRuleCall_5_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ImportAttribute_CommaKeyword_5_1_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "]" protected class ImportAttribute_RightSquareBracketKeyword_6 extends KeywordToken { public ImportAttribute_RightSquareBracketKeyword_6( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getImportAttributeAccess() .getRightSquareBracketKeyword_6(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ImportAttribute_Group_5(lastRuleCallOrigin, this, 0, inst); case 1: return new ImportAttribute_LeftSquareBracketKeyword_4( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // ")" protected class ImportAttribute_RightParenthesisKeyword_7 extends KeywordToken { public ImportAttribute_RightParenthesisKeyword_7( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getImportAttributeAccess() .getRightParenthesisKeyword_7(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ImportAttribute_RightSquareBracketKeyword_6( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "." protected class ImportAttribute_FullStopKeyword_8 extends KeywordToken { public ImportAttribute_FullStopKeyword_8( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getImportAttributeAccess() .getFullStopKeyword_8(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ImportAttribute_RightParenthesisKeyword_7( lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule ImportAttribute ****************/ /************ * begin Rule CompileAttribute **************** * * CompileAttribute: => tag="compile" "(" options=Expression ")" "."; * **/ // => tag="compile" "(" options=Expression ")" "." protected class CompileAttribute_Group extends GroupToken { public CompileAttribute_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getCompileAttributeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CompileAttribute_FullStopKeyword_4( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getCompileAttributeRule().getType().getClassifier()) { return null; } return eObjectConsumer; } } // => tag="compile" protected class CompileAttribute_TagAssignment_0 extends AssignmentToken { public CompileAttribute_TagAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getCompileAttributeAccess() .getTagAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("tag", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getCompileAttributeAccess().getTagCompileKeyword_0_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getCompileAttributeAccess() .getTagCompileKeyword_0_0(); return obj; } return null; } } // "(" protected class CompileAttribute_LeftParenthesisKeyword_1 extends KeywordToken { public CompileAttribute_LeftParenthesisKeyword_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCompileAttributeAccess() .getLeftParenthesisKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CompileAttribute_TagAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // options=Expression protected class CompileAttribute_OptionsAssignment_2 extends AssignmentToken { public CompileAttribute_OptionsAssignment_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getCompileAttributeAccess() .getOptionsAssignment_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("options", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("options"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getCompileAttributeAccess() .getOptionsExpressionParserRuleCall_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new CompileAttribute_LeftParenthesisKeyword_1( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class CompileAttribute_RightParenthesisKeyword_3 extends KeywordToken { public CompileAttribute_RightParenthesisKeyword_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCompileAttributeAccess() .getRightParenthesisKeyword_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CompileAttribute_OptionsAssignment_2( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "." protected class CompileAttribute_FullStopKeyword_4 extends KeywordToken { public CompileAttribute_FullStopKeyword_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCompileAttributeAccess() .getFullStopKeyword_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CompileAttribute_RightParenthesisKeyword_3( lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule CompileAttribute ****************/ /************ * begin Rule AbstractTypeAttribute **************** * * AbstractTypeAttribute: SpecAttribute | TypeAttribute; * **/ // SpecAttribute | TypeAttribute protected class AbstractTypeAttribute_Alternatives extends AlternativesToken { public AbstractTypeAttribute_Alternatives( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getAbstractTypeAttributeAccess() .getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new AbstractTypeAttribute_SpecAttributeParserRuleCall_0( lastRuleCallOrigin, this, 0, inst); case 1: return new AbstractTypeAttribute_TypeAttributeParserRuleCall_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getSpecAttributeRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getTypeAttributeRule().getType().getClassifier()) { return null; } return eObjectConsumer; } } // SpecAttribute protected class AbstractTypeAttribute_SpecAttributeParserRuleCall_0 extends RuleCallToken { public AbstractTypeAttribute_SpecAttributeParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAbstractTypeAttributeAccess() .getSpecAttributeParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getSpecAttributeRule() .getType().getClassifier()) { return null; } if (checkForRecursion(SpecAttribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // TypeAttribute protected class AbstractTypeAttribute_TypeAttributeParserRuleCall_1 extends RuleCallToken { public AbstractTypeAttribute_TypeAttributeParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getAbstractTypeAttributeAccess() .getTypeAttributeParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTypeAttributeRule() .getType().getClassifier()) { return null; } if (checkForRecursion(TypeAttribute_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } /************ end Rule AbstractTypeAttribute ****************/ /************ * begin Rule SpecAttribute **************** * * SpecAttribute: => tag=("spec" | "callback") (ref=SpecFun * signatures+=TypeSig (";" signatures+=TypeSig)* | "(" ref=SpecFun * signatures+=TypeSig (";" signatures+=TypeSig)* ")") "."; * **/ // => tag=("spec" | "callback") (ref=SpecFun signatures+=TypeSig (";" // signatures+=TypeSig)* | "(" ref=SpecFun // signatures+=TypeSig (";" signatures+=TypeSig)* ")") "." protected class SpecAttribute_Group extends GroupToken { public SpecAttribute_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getSpecAttributeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecAttribute_FullStopKeyword_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getSpecAttributeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // => tag=("spec" | "callback") protected class SpecAttribute_TagAssignment_0 extends AssignmentToken { public SpecAttribute_TagAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSpecAttributeAccess().getTagAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("tag", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getSpecAttributeAccess().getTagSpecKeyword_0_0_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getSpecAttributeAccess() .getTagSpecKeyword_0_0_0(); return obj; } if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getSpecAttributeAccess().getTagCallbackKeyword_0_0_1(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getSpecAttributeAccess() .getTagCallbackKeyword_0_0_1(); return obj; } return null; } } // ref=SpecFun signatures+=TypeSig (";" signatures+=TypeSig)* | "(" // ref=SpecFun signatures+=TypeSig (";" // signatures+=TypeSig)* ")" protected class SpecAttribute_Alternatives_1 extends AlternativesToken { public SpecAttribute_Alternatives_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getSpecAttributeAccess().getAlternatives_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecAttribute_Group_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new SpecAttribute_Group_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // ref=SpecFun signatures+=TypeSig (";" signatures+=TypeSig)* protected class SpecAttribute_Group_1_0 extends GroupToken { public SpecAttribute_Group_1_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getSpecAttributeAccess().getGroup_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecAttribute_Group_1_0_2(lastRuleCallOrigin, this, 0, inst); case 1: return new SpecAttribute_SignaturesAssignment_1_0_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // ref=SpecFun protected class SpecAttribute_RefAssignment_1_0_0 extends AssignmentToken { public SpecAttribute_RefAssignment_1_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSpecAttributeAccess() .getRefAssignment_1_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecFun_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("ref", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ref"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getSpecFunRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getSpecAttributeAccess() .getRefSpecFunParserRuleCall_1_0_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new SpecAttribute_TagAssignment_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // signatures+=TypeSig protected class SpecAttribute_SignaturesAssignment_1_0_1 extends AssignmentToken { public SpecAttribute_SignaturesAssignment_1_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSpecAttributeAccess() .getSignaturesAssignment_1_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeSig_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("signatures", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("signatures"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTypeSigRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getSpecAttributeAccess() .getSignaturesTypeSigParserRuleCall_1_0_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new SpecAttribute_RefAssignment_1_0_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // (";" signatures+=TypeSig)* protected class SpecAttribute_Group_1_0_2 extends GroupToken { public SpecAttribute_Group_1_0_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getSpecAttributeAccess().getGroup_1_0_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecAttribute_SignaturesAssignment_1_0_2_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ";" protected class SpecAttribute_SemicolonKeyword_1_0_2_0 extends KeywordToken { public SpecAttribute_SemicolonKeyword_1_0_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSpecAttributeAccess() .getSemicolonKeyword_1_0_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecAttribute_Group_1_0_2(lastRuleCallOrigin, this, 0, inst); case 1: return new SpecAttribute_SignaturesAssignment_1_0_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // signatures+=TypeSig protected class SpecAttribute_SignaturesAssignment_1_0_2_1 extends AssignmentToken { public SpecAttribute_SignaturesAssignment_1_0_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSpecAttributeAccess() .getSignaturesAssignment_1_0_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeSig_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("signatures", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("signatures"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTypeSigRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getSpecAttributeAccess() .getSignaturesTypeSigParserRuleCall_1_0_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new SpecAttribute_SemicolonKeyword_1_0_2_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "(" ref=SpecFun signatures+=TypeSig (";" signatures+=TypeSig)* ")" protected class SpecAttribute_Group_1_1 extends GroupToken { public SpecAttribute_Group_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getSpecAttributeAccess().getGroup_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecAttribute_RightParenthesisKeyword_1_1_4( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "(" protected class SpecAttribute_LeftParenthesisKeyword_1_1_0 extends KeywordToken { public SpecAttribute_LeftParenthesisKeyword_1_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSpecAttributeAccess() .getLeftParenthesisKeyword_1_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecAttribute_TagAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ref=SpecFun protected class SpecAttribute_RefAssignment_1_1_1 extends AssignmentToken { public SpecAttribute_RefAssignment_1_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSpecAttributeAccess() .getRefAssignment_1_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecFun_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("ref", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ref"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getSpecFunRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getSpecAttributeAccess() .getRefSpecFunParserRuleCall_1_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new SpecAttribute_LeftParenthesisKeyword_1_1_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // signatures+=TypeSig protected class SpecAttribute_SignaturesAssignment_1_1_2 extends AssignmentToken { public SpecAttribute_SignaturesAssignment_1_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSpecAttributeAccess() .getSignaturesAssignment_1_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeSig_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("signatures", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("signatures"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTypeSigRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getSpecAttributeAccess() .getSignaturesTypeSigParserRuleCall_1_1_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new SpecAttribute_RefAssignment_1_1_1( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // (";" signatures+=TypeSig)* protected class SpecAttribute_Group_1_1_3 extends GroupToken { public SpecAttribute_Group_1_1_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getSpecAttributeAccess().getGroup_1_1_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecAttribute_SignaturesAssignment_1_1_3_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ";" protected class SpecAttribute_SemicolonKeyword_1_1_3_0 extends KeywordToken { public SpecAttribute_SemicolonKeyword_1_1_3_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSpecAttributeAccess() .getSemicolonKeyword_1_1_3_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecAttribute_Group_1_1_3(lastRuleCallOrigin, this, 0, inst); case 1: return new SpecAttribute_SignaturesAssignment_1_1_2( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // signatures+=TypeSig protected class SpecAttribute_SignaturesAssignment_1_1_3_1 extends AssignmentToken { public SpecAttribute_SignaturesAssignment_1_1_3_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSpecAttributeAccess() .getSignaturesAssignment_1_1_3_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeSig_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("signatures", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("signatures"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTypeSigRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getSpecAttributeAccess() .getSignaturesTypeSigParserRuleCall_1_1_3_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new SpecAttribute_SemicolonKeyword_1_1_3_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class SpecAttribute_RightParenthesisKeyword_1_1_4 extends KeywordToken { public SpecAttribute_RightParenthesisKeyword_1_1_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSpecAttributeAccess() .getRightParenthesisKeyword_1_1_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecAttribute_Group_1_1_3(lastRuleCallOrigin, this, 0, inst); case 1: return new SpecAttribute_SignaturesAssignment_1_1_2( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "." protected class SpecAttribute_FullStopKeyword_2 extends KeywordToken { public SpecAttribute_FullStopKeyword_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSpecAttributeAccess() .getFullStopKeyword_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecAttribute_Alternatives_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule SpecAttribute ****************/ /************ * begin Rule TypeAttribute **************** * * TypeAttribute: => tag=("type" | "opaque") (name=NAMEVAR "(" * (args+=PatternExpression ("," args+=PatternExpression)*)? ")" "::" * type=TopType | "(" name=NAMEVAR "(" (args+=PatternExpression ("," * args+=PatternExpression)*)? ")" "::" type=TopType ")") "."; * **/ // => tag=("type" | "opaque") (name=NAMEVAR "(" (args+=PatternExpression // ("," args+=PatternExpression)*)? ")" "::" // type=TopType | "(" name=NAMEVAR "(" (args+=PatternExpression ("," // args+=PatternExpression)*)? ")" "::" type=TopType // ")") "." protected class TypeAttribute_Group extends GroupToken { public TypeAttribute_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAttributeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_FullStopKeyword_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTypeAttributeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // => tag=("type" | "opaque") protected class TypeAttribute_TagAssignment_0 extends AssignmentToken { public TypeAttribute_TagAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAttributeAccess().getTagAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("tag", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getTypeAttributeAccess().getTagTypeKeyword_0_0_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getTypeAttributeAccess() .getTagTypeKeyword_0_0_0(); return obj; } if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getTypeAttributeAccess().getTagOpaqueKeyword_0_0_1(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getTypeAttributeAccess() .getTagOpaqueKeyword_0_0_1(); return obj; } return null; } } // name=NAMEVAR "(" (args+=PatternExpression ("," // args+=PatternExpression)*)? ")" "::" type=TopType | "(" name=NAMEVAR "(" // (args+=PatternExpression ("," args+=PatternExpression)*)? ")" "::" // type=TopType ")" protected class TypeAttribute_Alternatives_1 extends AlternativesToken { public TypeAttribute_Alternatives_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getTypeAttributeAccess().getAlternatives_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_Group_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new TypeAttribute_Group_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // name=NAMEVAR "(" (args+=PatternExpression ("," // args+=PatternExpression)*)? ")" "::" type=TopType protected class TypeAttribute_Group_1_0 extends GroupToken { public TypeAttribute_Group_1_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAttributeAccess().getGroup_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_TypeAssignment_1_0_5( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // name=NAMEVAR protected class TypeAttribute_NameAssignment_1_0_0 extends AssignmentToken { public TypeAttribute_NameAssignment_1_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAttributeAccess() .getNameAssignment_1_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_TagAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("name", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("name"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getTypeAttributeAccess() .getNameNAMEVARParserRuleCall_1_0_0_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getTypeAttributeAccess() .getNameNAMEVARParserRuleCall_1_0_0_0(); return obj; } return null; } } // "(" protected class TypeAttribute_LeftParenthesisKeyword_1_0_1 extends KeywordToken { public TypeAttribute_LeftParenthesisKeyword_1_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAttributeAccess() .getLeftParenthesisKeyword_1_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_NameAssignment_1_0_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // (args+=PatternExpression ("," args+=PatternExpression)*)? protected class TypeAttribute_Group_1_0_2 extends GroupToken { public TypeAttribute_Group_1_0_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAttributeAccess().getGroup_1_0_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_Group_1_0_2_1(lastRuleCallOrigin, this, 0, inst); case 1: return new TypeAttribute_ArgsAssignment_1_0_2_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // args+=PatternExpression protected class TypeAttribute_ArgsAssignment_1_0_2_0 extends AssignmentToken { public TypeAttribute_ArgsAssignment_1_0_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAttributeAccess() .getArgsAssignment_1_0_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new PatternExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("args", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("args"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getPatternExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeAttributeAccess() .getArgsPatternExpressionParserRuleCall_1_0_2_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TypeAttribute_LeftParenthesisKeyword_1_0_1( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," args+=PatternExpression)* protected class TypeAttribute_Group_1_0_2_1 extends GroupToken { public TypeAttribute_Group_1_0_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAttributeAccess().getGroup_1_0_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_ArgsAssignment_1_0_2_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class TypeAttribute_CommaKeyword_1_0_2_1_0 extends KeywordToken { public TypeAttribute_CommaKeyword_1_0_2_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAttributeAccess() .getCommaKeyword_1_0_2_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_Group_1_0_2_1(lastRuleCallOrigin, this, 0, inst); case 1: return new TypeAttribute_ArgsAssignment_1_0_2_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // args+=PatternExpression protected class TypeAttribute_ArgsAssignment_1_0_2_1_1 extends AssignmentToken { public TypeAttribute_ArgsAssignment_1_0_2_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAttributeAccess() .getArgsAssignment_1_0_2_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new PatternExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("args", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("args"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getPatternExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess .getTypeAttributeAccess() .getArgsPatternExpressionParserRuleCall_1_0_2_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TypeAttribute_CommaKeyword_1_0_2_1_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class TypeAttribute_RightParenthesisKeyword_1_0_3 extends KeywordToken { public TypeAttribute_RightParenthesisKeyword_1_0_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAttributeAccess() .getRightParenthesisKeyword_1_0_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_Group_1_0_2(lastRuleCallOrigin, this, 0, inst); case 1: return new TypeAttribute_LeftParenthesisKeyword_1_0_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "::" protected class TypeAttribute_ColonColonKeyword_1_0_4 extends KeywordToken { public TypeAttribute_ColonColonKeyword_1_0_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAttributeAccess() .getColonColonKeyword_1_0_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_RightParenthesisKeyword_1_0_3( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // type=TopType protected class TypeAttribute_TypeAssignment_1_0_5 extends AssignmentToken { public TypeAttribute_TypeAssignment_1_0_5( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAttributeAccess() .getTypeAssignment_1_0_5(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("type", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("type"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeAttributeAccess() .getTypeTopTypeParserRuleCall_1_0_5_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TypeAttribute_ColonColonKeyword_1_0_4( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "(" name=NAMEVAR "(" (args+=PatternExpression ("," // args+=PatternExpression)*)? ")" "::" type=TopType ")" protected class TypeAttribute_Group_1_1 extends GroupToken { public TypeAttribute_Group_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAttributeAccess().getGroup_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_RightParenthesisKeyword_1_1_7( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "(" protected class TypeAttribute_LeftParenthesisKeyword_1_1_0 extends KeywordToken { public TypeAttribute_LeftParenthesisKeyword_1_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAttributeAccess() .getLeftParenthesisKeyword_1_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_TagAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // name=NAMEVAR protected class TypeAttribute_NameAssignment_1_1_1 extends AssignmentToken { public TypeAttribute_NameAssignment_1_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAttributeAccess() .getNameAssignment_1_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_LeftParenthesisKeyword_1_1_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("name", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("name"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getTypeAttributeAccess() .getNameNAMEVARParserRuleCall_1_1_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getTypeAttributeAccess() .getNameNAMEVARParserRuleCall_1_1_1_0(); return obj; } return null; } } // "(" protected class TypeAttribute_LeftParenthesisKeyword_1_1_2 extends KeywordToken { public TypeAttribute_LeftParenthesisKeyword_1_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAttributeAccess() .getLeftParenthesisKeyword_1_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_NameAssignment_1_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // (args+=PatternExpression ("," args+=PatternExpression)*)? protected class TypeAttribute_Group_1_1_3 extends GroupToken { public TypeAttribute_Group_1_1_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAttributeAccess().getGroup_1_1_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_Group_1_1_3_1(lastRuleCallOrigin, this, 0, inst); case 1: return new TypeAttribute_ArgsAssignment_1_1_3_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // args+=PatternExpression protected class TypeAttribute_ArgsAssignment_1_1_3_0 extends AssignmentToken { public TypeAttribute_ArgsAssignment_1_1_3_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAttributeAccess() .getArgsAssignment_1_1_3_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new PatternExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("args", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("args"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getPatternExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeAttributeAccess() .getArgsPatternExpressionParserRuleCall_1_1_3_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TypeAttribute_LeftParenthesisKeyword_1_1_2( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," args+=PatternExpression)* protected class TypeAttribute_Group_1_1_3_1 extends GroupToken { public TypeAttribute_Group_1_1_3_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAttributeAccess().getGroup_1_1_3_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_ArgsAssignment_1_1_3_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class TypeAttribute_CommaKeyword_1_1_3_1_0 extends KeywordToken { public TypeAttribute_CommaKeyword_1_1_3_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAttributeAccess() .getCommaKeyword_1_1_3_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_Group_1_1_3_1(lastRuleCallOrigin, this, 0, inst); case 1: return new TypeAttribute_ArgsAssignment_1_1_3_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // args+=PatternExpression protected class TypeAttribute_ArgsAssignment_1_1_3_1_1 extends AssignmentToken { public TypeAttribute_ArgsAssignment_1_1_3_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAttributeAccess() .getArgsAssignment_1_1_3_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new PatternExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("args", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("args"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getPatternExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess .getTypeAttributeAccess() .getArgsPatternExpressionParserRuleCall_1_1_3_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TypeAttribute_CommaKeyword_1_1_3_1_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class TypeAttribute_RightParenthesisKeyword_1_1_4 extends KeywordToken { public TypeAttribute_RightParenthesisKeyword_1_1_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAttributeAccess() .getRightParenthesisKeyword_1_1_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_Group_1_1_3(lastRuleCallOrigin, this, 0, inst); case 1: return new TypeAttribute_LeftParenthesisKeyword_1_1_2( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "::" protected class TypeAttribute_ColonColonKeyword_1_1_5 extends KeywordToken { public TypeAttribute_ColonColonKeyword_1_1_5( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAttributeAccess() .getColonColonKeyword_1_1_5(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_RightParenthesisKeyword_1_1_4( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // type=TopType protected class TypeAttribute_TypeAssignment_1_1_6 extends AssignmentToken { public TypeAttribute_TypeAssignment_1_1_6( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAttributeAccess() .getTypeAssignment_1_1_6(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("type", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("type"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeAttributeAccess() .getTypeTopTypeParserRuleCall_1_1_6_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TypeAttribute_ColonColonKeyword_1_1_5( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class TypeAttribute_RightParenthesisKeyword_1_1_7 extends KeywordToken { public TypeAttribute_RightParenthesisKeyword_1_1_7( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAttributeAccess() .getRightParenthesisKeyword_1_1_7(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_TypeAssignment_1_1_6( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "." protected class TypeAttribute_FullStopKeyword_2 extends KeywordToken { public TypeAttribute_FullStopKeyword_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAttributeAccess() .getFullStopKeyword_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeAttribute_Alternatives_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule TypeAttribute ****************/ /************ * begin Rule CustomAttribute **************** * * CustomAttribute: tag=ATOM "(" (value+=Expression ("," * value+=Expression)*)? ")" "."; * **/ // tag=ATOM "(" (value+=Expression ("," value+=Expression)*)? ")" "." protected class CustomAttribute_Group extends GroupToken { public CustomAttribute_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getCustomAttributeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CustomAttribute_FullStopKeyword_4( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getCustomAttributeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // tag=ATOM protected class CustomAttribute_TagAssignment_0 extends AssignmentToken { public CustomAttribute_TagAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getCustomAttributeAccess() .getTagAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("tag", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getCustomAttributeAccess() .getTagATOMTerminalRuleCall_0_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getCustomAttributeAccess() .getTagATOMTerminalRuleCall_0_0(); return obj; } return null; } } // "(" protected class CustomAttribute_LeftParenthesisKeyword_1 extends KeywordToken { public CustomAttribute_LeftParenthesisKeyword_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCustomAttributeAccess() .getLeftParenthesisKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CustomAttribute_TagAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // (value+=Expression ("," value+=Expression)*)? protected class CustomAttribute_Group_2 extends GroupToken { public CustomAttribute_Group_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getCustomAttributeAccess().getGroup_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CustomAttribute_Group_2_1(lastRuleCallOrigin, this, 0, inst); case 1: return new CustomAttribute_ValueAssignment_2_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // value+=Expression protected class CustomAttribute_ValueAssignment_2_0 extends AssignmentToken { public CustomAttribute_ValueAssignment_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getCustomAttributeAccess() .getValueAssignment_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("value", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("value"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getCustomAttributeAccess() .getValueExpressionParserRuleCall_2_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new CustomAttribute_LeftParenthesisKeyword_1( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," value+=Expression)* protected class CustomAttribute_Group_2_1 extends GroupToken { public CustomAttribute_Group_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getCustomAttributeAccess().getGroup_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CustomAttribute_ValueAssignment_2_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class CustomAttribute_CommaKeyword_2_1_0 extends KeywordToken { public CustomAttribute_CommaKeyword_2_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCustomAttributeAccess() .getCommaKeyword_2_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CustomAttribute_Group_2_1(lastRuleCallOrigin, this, 0, inst); case 1: return new CustomAttribute_ValueAssignment_2_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // value+=Expression protected class CustomAttribute_ValueAssignment_2_1_1 extends AssignmentToken { public CustomAttribute_ValueAssignment_2_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getCustomAttributeAccess() .getValueAssignment_2_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("value", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("value"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getCustomAttributeAccess() .getValueExpressionParserRuleCall_2_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new CustomAttribute_CommaKeyword_2_1_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class CustomAttribute_RightParenthesisKeyword_3 extends KeywordToken { public CustomAttribute_RightParenthesisKeyword_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCustomAttributeAccess() .getRightParenthesisKeyword_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CustomAttribute_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new CustomAttribute_LeftParenthesisKeyword_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "." protected class CustomAttribute_FullStopKeyword_4 extends KeywordToken { public CustomAttribute_FullStopKeyword_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCustomAttributeAccess() .getFullStopKeyword_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CustomAttribute_RightParenthesisKeyword_3( lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule CustomAttribute ****************/ /************ * begin Rule Function **************** * * // Functions Function: name=NAME clauses+=FunctionClause (";" * clauses+=FunctionClause)* "."; * **/ // name=NAME clauses+=FunctionClause (";" clauses+=FunctionClause)* "." protected class Function_Group extends GroupToken { public Function_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getFunctionAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Function_FullStopKeyword_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getFunctionRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // name=NAME protected class Function_NameAssignment_0 extends AssignmentToken { public Function_NameAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFunctionAccess().getNameAssignment_0(); } @Override public AbstractToken createFollower(final int index, final 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; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("name"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getFunctionAccess().getNameNAMEParserRuleCall_0_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getFunctionAccess() .getNameNAMEParserRuleCall_0_0(); return obj; } return null; } } // clauses+=FunctionClause protected class Function_ClausesAssignment_1 extends AssignmentToken { public Function_ClausesAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFunctionAccess().getClausesAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunctionClause_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("clauses", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("clauses"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFunctionClauseRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getFunctionAccess() .getClausesFunctionClauseParserRuleCall_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Function_NameAssignment_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // (";" clauses+=FunctionClause)* protected class Function_Group_2 extends GroupToken { public Function_Group_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getFunctionAccess().getGroup_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Function_ClausesAssignment_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ";" protected class Function_SemicolonKeyword_2_0 extends KeywordToken { public Function_SemicolonKeyword_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFunctionAccess().getSemicolonKeyword_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Function_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new Function_ClausesAssignment_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // clauses+=FunctionClause protected class Function_ClausesAssignment_2_1 extends AssignmentToken { public Function_ClausesAssignment_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFunctionAccess().getClausesAssignment_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunctionClause_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("clauses", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("clauses"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFunctionClauseRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getFunctionAccess() .getClausesFunctionClauseParserRuleCall_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Function_SemicolonKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "." protected class Function_FullStopKeyword_3 extends KeywordToken { public Function_FullStopKeyword_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFunctionAccess().getFullStopKeyword_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Function_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new Function_ClausesAssignment_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule Function ****************/ /************ * begin Rule FunctionClause **************** * * // validate that all names for a function are identical FunctionClause: * ref=[Function|NAME]? "(" params=Expressions? ")" ("when"? guard=Guard)? * // no 'when' if guard is a macro "->" body=Expressions; * **/ // ref=[Function|NAME]? "(" params=Expressions? ")" ("when"? guard=Guard)? // // no 'when' if guard is a macro // "->" body=Expressions protected class FunctionClause_Group extends GroupToken { public FunctionClause_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getFunctionClauseAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunctionClause_BodyAssignment_6(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getFunctionClauseRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // ref=[Function|NAME]? protected class FunctionClause_RefAssignment_0 extends AssignmentToken { public FunctionClause_RefAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFunctionClauseAccess().getRefAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("ref", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ref"); if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFunctionClauseAccess() .getRefFunctionCrossReference_0_0().getType() .getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getFunctionClauseAccess() .getRefFunctionCrossReference_0_0(); return obj; } } return null; } } // "(" protected class FunctionClause_LeftParenthesisKeyword_1 extends KeywordToken { public FunctionClause_LeftParenthesisKeyword_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFunctionClauseAccess() .getLeftParenthesisKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunctionClause_RefAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst); } } } // params=Expressions? protected class FunctionClause_ParamsAssignment_2 extends AssignmentToken { public FunctionClause_ParamsAssignment_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFunctionClauseAccess() .getParamsAssignment_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("params", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("params"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionsRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getFunctionClauseAccess() .getParamsExpressionsParserRuleCall_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new FunctionClause_LeftParenthesisKeyword_1( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class FunctionClause_RightParenthesisKeyword_3 extends KeywordToken { public FunctionClause_RightParenthesisKeyword_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFunctionClauseAccess() .getRightParenthesisKeyword_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunctionClause_ParamsAssignment_2( lastRuleCallOrigin, this, 0, inst); case 1: return new FunctionClause_LeftParenthesisKeyword_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // ("when"? guard=Guard)? protected class FunctionClause_Group_4 extends GroupToken { public FunctionClause_Group_4(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getFunctionClauseAccess().getGroup_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunctionClause_GuardAssignment_4_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // guard=Guard protected class FunctionClause_GuardAssignment_4_1 extends AssignmentToken { public FunctionClause_GuardAssignment_4_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFunctionClauseAccess() .getGuardAssignment_4_1(); } @Override public AbstractToken createFollower(final int index, final 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; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("guard"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getGuardRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getFunctionClauseAccess() .getGuardGuardParserRuleCall_4_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new FunctionClause_RightParenthesisKeyword_3( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "->" protected class FunctionClause_HyphenMinusGreaterThanSignKeyword_5 extends KeywordToken { public FunctionClause_HyphenMinusGreaterThanSignKeyword_5( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFunctionClauseAccess() .getHyphenMinusGreaterThanSignKeyword_5(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunctionClause_Group_4(lastRuleCallOrigin, this, 0, inst); case 1: return new FunctionClause_RightParenthesisKeyword_3( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // body=Expressions protected class FunctionClause_BodyAssignment_6 extends AssignmentToken { public FunctionClause_BodyAssignment_6( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFunctionClauseAccess() .getBodyAssignment_6(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("body", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("body"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionsRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getFunctionClauseAccess() .getBodyExpressionsParserRuleCall_6_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new FunctionClause_HyphenMinusGreaterThanSignKeyword_5( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule FunctionClause ****************/ /************ * begin Rule Guard **************** * * Guard: guards+=Expressions (";" guards+=Expressions)*; * **/ // guards+=Expressions (";" guards+=Expressions)* protected class Guard_Group extends GroupToken { public Guard_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getGuardAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Guard_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Guard_GuardsAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getGuardRule().getType() .getClassifier()) { return null; } return eObjectConsumer; } } // guards+=Expressions protected class Guard_GuardsAssignment_0 extends AssignmentToken { public Guard_GuardsAssignment_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getGuardAccess().getGuardsAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("guards", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("guards"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionsRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getGuardAccess() .getGuardsExpressionsParserRuleCall_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // (";" guards+=Expressions)* protected class Guard_Group_1 extends GroupToken { public Guard_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getGuardAccess().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Guard_GuardsAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ";" protected class Guard_SemicolonKeyword_1_0 extends KeywordToken { public Guard_SemicolonKeyword_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getGuardAccess().getSemicolonKeyword_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Guard_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Guard_GuardsAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // guards+=Expressions protected class Guard_GuardsAssignment_1_1 extends AssignmentToken { public Guard_GuardsAssignment_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getGuardAccess().getGuardsAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("guards", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("guards"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionsRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getGuardAccess() .getGuardsExpressionsParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Guard_SemicolonKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Guard ****************/ /************ * begin Rule Expressions **************** * * Expressions: exprs+=LExpression ("," exprs+=LExpression)*; * **/ // exprs+=LExpression ("," exprs+=LExpression)* protected class Expressions_Group extends GroupToken { public Expressions_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpressionsAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Expressions_ExprsAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpressionsRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // exprs+=LExpression protected class Expressions_ExprsAssignment_0 extends AssignmentToken { public Expressions_ExprsAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpressionsAccess().getExprsAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LExpression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("exprs", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("exprs"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getLExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getExpressionsAccess() .getExprsLExpressionParserRuleCall_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // ("," exprs+=LExpression)* protected class Expressions_Group_1 extends GroupToken { public Expressions_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpressionsAccess().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_ExprsAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class Expressions_CommaKeyword_1_0 extends KeywordToken { public Expressions_CommaKeyword_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExpressionsAccess().getCommaKeyword_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Expressions_ExprsAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // exprs+=LExpression protected class Expressions_ExprsAssignment_1_1 extends AssignmentToken { public Expressions_ExprsAssignment_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpressionsAccess() .getExprsAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LExpression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("exprs", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("exprs"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getLExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getExpressionsAccess() .getExprsLExpressionParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Expressions_CommaKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Expressions ****************/ /************ * begin Rule LExpression **************** * * LExpression returns Expression: => line?=LineExpr expr=Expression | * Expression; * **/ // => line?=LineExpr expr=Expression | Expression protected class LExpression_Alternatives extends AlternativesToken { public LExpression_Alternatives(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getLExpressionAccess().getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LExpression_Group_0(lastRuleCallOrigin, this, 0, inst); case 1: return new LExpression_ExpressionParserRuleCall_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr400Access() .getAddOpOpLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getAtomAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr300Access().getBinOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExprMaxAccess().getBlockExprAction_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getCaseExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpressionAccess().getCatchExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getCondExprAccess().getCondExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTupleRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr700Access().getFunCallTargetAction_1_0_1() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getInlineFunRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getFunRefRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getIfExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getLetExprAccess().getLetExprAction_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr100Access() .getMatchExprOpLeftAction_1_0_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getExpr500Access().getMultOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getQueryExprAccess().getQueryExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getReceiveExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr800Access() .getRemoteTargetModuleAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTryExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getUnaryExprAccess().getUnaryExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // => line?=LineExpr expr=Expression protected class LExpression_Group_0 extends GroupToken { public LExpression_Group_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getLExpressionAccess().getGroup_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LExpression_ExprAssignment_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getLExpressionRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // => line?=LineExpr protected class LExpression_LineAssignment_0_0 extends AssignmentToken { public LExpression_LineAssignment_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getLExpressionAccess().getLineAssignment_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("line", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("line"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getLExpressionAccess() .getLineLineExprParserRuleCall_0_0_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getLExpressionAccess() .getLineLineExprParserRuleCall_0_0_0(); return obj; } return null; } } // expr=Expression protected class LExpression_ExprAssignment_0_1 extends AssignmentToken { public LExpression_ExprAssignment_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getLExpressionAccess().getExprAssignment_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("expr", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("expr"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getLExpressionAccess() .getExprExpressionParserRuleCall_0_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new LExpression_LineAssignment_0_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // Expression protected class LExpression_ExpressionParserRuleCall_1 extends RuleCallToken { public LExpression_ExpressionParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getLExpressionAccess() .getExpressionParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(Expression_Alternatives.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } /************ end Rule LExpression ****************/ /************ * begin Rule Expression **************** * * Expression: {CatchExpr} "catch" expr=Expression | Expr100; * **/ // {CatchExpr} "catch" expr=Expression | Expr100 protected class Expression_Alternatives extends AlternativesToken { public Expression_Alternatives(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getExpressionAccess().getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Group_0(lastRuleCallOrigin, this, 0, inst); case 1: return new Expression_Expr100ParserRuleCall_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr400Access() .getAddOpOpLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getAtomAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr300Access().getBinOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExprMaxAccess().getBlockExprAction_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getCaseExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpressionAccess().getCatchExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getCondExprAccess().getCondExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTupleRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr700Access().getFunCallTargetAction_1_0_1() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getInlineFunRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getFunRefRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getIfExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getLetExprAccess().getLetExprAction_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr100Access() .getMatchExprOpLeftAction_1_0_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getExpr500Access().getMultOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getQueryExprAccess().getQueryExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getReceiveExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr800Access() .getRemoteTargetModuleAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTryExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getUnaryExprAccess().getUnaryExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // {CatchExpr} "catch" expr=Expression protected class Expression_Group_0 extends GroupToken { public Expression_Group_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpressionAccess().getGroup_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_ExprAssignment_0_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpressionAccess() .getCatchExprAction_0_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {CatchExpr} protected class Expression_CatchExprAction_0_0 extends ActionToken { public Expression_CatchExprAction_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getExpressionAccess().getCatchExprAction_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // "catch" protected class Expression_CatchKeyword_0_1 extends KeywordToken { public Expression_CatchKeyword_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExpressionAccess().getCatchKeyword_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_CatchExprAction_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // expr=Expression protected class Expression_ExprAssignment_0_2 extends AssignmentToken { public Expression_ExprAssignment_0_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpressionAccess().getExprAssignment_0_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("expr", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("expr"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getExpressionAccess() .getExprExpressionParserRuleCall_0_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Expression_CatchKeyword_0_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // Expr100 protected class Expression_Expr100ParserRuleCall_1 extends RuleCallToken { public Expression_Expr100ParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExpressionAccess() .getExpr100ParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr100_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(Expr100_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } /************ end Rule Expression ****************/ /************ * begin Rule Expr100 **************** * * // right-associative Expr100 returns Expression: Expr150 * ({MatchExpr.opLeft=current} op="=" opRight=Expr100 | * {BinOp.opLeft=current} op=SENDOP opRight=Expr100)?; * **/ // Expr150 ({MatchExpr.opLeft=current} op="=" opRight=Expr100 | // {BinOp.opLeft=current} op=SENDOP opRight=Expr100)? protected class Expr100_Group extends GroupToken { public Expr100_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr100Access().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr100_Alternatives_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Expr100_Expr150ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr400Access() .getAddOpOpLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getAtomAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr300Access().getBinOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExprMaxAccess().getBlockExprAction_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getCaseExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpressionAccess().getCatchExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getCondExprAccess().getCondExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTupleRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr700Access().getFunCallTargetAction_1_0_1() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getInlineFunRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getFunRefRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getIfExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getLetExprAccess().getLetExprAction_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr100Access() .getMatchExprOpLeftAction_1_0_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getExpr500Access().getMultOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getQueryExprAccess().getQueryExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getReceiveExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr800Access() .getRemoteTargetModuleAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTryExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getUnaryExprAccess().getUnaryExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // Expr150 protected class Expr100_Expr150ParserRuleCall_0 extends RuleCallToken { public Expr100_Expr150ParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExpr100Access() .getExpr150ParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr150_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(Expr150_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // ({MatchExpr.opLeft=current} op="=" opRight=Expr100 | // {BinOp.opLeft=current} op=SENDOP opRight=Expr100)? protected class Expr100_Alternatives_1 extends AlternativesToken { public Expr100_Alternatives_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getExpr100Access().getAlternatives_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr100_Group_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new Expr100_Group_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr100Access() .getBinOpOpLeftAction_1_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr100Access() .getMatchExprOpLeftAction_1_0_0().getType() .getClassifier()) { return null; } return eObjectConsumer; } } // {MatchExpr.opLeft=current} op="=" opRight=Expr100 protected class Expr100_Group_1_0 extends GroupToken { public Expr100_Group_1_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr100Access().getGroup_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr100_OpRightAssignment_1_0_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr100Access() .getMatchExprOpLeftAction_1_0_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {MatchExpr.opLeft=current} protected class Expr100_MatchExprOpLeftAction_1_0_0 extends ActionToken { public Expr100_MatchExprOpLeftAction_1_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getExpr100Access() .getMatchExprOpLeftAction_1_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr100_Expr150ParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { final Object val = eObjectConsumer.getConsumable("opLeft", false); if (val == null) { return null; } if (!eObjectConsumer.isConsumedWithLastConsumtion("opLeft")) { return null; } return createEObjectConsumer((EObject) val); } } // op="=" protected class Expr100_OpAssignment_1_0_1 extends AssignmentToken { public Expr100_OpAssignment_1_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr100Access().getOpAssignment_1_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr100_MatchExprOpLeftAction_1_0_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("op", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getExpr100Access().getOpEqualsSignKeyword_1_0_1_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getExpr100Access() .getOpEqualsSignKeyword_1_0_1_0(); return obj; } return null; } } // opRight=Expr100 protected class Expr100_OpRightAssignment_1_0_2 extends AssignmentToken { public Expr100_OpRightAssignment_1_0_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr100Access() .getOpRightAssignment_1_0_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr100_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("opRight", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("opRight"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpr100Rule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getExpr100Access() .getOpRightExpr100ParserRuleCall_1_0_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Expr100_OpAssignment_1_0_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // {BinOp.opLeft=current} op=SENDOP opRight=Expr100 protected class Expr100_Group_1_1 extends GroupToken { public Expr100_Group_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr100Access().getGroup_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr100_OpRightAssignment_1_1_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr100Access() .getBinOpOpLeftAction_1_1_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {BinOp.opLeft=current} protected class Expr100_BinOpOpLeftAction_1_1_0 extends ActionToken { public Expr100_BinOpOpLeftAction_1_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getExpr100Access() .getBinOpOpLeftAction_1_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr100_Expr150ParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { final Object val = eObjectConsumer.getConsumable("opLeft", false); if (val == null) { return null; } if (!eObjectConsumer.isConsumedWithLastConsumtion("opLeft")) { return null; } return createEObjectConsumer((EObject) val); } } // op=SENDOP protected class Expr100_OpAssignment_1_1_1 extends AssignmentToken { public Expr100_OpAssignment_1_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr100Access().getOpAssignment_1_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr100_BinOpOpLeftAction_1_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("op", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getExpr100Access().getOpSENDOPParserRuleCall_1_1_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getExpr100Access() .getOpSENDOPParserRuleCall_1_1_1_0(); return obj; } return null; } } // opRight=Expr100 protected class Expr100_OpRightAssignment_1_1_2 extends AssignmentToken { public Expr100_OpRightAssignment_1_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr100Access() .getOpRightAssignment_1_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr100_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("opRight", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("opRight"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpr100Rule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getExpr100Access() .getOpRightExpr100ParserRuleCall_1_1_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Expr100_OpAssignment_1_1_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Expr100 ****************/ /************ * begin Rule Expr150 **************** * * Expr150 returns Expression: Expr160 ({BinOp.opLeft=current} op="orelse" * opRight=Expr160)*; * **/ // Expr160 ({BinOp.opLeft=current} op="orelse" opRight=Expr160)* protected class Expr150_Group extends GroupToken { public Expr150_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr150Access().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr150_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Expr150_Expr160ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr400Access() .getAddOpOpLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getAtomAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr100Access().getBinOpOpLeftAction_1_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExprMaxAccess().getBlockExprAction_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getCaseExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpressionAccess().getCatchExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getCondExprAccess().getCondExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTupleRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr700Access().getFunCallTargetAction_1_0_1() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getInlineFunRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getFunRefRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getIfExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getLetExprAccess().getLetExprAction_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr100Access() .getMatchExprOpLeftAction_1_0_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getExpr500Access().getMultOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getQueryExprAccess().getQueryExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getReceiveExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr800Access() .getRemoteTargetModuleAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTryExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getUnaryExprAccess().getUnaryExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // Expr160 protected class Expr150_Expr160ParserRuleCall_0 extends RuleCallToken { public Expr150_Expr160ParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExpr150Access() .getExpr160ParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr160_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(Expr160_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // ({BinOp.opLeft=current} op="orelse" opRight=Expr160)* protected class Expr150_Group_1 extends GroupToken { public Expr150_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr150Access().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr150_OpRightAssignment_1_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr150Access() .getBinOpOpLeftAction_1_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {BinOp.opLeft=current} protected class Expr150_BinOpOpLeftAction_1_0 extends ActionToken { public Expr150_BinOpOpLeftAction_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getExpr150Access().getBinOpOpLeftAction_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr150_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Expr150_Expr160ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { final Object val = eObjectConsumer.getConsumable("opLeft", false); if (val == null) { return null; } if (!eObjectConsumer.isConsumedWithLastConsumtion("opLeft")) { return null; } return createEObjectConsumer((EObject) val); } } // op="orelse" protected class Expr150_OpAssignment_1_1 extends AssignmentToken { public Expr150_OpAssignment_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr150Access().getOpAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr150_BinOpOpLeftAction_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("op", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op"); if (keywordSerializer .isValid(obj.getEObject(), grammarAccess.getExpr150Access() .getOpOrelseKeyword_1_1_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getExpr150Access() .getOpOrelseKeyword_1_1_0(); return obj; } return null; } } // opRight=Expr160 protected class Expr150_OpRightAssignment_1_2 extends AssignmentToken { public Expr150_OpRightAssignment_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr150Access().getOpRightAssignment_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr160_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("opRight", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("opRight"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpr160Rule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getExpr150Access() .getOpRightExpr160ParserRuleCall_1_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Expr150_OpAssignment_1_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Expr150 ****************/ /************ * begin Rule Expr160 **************** * * Expr160 returns Expression: Expr200 ({BinOp.opLeft=current} op="andalso" * opRight2=Expr200)*; * **/ // Expr200 ({BinOp.opLeft=current} op="andalso" opRight2=Expr200)* protected class Expr160_Group extends GroupToken { public Expr160_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr160Access().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr160_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Expr160_Expr200ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr400Access() .getAddOpOpLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getAtomAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr150Access().getBinOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExprMaxAccess().getBlockExprAction_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getCaseExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpressionAccess().getCatchExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getCondExprAccess().getCondExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTupleRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr700Access().getFunCallTargetAction_1_0_1() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getInlineFunRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getFunRefRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getIfExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getLetExprAccess().getLetExprAction_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr100Access() .getMatchExprOpLeftAction_1_0_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getExpr500Access().getMultOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getQueryExprAccess().getQueryExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getReceiveExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr800Access() .getRemoteTargetModuleAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTryExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getUnaryExprAccess().getUnaryExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // Expr200 protected class Expr160_Expr200ParserRuleCall_0 extends RuleCallToken { public Expr160_Expr200ParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExpr160Access() .getExpr200ParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr200_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(Expr200_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // ({BinOp.opLeft=current} op="andalso" opRight2=Expr200)* protected class Expr160_Group_1 extends GroupToken { public Expr160_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr160Access().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr160_OpRight2Assignment_1_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr160Access() .getBinOpOpLeftAction_1_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {BinOp.opLeft=current} protected class Expr160_BinOpOpLeftAction_1_0 extends ActionToken { public Expr160_BinOpOpLeftAction_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getExpr160Access().getBinOpOpLeftAction_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr160_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Expr160_Expr200ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { final Object val = eObjectConsumer.getConsumable("opLeft", false); if (val == null) { return null; } if (!eObjectConsumer.isConsumedWithLastConsumtion("opLeft")) { return null; } return createEObjectConsumer((EObject) val); } } // op="andalso" protected class Expr160_OpAssignment_1_1 extends AssignmentToken { public Expr160_OpAssignment_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr160Access().getOpAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr160_BinOpOpLeftAction_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("op", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getExpr160Access().getOpAndalsoKeyword_1_1_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getExpr160Access() .getOpAndalsoKeyword_1_1_0(); return obj; } return null; } } // opRight2=Expr200 protected class Expr160_OpRight2Assignment_1_2 extends AssignmentToken { public Expr160_OpRight2Assignment_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr160Access().getOpRight2Assignment_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr200_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("opRight2", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("opRight2"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpr200Rule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getExpr160Access() .getOpRight2Expr200ParserRuleCall_1_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Expr160_OpAssignment_1_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Expr160 ****************/ /************ * begin Rule Expr200 **************** * * // non-associative Expr200 returns Expression: Expr300 * ({BinOp.opLeft=current} op=COMPOP opRight=Expr300)?; * **/ // Expr300 ({BinOp.opLeft=current} op=COMPOP opRight=Expr300)? protected class Expr200_Group extends GroupToken { public Expr200_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr200Access().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr200_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Expr200_Expr300ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr400Access() .getAddOpOpLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getAtomAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr160Access().getBinOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExprMaxAccess().getBlockExprAction_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getCaseExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpressionAccess().getCatchExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getCondExprAccess().getCondExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTupleRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr700Access().getFunCallTargetAction_1_0_1() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getInlineFunRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getFunRefRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getIfExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getLetExprAccess().getLetExprAction_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr100Access() .getMatchExprOpLeftAction_1_0_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getExpr500Access().getMultOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getQueryExprAccess().getQueryExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getReceiveExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr800Access() .getRemoteTargetModuleAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTryExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getUnaryExprAccess().getUnaryExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // Expr300 protected class Expr200_Expr300ParserRuleCall_0 extends RuleCallToken { public Expr200_Expr300ParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExpr200Access() .getExpr300ParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr300_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(Expr300_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // ({BinOp.opLeft=current} op=COMPOP opRight=Expr300)? protected class Expr200_Group_1 extends GroupToken { public Expr200_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr200Access().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr200_OpRightAssignment_1_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr200Access() .getBinOpOpLeftAction_1_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {BinOp.opLeft=current} protected class Expr200_BinOpOpLeftAction_1_0 extends ActionToken { public Expr200_BinOpOpLeftAction_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getExpr200Access().getBinOpOpLeftAction_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr200_Expr300ParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { final Object val = eObjectConsumer.getConsumable("opLeft", false); if (val == null) { return null; } if (!eObjectConsumer.isConsumedWithLastConsumtion("opLeft")) { return null; } return createEObjectConsumer((EObject) val); } } // op=COMPOP protected class Expr200_OpAssignment_1_1 extends AssignmentToken { public Expr200_OpAssignment_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr200Access().getOpAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr200_BinOpOpLeftAction_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("op", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getExpr200Access().getOpCOMPOPParserRuleCall_1_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getExpr200Access() .getOpCOMPOPParserRuleCall_1_1_0(); return obj; } return null; } } // opRight=Expr300 protected class Expr200_OpRightAssignment_1_2 extends AssignmentToken { public Expr200_OpRightAssignment_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr200Access().getOpRightAssignment_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr300_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("opRight", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("opRight"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpr300Rule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getExpr200Access() .getOpRightExpr300ParserRuleCall_1_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Expr200_OpAssignment_1_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Expr200 ****************/ /************ * begin Rule Expr300 **************** * * Expr300 returns Expression: Expr400 ({BinOp.opLeft=current} op=LISTOP * opRight=Expr400)*; * **/ // Expr400 ({BinOp.opLeft=current} op=LISTOP opRight=Expr400)* protected class Expr300_Group extends GroupToken { public Expr300_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr300Access().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr300_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Expr300_Expr400ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr400Access() .getAddOpOpLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getAtomAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr200Access().getBinOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExprMaxAccess().getBlockExprAction_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getCaseExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpressionAccess().getCatchExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getCondExprAccess().getCondExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTupleRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr700Access().getFunCallTargetAction_1_0_1() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getInlineFunRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getFunRefRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getIfExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getLetExprAccess().getLetExprAction_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr100Access() .getMatchExprOpLeftAction_1_0_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getExpr500Access().getMultOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getQueryExprAccess().getQueryExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getReceiveExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr800Access() .getRemoteTargetModuleAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTryExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getUnaryExprAccess().getUnaryExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // Expr400 protected class Expr300_Expr400ParserRuleCall_0 extends RuleCallToken { public Expr300_Expr400ParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExpr300Access() .getExpr400ParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr400_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(Expr400_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // ({BinOp.opLeft=current} op=LISTOP opRight=Expr400)* protected class Expr300_Group_1 extends GroupToken { public Expr300_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr300Access().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr300_OpRightAssignment_1_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr300Access() .getBinOpOpLeftAction_1_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {BinOp.opLeft=current} protected class Expr300_BinOpOpLeftAction_1_0 extends ActionToken { public Expr300_BinOpOpLeftAction_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getExpr300Access().getBinOpOpLeftAction_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr300_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Expr300_Expr400ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { final Object val = eObjectConsumer.getConsumable("opLeft", false); if (val == null) { return null; } if (!eObjectConsumer.isConsumedWithLastConsumtion("opLeft")) { return null; } return createEObjectConsumer((EObject) val); } } // op=LISTOP protected class Expr300_OpAssignment_1_1 extends AssignmentToken { public Expr300_OpAssignment_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr300Access().getOpAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr300_BinOpOpLeftAction_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("op", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getExpr300Access().getOpLISTOPParserRuleCall_1_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getExpr300Access() .getOpLISTOPParserRuleCall_1_1_0(); return obj; } return null; } } // opRight=Expr400 protected class Expr300_OpRightAssignment_1_2 extends AssignmentToken { public Expr300_OpRightAssignment_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr300Access().getOpRightAssignment_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr400_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("opRight", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("opRight"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpr400Rule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getExpr300Access() .getOpRightExpr400ParserRuleCall_1_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Expr300_OpAssignment_1_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Expr300 ****************/ /************ * begin Rule Expr400 **************** * * Expr400 returns Expression: Expr500 ({AddOp.opLeft=current} op=ADDOP * opRight=Expr500)*; * **/ // Expr500 ({AddOp.opLeft=current} op=ADDOP opRight=Expr500)* protected class Expr400_Group extends GroupToken { public Expr400_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr400Access().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr400_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Expr400_Expr500ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr400Access() .getAddOpOpLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getAtomAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr300Access().getBinOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExprMaxAccess().getBlockExprAction_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getCaseExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpressionAccess().getCatchExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getCondExprAccess().getCondExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTupleRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr700Access().getFunCallTargetAction_1_0_1() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getInlineFunRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getFunRefRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getIfExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getLetExprAccess().getLetExprAction_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr100Access() .getMatchExprOpLeftAction_1_0_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getExpr500Access().getMultOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getQueryExprAccess().getQueryExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getReceiveExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr800Access() .getRemoteTargetModuleAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTryExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getUnaryExprAccess().getUnaryExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // Expr500 protected class Expr400_Expr500ParserRuleCall_0 extends RuleCallToken { public Expr400_Expr500ParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExpr400Access() .getExpr500ParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr500_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(Expr500_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // ({AddOp.opLeft=current} op=ADDOP opRight=Expr500)* protected class Expr400_Group_1 extends GroupToken { public Expr400_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr400Access().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr400_OpRightAssignment_1_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr400Access() .getAddOpOpLeftAction_1_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {AddOp.opLeft=current} protected class Expr400_AddOpOpLeftAction_1_0 extends ActionToken { public Expr400_AddOpOpLeftAction_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getExpr400Access().getAddOpOpLeftAction_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr400_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Expr400_Expr500ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { final Object val = eObjectConsumer.getConsumable("opLeft", false); if (val == null) { return null; } if (!eObjectConsumer.isConsumedWithLastConsumtion("opLeft")) { return null; } return createEObjectConsumer((EObject) val); } } // op=ADDOP protected class Expr400_OpAssignment_1_1 extends AssignmentToken { public Expr400_OpAssignment_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr400Access().getOpAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr400_AddOpOpLeftAction_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("op", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getExpr400Access().getOpADDOPParserRuleCall_1_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getExpr400Access() .getOpADDOPParserRuleCall_1_1_0(); return obj; } return null; } } // opRight=Expr500 protected class Expr400_OpRightAssignment_1_2 extends AssignmentToken { public Expr400_OpRightAssignment_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr400Access().getOpRightAssignment_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr500_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("opRight", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("opRight"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpr500Rule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getExpr400Access() .getOpRightExpr500ParserRuleCall_1_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Expr400_OpAssignment_1_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Expr400 ****************/ /************ * begin Rule Expr500 **************** * * Expr500 returns Expression: UnaryExpr ({MultOp.opLeft=current} op=MULTOP * opRight=UnaryExpr)*; * **/ // UnaryExpr ({MultOp.opLeft=current} op=MULTOP opRight=UnaryExpr)* protected class Expr500_Group extends GroupToken { public Expr500_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr500Access().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr500_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Expr500_UnaryExprParserRuleCall_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr400Access() .getAddOpOpLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getAtomAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr300Access().getBinOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExprMaxAccess().getBlockExprAction_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getCaseExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpressionAccess().getCatchExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getCondExprAccess().getCondExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTupleRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr700Access().getFunCallTargetAction_1_0_1() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getInlineFunRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getFunRefRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getIfExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getLetExprAccess().getLetExprAction_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr100Access() .getMatchExprOpLeftAction_1_0_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getExpr500Access().getMultOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getQueryExprAccess().getQueryExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getReceiveExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr800Access() .getRemoteTargetModuleAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTryExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getUnaryExprAccess().getUnaryExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // UnaryExpr protected class Expr500_UnaryExprParserRuleCall_0 extends RuleCallToken { public Expr500_UnaryExprParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExpr500Access() .getUnaryExprParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new UnaryExpr_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(UnaryExpr_Alternatives.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // ({MultOp.opLeft=current} op=MULTOP opRight=UnaryExpr)* protected class Expr500_Group_1 extends GroupToken { public Expr500_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr500Access().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr500_OpRightAssignment_1_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr500Access() .getMultOpOpLeftAction_1_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {MultOp.opLeft=current} protected class Expr500_MultOpOpLeftAction_1_0 extends ActionToken { public Expr500_MultOpOpLeftAction_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getExpr500Access().getMultOpOpLeftAction_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr500_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Expr500_UnaryExprParserRuleCall_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { final Object val = eObjectConsumer.getConsumable("opLeft", false); if (val == null) { return null; } if (!eObjectConsumer.isConsumedWithLastConsumtion("opLeft")) { return null; } return createEObjectConsumer((EObject) val); } } // op=MULTOP protected class Expr500_OpAssignment_1_1 extends AssignmentToken { public Expr500_OpAssignment_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr500Access().getOpAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr500_MultOpOpLeftAction_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("op", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getExpr500Access().getOpMULTOPParserRuleCall_1_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getExpr500Access() .getOpMULTOPParserRuleCall_1_1_0(); return obj; } return null; } } // opRight=UnaryExpr protected class Expr500_OpRightAssignment_1_2 extends AssignmentToken { public Expr500_OpRightAssignment_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr500Access().getOpRightAssignment_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new UnaryExpr_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("opRight", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("opRight"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getUnaryExprRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getExpr500Access() .getOpRightUnaryExprParserRuleCall_1_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Expr500_OpAssignment_1_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Expr500 ****************/ /************ * begin Rule UnaryExpr **************** * * UnaryExpr returns Expression: {UnaryExpr} op=PREFIXOP operand=Expr700 | * Expr700; * **/ // {UnaryExpr} op=PREFIXOP operand=Expr700 | Expr700 protected class UnaryExpr_Alternatives extends AlternativesToken { public UnaryExpr_Alternatives(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getUnaryExprAccess().getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new UnaryExpr_Group_0(lastRuleCallOrigin, this, 0, inst); case 1: return new UnaryExpr_Expr700ParserRuleCall_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr400Access() .getAddOpOpLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getAtomAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr300Access().getBinOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExprMaxAccess().getBlockExprAction_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getCaseExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpressionAccess().getCatchExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getCondExprAccess().getCondExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTupleRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr700Access().getFunCallTargetAction_1_0_1() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getInlineFunRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getFunRefRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getIfExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getLetExprAccess().getLetExprAction_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr100Access() .getMatchExprOpLeftAction_1_0_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getExpr500Access().getMultOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getQueryExprAccess().getQueryExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getReceiveExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr800Access() .getRemoteTargetModuleAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTryExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getUnaryExprAccess().getUnaryExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // {UnaryExpr} op=PREFIXOP operand=Expr700 protected class UnaryExpr_Group_0 extends GroupToken { public UnaryExpr_Group_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getUnaryExprAccess().getGroup_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new UnaryExpr_OperandAssignment_0_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getUnaryExprAccess() .getUnaryExprAction_0_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {UnaryExpr} protected class UnaryExpr_UnaryExprAction_0_0 extends ActionToken { public UnaryExpr_UnaryExprAction_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getUnaryExprAccess().getUnaryExprAction_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // op=PREFIXOP protected class UnaryExpr_OpAssignment_0_1 extends AssignmentToken { public UnaryExpr_OpAssignment_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getUnaryExprAccess().getOpAssignment_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new UnaryExpr_UnaryExprAction_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("op", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getUnaryExprAccess().getOpPREFIXOPParserRuleCall_0_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getUnaryExprAccess() .getOpPREFIXOPParserRuleCall_0_1_0(); return obj; } return null; } } // operand=Expr700 protected class UnaryExpr_OperandAssignment_0_2 extends AssignmentToken { public UnaryExpr_OperandAssignment_0_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getUnaryExprAccess() .getOperandAssignment_0_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr700_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("operand", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("operand"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpr700Rule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getUnaryExprAccess() .getOperandExpr700ParserRuleCall_0_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new UnaryExpr_OpAssignment_0_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // Expr700 protected class UnaryExpr_Expr700ParserRuleCall_1 extends RuleCallToken { public UnaryExpr_Expr700ParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getUnaryExprAccess() .getExpr700ParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr700_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(Expr700_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } /************ end Rule UnaryExpr ****************/ /************ * begin Rule Expr700 **************** * * Expr700 returns Expression: Expr800 // TODO can this be expressed better? * // we can have ?MACRO(args)(args2) ("(" {FunCall.target=current} * args=Expressions? ")" ("(" args2=Expressions? ")")? | ("#" * {RecordExpr.ref=current} record=RecordExpr)+)?; * **/ // Expr800 // TODO can this be expressed better? // // we can have ?MACRO(args)(args2) // ("(" {FunCall.target=current} args=Expressions? ")" ("(" // args2=Expressions? ")")? | ("#" {RecordExpr.ref=current} // record=RecordExpr)+)? protected class Expr700_Group extends GroupToken { public Expr700_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr700Access().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr700_Alternatives_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Expr700_Expr800ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr400Access() .getAddOpOpLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getAtomAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr300Access().getBinOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExprMaxAccess().getBlockExprAction_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getCaseExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpressionAccess().getCatchExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getCondExprAccess().getCondExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTupleRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr700Access().getFunCallTargetAction_1_0_1() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getInlineFunRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getFunRefRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getIfExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getLetExprAccess().getLetExprAction_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr100Access() .getMatchExprOpLeftAction_1_0_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getExpr500Access().getMultOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getQueryExprAccess().getQueryExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getReceiveExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr800Access() .getRemoteTargetModuleAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTryExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getUnaryExprAccess().getUnaryExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // Expr800 protected class Expr700_Expr800ParserRuleCall_0 extends RuleCallToken { public Expr700_Expr800ParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExpr700Access() .getExpr800ParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr800_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(Expr800_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // // TODO can this be expressed better? // // we can have ?MACRO(args)(args2) // ("(" {FunCall.target=current} args=Expressions? ")" ("(" // args2=Expressions? ")")? | ("#" {RecordExpr.ref=current} // record=RecordExpr)+)? protected class Expr700_Alternatives_1 extends AlternativesToken { public Expr700_Alternatives_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getExpr700Access().getAlternatives_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr700_Group_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new Expr700_Group_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr700Access() .getFunCallTargetAction_1_0_1().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr700Access().getRecordExprRefAction_1_1_1() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // // TODO can this be expressed better? // // we can have ?MACRO(args)(args2) // "(" {FunCall.target=current} args=Expressions? ")" ("(" // args2=Expressions? ")")? protected class Expr700_Group_1_0 extends GroupToken { public Expr700_Group_1_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr700Access().getGroup_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr700_Group_1_0_4(lastRuleCallOrigin, this, 0, inst); case 1: return new Expr700_RightParenthesisKeyword_1_0_3( lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr700Access() .getFunCallTargetAction_1_0_1().getType().getClassifier()) { return null; } return eObjectConsumer; } } // // TODO can this be expressed better? // // we can have ?MACRO(args)(args2) // "(" protected class Expr700_LeftParenthesisKeyword_1_0_0 extends KeywordToken { public Expr700_LeftParenthesisKeyword_1_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExpr700Access() .getLeftParenthesisKeyword_1_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr700_Expr800ParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {FunCall.target=current} protected class Expr700_FunCallTargetAction_1_0_1 extends ActionToken { public Expr700_FunCallTargetAction_1_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getExpr700Access() .getFunCallTargetAction_1_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr700_LeftParenthesisKeyword_1_0_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { final Object val = eObjectConsumer.getConsumable("target", false); if (val == null) { return null; } if (!eObjectConsumer.isConsumedWithLastConsumtion("target")) { return null; } return createEObjectConsumer((EObject) val); } } // args=Expressions? protected class Expr700_ArgsAssignment_1_0_2 extends AssignmentToken { public Expr700_ArgsAssignment_1_0_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr700Access().getArgsAssignment_1_0_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("args", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("args"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionsRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getExpr700Access() .getArgsExpressionsParserRuleCall_1_0_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Expr700_FunCallTargetAction_1_0_1( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class Expr700_RightParenthesisKeyword_1_0_3 extends KeywordToken { public Expr700_RightParenthesisKeyword_1_0_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExpr700Access() .getRightParenthesisKeyword_1_0_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr700_ArgsAssignment_1_0_2(lastRuleCallOrigin, this, 0, inst); case 1: return new Expr700_FunCallTargetAction_1_0_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // ("(" args2=Expressions? ")")? protected class Expr700_Group_1_0_4 extends GroupToken { public Expr700_Group_1_0_4(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr700Access().getGroup_1_0_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr700_RightParenthesisKeyword_1_0_4_2( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "(" protected class Expr700_LeftParenthesisKeyword_1_0_4_0 extends KeywordToken { public Expr700_LeftParenthesisKeyword_1_0_4_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExpr700Access() .getLeftParenthesisKeyword_1_0_4_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr700_RightParenthesisKeyword_1_0_3( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // args2=Expressions? protected class Expr700_Args2Assignment_1_0_4_1 extends AssignmentToken { public Expr700_Args2Assignment_1_0_4_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr700Access() .getArgs2Assignment_1_0_4_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("args2", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("args2"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionsRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getExpr700Access() .getArgs2ExpressionsParserRuleCall_1_0_4_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Expr700_LeftParenthesisKeyword_1_0_4_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class Expr700_RightParenthesisKeyword_1_0_4_2 extends KeywordToken { public Expr700_RightParenthesisKeyword_1_0_4_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExpr700Access() .getRightParenthesisKeyword_1_0_4_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr700_Args2Assignment_1_0_4_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ("#" {RecordExpr.ref=current} record=RecordExpr)+ protected class Expr700_Group_1_1 extends GroupToken { public Expr700_Group_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr700Access().getGroup_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr700_RecordAssignment_1_1_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr700Access() .getRecordExprRefAction_1_1_1().getType().getClassifier()) { return null; } return eObjectConsumer; } } // "#" protected class Expr700_NumberSignKeyword_1_1_0 extends KeywordToken { public Expr700_NumberSignKeyword_1_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExpr700Access() .getNumberSignKeyword_1_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr700_Group_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Expr700_Expr800ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // {RecordExpr.ref=current} protected class Expr700_RecordExprRefAction_1_1_1 extends ActionToken { public Expr700_RecordExprRefAction_1_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getExpr700Access() .getRecordExprRefAction_1_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr700_NumberSignKeyword_1_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { final Object val = eObjectConsumer.getConsumable("ref", false); if (val == null) { return null; } if (!eObjectConsumer.isConsumedWithLastConsumtion("ref")) { return null; } return createEObjectConsumer((EObject) val); } } // record=RecordExpr protected class Expr700_RecordAssignment_1_1_2 extends AssignmentToken { public Expr700_RecordAssignment_1_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr700Access().getRecordAssignment_1_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordExpr_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("record", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("record"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getRecordExprRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getExpr700Access() .getRecordRecordExprParserRuleCall_1_1_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Expr700_RecordExprRefAction_1_1_1( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Expr700 ****************/ /************ * begin Rule Expr800 **************** * * // non-associative Expr800 returns Expression: ExprMax * ({RemoteTarget.module=current} ":" function=ExprMax)?; * **/ // ExprMax ({RemoteTarget.module=current} ":" function=ExprMax)? protected class Expr800_Group extends GroupToken { public Expr800_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr800Access().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr800_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Expr800_ExprMaxParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr400Access() .getAddOpOpLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getAtomAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr300Access().getBinOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExprMaxAccess().getBlockExprAction_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getCaseExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpressionAccess().getCatchExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getCondExprAccess().getCondExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTupleRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr700Access().getFunCallTargetAction_1_0_1() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getInlineFunRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getFunRefRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getIfExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getLetExprAccess().getLetExprAction_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr100Access() .getMatchExprOpLeftAction_1_0_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getExpr500Access().getMultOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getQueryExprAccess().getQueryExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getReceiveExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr800Access() .getRemoteTargetModuleAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTryExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getUnaryExprAccess().getUnaryExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // ExprMax protected class Expr800_ExprMaxParserRuleCall_0 extends RuleCallToken { public Expr800_ExprMaxParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExpr800Access() .getExprMaxParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExprMax_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(ExprMax_Alternatives.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // ({RemoteTarget.module=current} ":" function=ExprMax)? protected class Expr800_Group_1 extends GroupToken { public Expr800_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExpr800Access().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr800_FunctionAssignment_1_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr800Access() .getRemoteTargetModuleAction_1_0().getType() .getClassifier()) { return null; } return eObjectConsumer; } } // {RemoteTarget.module=current} protected class Expr800_RemoteTargetModuleAction_1_0 extends ActionToken { public Expr800_RemoteTargetModuleAction_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getExpr800Access() .getRemoteTargetModuleAction_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr800_ExprMaxParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { final Object val = eObjectConsumer.getConsumable("module", false); if (val == null) { return null; } if (!eObjectConsumer.isConsumedWithLastConsumtion("module")) { return null; } return createEObjectConsumer((EObject) val); } } // ":" protected class Expr800_ColonKeyword_1_1 extends KeywordToken { public Expr800_ColonKeyword_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExpr800Access().getColonKeyword_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expr800_RemoteTargetModuleAction_1_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // function=ExprMax protected class Expr800_FunctionAssignment_1_2 extends AssignmentToken { public Expr800_FunctionAssignment_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExpr800Access().getFunctionAssignment_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExprMax_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("function", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("function"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExprMaxRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getExpr800Access() .getFunctionExprMaxParserRuleCall_1_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Expr800_ColonKeyword_1_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Expr800 ****************/ /************ * begin Rule ExprMax **************** * * ExprMax returns Expression: TermExpression | "(" Expression ")" | * {BlockExpr} "begin" body=Expressions "end" | IfExpr | CaseExpr | * ReceiveExpr | FunExpr | TryExpr | CondExpr | QueryExpr | LetExpr; * **/ // TermExpression | "(" Expression ")" | {BlockExpr} "begin" // body=Expressions "end" | IfExpr | CaseExpr | ReceiveExpr | // FunExpr | TryExpr | CondExpr | QueryExpr | LetExpr protected class ExprMax_Alternatives extends AlternativesToken { public ExprMax_Alternatives(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getExprMaxAccess().getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExprMax_TermExpressionParserRuleCall_0( lastRuleCallOrigin, this, 0, inst); case 1: return new ExprMax_Group_1(lastRuleCallOrigin, this, 1, inst); case 2: return new ExprMax_Group_2(lastRuleCallOrigin, this, 2, inst); case 3: return new ExprMax_IfExprParserRuleCall_3(lastRuleCallOrigin, this, 3, inst); case 4: return new ExprMax_CaseExprParserRuleCall_4(lastRuleCallOrigin, this, 4, inst); case 5: return new ExprMax_ReceiveExprParserRuleCall_5( lastRuleCallOrigin, this, 5, inst); case 6: return new ExprMax_FunExprParserRuleCall_6(lastRuleCallOrigin, this, 6, inst); case 7: return new ExprMax_TryExprParserRuleCall_7(lastRuleCallOrigin, this, 7, inst); case 8: return new ExprMax_CondExprParserRuleCall_8(lastRuleCallOrigin, this, 8, inst); case 9: return new ExprMax_QueryExprParserRuleCall_9( lastRuleCallOrigin, this, 9, inst); case 10: return new ExprMax_LetExprParserRuleCall_10(lastRuleCallOrigin, this, 10, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr400Access() .getAddOpOpLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getAtomAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr300Access().getBinOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExprMaxAccess().getBlockExprAction_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getCaseExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpressionAccess().getCatchExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getCondExprAccess().getCondExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTupleRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr700Access().getFunCallTargetAction_1_0_1() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getInlineFunRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getFunRefRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getIfExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getLetExprAccess().getLetExprAction_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr100Access() .getMatchExprOpLeftAction_1_0_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getExpr500Access().getMultOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getQueryExprAccess().getQueryExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getReceiveExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr800Access() .getRemoteTargetModuleAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTryExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getUnaryExprAccess().getUnaryExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // TermExpression protected class ExprMax_TermExpressionParserRuleCall_0 extends RuleCallToken { public ExprMax_TermExpressionParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExprMaxAccess() .getTermExpressionParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TermExpression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess().getAtomAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTupleRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } if (checkForRecursion(TermExpression_Alternatives.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // "(" Expression ")" protected class ExprMax_Group_1 extends GroupToken { public ExprMax_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExprMaxAccess().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExprMax_RightParenthesisKeyword_1_2( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "(" protected class ExprMax_LeftParenthesisKeyword_1_0 extends KeywordToken { public ExprMax_LeftParenthesisKeyword_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExprMaxAccess() .getLeftParenthesisKeyword_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // Expression protected class ExprMax_ExpressionParserRuleCall_1_1 extends RuleCallToken { public ExprMax_ExpressionParserRuleCall_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExprMaxAccess() .getExpressionParserRuleCall_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(Expression_Alternatives.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExprMax_LeftParenthesisKeyword_1_0( lastRuleCallOrigin, next, actIndex, inst); default: return null; } } } // ")" protected class ExprMax_RightParenthesisKeyword_1_2 extends KeywordToken { public ExprMax_RightParenthesisKeyword_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExprMaxAccess() .getRightParenthesisKeyword_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExprMax_ExpressionParserRuleCall_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {BlockExpr} "begin" body=Expressions "end" protected class ExprMax_Group_2 extends GroupToken { public ExprMax_Group_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getExprMaxAccess().getGroup_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExprMax_EndKeyword_2_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExprMaxAccess() .getBlockExprAction_2_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {BlockExpr} protected class ExprMax_BlockExprAction_2_0 extends ActionToken { public ExprMax_BlockExprAction_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getExprMaxAccess().getBlockExprAction_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // "begin" protected class ExprMax_BeginKeyword_2_1 extends KeywordToken { public ExprMax_BeginKeyword_2_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExprMaxAccess().getBeginKeyword_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExprMax_BlockExprAction_2_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // body=Expressions protected class ExprMax_BodyAssignment_2_2 extends AssignmentToken { public ExprMax_BodyAssignment_2_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getExprMaxAccess().getBodyAssignment_2_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("body", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("body"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionsRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getExprMaxAccess() .getBodyExpressionsParserRuleCall_2_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ExprMax_BeginKeyword_2_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "end" protected class ExprMax_EndKeyword_2_3 extends KeywordToken { public ExprMax_EndKeyword_2_3(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getExprMaxAccess().getEndKeyword_2_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExprMax_BodyAssignment_2_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // IfExpr protected class ExprMax_IfExprParserRuleCall_3 extends RuleCallToken { public ExprMax_IfExprParserRuleCall_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExprMaxAccess().getIfExprParserRuleCall_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IfExpr_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getIfExprRule() .getType().getClassifier()) { return null; } if (checkForRecursion(IfExpr_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // CaseExpr protected class ExprMax_CaseExprParserRuleCall_4 extends RuleCallToken { public ExprMax_CaseExprParserRuleCall_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExprMaxAccess() .getCaseExprParserRuleCall_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CaseExpr_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getCaseExprRule() .getType().getClassifier()) { return null; } if (checkForRecursion(CaseExpr_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // ReceiveExpr protected class ExprMax_ReceiveExprParserRuleCall_5 extends RuleCallToken { public ExprMax_ReceiveExprParserRuleCall_5( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExprMaxAccess() .getReceiveExprParserRuleCall_5(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ReceiveExpr_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getReceiveExprRule() .getType().getClassifier()) { return null; } if (checkForRecursion(ReceiveExpr_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // FunExpr protected class ExprMax_FunExprParserRuleCall_6 extends RuleCallToken { public ExprMax_FunExprParserRuleCall_6( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExprMaxAccess() .getFunExprParserRuleCall_6(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunExpr_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getInlineFunRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getFunRefRule() .getType().getClassifier()) { return null; } if (checkForRecursion(FunExpr_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // TryExpr protected class ExprMax_TryExprParserRuleCall_7 extends RuleCallToken { public ExprMax_TryExprParserRuleCall_7( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExprMaxAccess() .getTryExprParserRuleCall_7(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryExpr_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTryExprRule() .getType().getClassifier()) { return null; } if (checkForRecursion(TryExpr_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // CondExpr protected class ExprMax_CondExprParserRuleCall_8 extends RuleCallToken { public ExprMax_CondExprParserRuleCall_8( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExprMaxAccess() .getCondExprParserRuleCall_8(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CondExpr_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getCondExprAccess() .getCondExprAction_0().getType().getClassifier()) { return null; } if (checkForRecursion(CondExpr_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // QueryExpr protected class ExprMax_QueryExprParserRuleCall_9 extends RuleCallToken { public ExprMax_QueryExprParserRuleCall_9( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExprMaxAccess() .getQueryExprParserRuleCall_9(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new QueryExpr_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getQueryExprAccess() .getQueryExprAction_0().getType().getClassifier()) { return null; } if (checkForRecursion(QueryExpr_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // LetExpr protected class ExprMax_LetExprParserRuleCall_10 extends RuleCallToken { public ExprMax_LetExprParserRuleCall_10( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getExprMaxAccess() .getLetExprParserRuleCall_10(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LetExpr_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getLetExprAccess() .getLetExprAction_0().getType().getClassifier()) { return null; } if (checkForRecursion(LetExpr_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } /************ end Rule ExprMax ****************/ /************ * begin Rule TermExpression **************** * * TermExpression returns Expression: Tuple | ListOrComprehension | * BinaryOrComprehension | "#" RecordExpr | LiteralExpression; * **/ // Tuple | ListOrComprehension | BinaryOrComprehension | "#" RecordExpr | // LiteralExpression protected class TermExpression_Alternatives extends AlternativesToken { public TermExpression_Alternatives( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getTermExpressionAccess().getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TermExpression_TupleParserRuleCall_0( lastRuleCallOrigin, this, 0, inst); case 1: return new TermExpression_ListOrComprehensionParserRuleCall_1( lastRuleCallOrigin, this, 1, inst); case 2: return new TermExpression_BinaryOrComprehensionParserRuleCall_2( lastRuleCallOrigin, this, 2, inst); case 3: return new TermExpression_Group_3(lastRuleCallOrigin, this, 3, inst); case 4: return new TermExpression_LiteralExpressionParserRuleCall_4( lastRuleCallOrigin, this, 4, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess().getAtomAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTupleRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // Tuple protected class TermExpression_TupleParserRuleCall_0 extends RuleCallToken { public TermExpression_TupleParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getTermExpressionAccess() .getTupleParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Tuple_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTupleRule().getType() .getClassifier()) { return null; } if (checkForRecursion(Tuple_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // ListOrComprehension protected class TermExpression_ListOrComprehensionParserRuleCall_1 extends RuleCallToken { public TermExpression_ListOrComprehensionParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getTermExpressionAccess() .getListOrComprehensionParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ListOrComprehension_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier()) { return null; } if (checkForRecursion(ListOrComprehension_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // BinaryOrComprehension protected class TermExpression_BinaryOrComprehensionParserRuleCall_2 extends RuleCallToken { public TermExpression_BinaryOrComprehensionParserRuleCall_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getTermExpressionAccess() .getBinaryOrComprehensionParserRuleCall_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryOrComprehension_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier()) { return null; } if (checkForRecursion(BinaryOrComprehension_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // "#" RecordExpr protected class TermExpression_Group_3 extends GroupToken { public TermExpression_Group_3(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTermExpressionAccess().getGroup_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TermExpression_RecordExprParserRuleCall_3_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getRecordExprRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // "#" protected class TermExpression_NumberSignKeyword_3_0 extends KeywordToken { public TermExpression_NumberSignKeyword_3_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTermExpressionAccess() .getNumberSignKeyword_3_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // RecordExpr protected class TermExpression_RecordExprParserRuleCall_3_1 extends RuleCallToken { public TermExpression_RecordExprParserRuleCall_3_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getTermExpressionAccess() .getRecordExprParserRuleCall_3_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordExpr_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(RecordExpr_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TermExpression_NumberSignKeyword_3_0( lastRuleCallOrigin, next, actIndex, inst); default: return null; } } } // LiteralExpression protected class TermExpression_LiteralExpressionParserRuleCall_4 extends RuleCallToken { public TermExpression_LiteralExpressionParserRuleCall_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getTermExpressionAccess() .getLiteralExpressionParserRuleCall_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LiteralExpression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess().getAtomAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } if (checkForRecursion(LiteralExpression_Alternatives.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } /************ end Rule TermExpression ****************/ /************ * begin Rule MacroCall **************** * * MacroCall: macroName=MacroLiteral ("(" args=Expressions? ")")?; * **/ // macroName=MacroLiteral ("(" args=Expressions? ")")? protected class MacroCall_Group extends GroupToken { public MacroCall_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getMacroCallAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroCall_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new MacroCall_MacroNameAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getMacroCallRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // macroName=MacroLiteral protected class MacroCall_MacroNameAssignment_0 extends AssignmentToken { public MacroCall_MacroNameAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getMacroCallAccess() .getMacroNameAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("macroName", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("macroName"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getMacroLiteralRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getMacroCallAccess() .getMacroNameMacroLiteralParserRuleCall_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // (=> "(" args=Expressions? ")")? protected class MacroCall_Group_1 extends GroupToken { public MacroCall_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getMacroCallAccess().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroCall_RightParenthesisKeyword_1_2( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // => "(" protected class MacroCall_LeftParenthesisKeyword_1_0 extends KeywordToken { public MacroCall_LeftParenthesisKeyword_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getMacroCallAccess() .getLeftParenthesisKeyword_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroCall_MacroNameAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // args=Expressions? protected class MacroCall_ArgsAssignment_1_1 extends AssignmentToken { public MacroCall_ArgsAssignment_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getMacroCallAccess().getArgsAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("args", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("args"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionsRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getMacroCallAccess() .getArgsExpressionsParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new MacroCall_LeftParenthesisKeyword_1_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class MacroCall_RightParenthesisKeyword_1_2 extends KeywordToken { public MacroCall_RightParenthesisKeyword_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getMacroCallAccess() .getRightParenthesisKeyword_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroCall_ArgsAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule MacroCall ****************/ /************ * begin Rule RecordExpr **************** * * RecordExpr: rec=RecordVarMacro ("." field=RecordFieldVarMacro | * tuple=RecordTuple); * **/ // rec=RecordVarMacro ("." field=RecordFieldVarMacro | tuple=RecordTuple) protected class RecordExpr_Group extends GroupToken { public RecordExpr_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRecordExprAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordExpr_Alternatives_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getRecordExprRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // rec=RecordVarMacro protected class RecordExpr_RecAssignment_0 extends AssignmentToken { public RecordExpr_RecAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRecordExprAccess().getRecAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordVarMacro_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("rec", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rec"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getRecordVarMacroRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRecordExprAccess() .getRecRecordVarMacroParserRuleCall_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // "." field=RecordFieldVarMacro | tuple=RecordTuple protected class RecordExpr_Alternatives_1 extends AlternativesToken { public RecordExpr_Alternatives_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getRecordExprAccess().getAlternatives_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordExpr_Group_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new RecordExpr_TupleAssignment_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "." field=RecordFieldVarMacro protected class RecordExpr_Group_1_0 extends GroupToken { public RecordExpr_Group_1_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRecordExprAccess().getGroup_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordExpr_FieldAssignment_1_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "." protected class RecordExpr_FullStopKeyword_1_0_0 extends KeywordToken { public RecordExpr_FullStopKeyword_1_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRecordExprAccess() .getFullStopKeyword_1_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordExpr_RecAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // field=RecordFieldVarMacro protected class RecordExpr_FieldAssignment_1_0_1 extends AssignmentToken { public RecordExpr_FieldAssignment_1_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRecordExprAccess() .getFieldAssignment_1_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldVarMacro_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("field", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("field"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param .isInstanceOf(grammarAccess .getRecordFieldVarMacroRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess .getRecordExprAccess() .getFieldRecordFieldVarMacroParserRuleCall_1_0_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new RecordExpr_FullStopKeyword_1_0_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // tuple=RecordTuple protected class RecordExpr_TupleAssignment_1_1 extends AssignmentToken { public RecordExpr_TupleAssignment_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRecordExprAccess().getTupleAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordTuple_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("tuple", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("tuple"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getRecordTupleRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRecordExprAccess() .getTupleRecordTupleParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new RecordExpr_RecAssignment_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule RecordExpr ****************/ /************ * begin Rule QueryExpr **************** * * // NYI QueryExpr: {QueryExpr} "query"; * **/ // {QueryExpr} "query" protected class QueryExpr_Group extends GroupToken { public QueryExpr_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getQueryExprAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new QueryExpr_QueryKeyword_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getQueryExprAccess() .getQueryExprAction_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {QueryExpr} protected class QueryExpr_QueryExprAction_0 extends ActionToken { public QueryExpr_QueryExprAction_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getQueryExprAccess().getQueryExprAction_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // "query" protected class QueryExpr_QueryKeyword_1 extends KeywordToken { public QueryExpr_QueryKeyword_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getQueryExprAccess().getQueryKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new QueryExpr_QueryExprAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule QueryExpr ****************/ /************ * begin Rule CondExpr **************** * * // NYI CondExpr: {CondExpr} "cond"; * **/ // {CondExpr} "cond" protected class CondExpr_Group extends GroupToken { public CondExpr_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getCondExprAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CondExpr_CondKeyword_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getCondExprAccess() .getCondExprAction_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {CondExpr} protected class CondExpr_CondExprAction_0 extends ActionToken { public CondExpr_CondExprAction_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getCondExprAccess().getCondExprAction_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // "cond" protected class CondExpr_CondKeyword_1 extends KeywordToken { public CondExpr_CondKeyword_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCondExprAccess().getCondKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CondExpr_CondExprAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule CondExpr ****************/ /************ * begin Rule LetExpr **************** * * // NYI LetExpr: {LetExpr} "let"; * **/ // {LetExpr} "let" protected class LetExpr_Group extends GroupToken { public LetExpr_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getLetExprAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LetExpr_LetKeyword_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getLetExprAccess() .getLetExprAction_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {LetExpr} protected class LetExpr_LetExprAction_0 extends ActionToken { public LetExpr_LetExprAction_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getLetExprAccess().getLetExprAction_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // "let" protected class LetExpr_LetKeyword_1 extends KeywordToken { public LetExpr_LetKeyword_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getLetExprAccess().getLetKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LetExpr_LetExprAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule LetExpr ****************/ /************ * begin Rule RecordTuple **************** * * RecordTuple: {RecordTuple} "{" (fields+=RecordFieldExpr ("," * fields+=RecordFieldExpr)*)? "}"; * **/ // {RecordTuple} "{" (fields+=RecordFieldExpr ("," // fields+=RecordFieldExpr)*)? "}" protected class RecordTuple_Group extends GroupToken { public RecordTuple_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRecordTupleAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordTuple_RightCurlyBracketKeyword_3( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getRecordTupleAccess() .getRecordTupleAction_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {RecordTuple} protected class RecordTuple_RecordTupleAction_0 extends ActionToken { public RecordTuple_RecordTupleAction_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getRecordTupleAccess() .getRecordTupleAction_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // "{" protected class RecordTuple_LeftCurlyBracketKeyword_1 extends KeywordToken { public RecordTuple_LeftCurlyBracketKeyword_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRecordTupleAccess() .getLeftCurlyBracketKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordTuple_RecordTupleAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // (fields+=RecordFieldExpr ("," fields+=RecordFieldExpr)*)? protected class RecordTuple_Group_2 extends GroupToken { public RecordTuple_Group_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRecordTupleAccess().getGroup_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordTuple_Group_2_1(lastRuleCallOrigin, this, 0, inst); case 1: return new RecordTuple_FieldsAssignment_2_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // fields+=RecordFieldExpr protected class RecordTuple_FieldsAssignment_2_0 extends AssignmentToken { public RecordTuple_FieldsAssignment_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRecordTupleAccess() .getFieldsAssignment_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldExpr_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("fields", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("fields"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getRecordFieldExprRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRecordTupleAccess() .getFieldsRecordFieldExprParserRuleCall_2_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new RecordTuple_LeftCurlyBracketKeyword_1( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," fields+=RecordFieldExpr)* protected class RecordTuple_Group_2_1 extends GroupToken { public RecordTuple_Group_2_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRecordTupleAccess().getGroup_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordTuple_FieldsAssignment_2_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class RecordTuple_CommaKeyword_2_1_0 extends KeywordToken { public RecordTuple_CommaKeyword_2_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRecordTupleAccess().getCommaKeyword_2_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordTuple_Group_2_1(lastRuleCallOrigin, this, 0, inst); case 1: return new RecordTuple_FieldsAssignment_2_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // fields+=RecordFieldExpr protected class RecordTuple_FieldsAssignment_2_1_1 extends AssignmentToken { public RecordTuple_FieldsAssignment_2_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRecordTupleAccess() .getFieldsAssignment_2_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldExpr_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("fields", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("fields"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getRecordFieldExprRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRecordTupleAccess() .getFieldsRecordFieldExprParserRuleCall_2_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new RecordTuple_CommaKeyword_2_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class RecordTuple_RightCurlyBracketKeyword_3 extends KeywordToken { public RecordTuple_RightCurlyBracketKeyword_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRecordTupleAccess() .getRightCurlyBracketKeyword_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordTuple_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new RecordTuple_LeftCurlyBracketKeyword_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule RecordTuple ****************/ /************ * begin Rule RecordFieldExpr **************** * * RecordFieldExpr: ref=RecordFieldVarMacro ("=" value=Expression)? ("::" * type=TopType)?; * **/ // ref=RecordFieldVarMacro ("=" value=Expression)? ("::" type=TopType)? protected class RecordFieldExpr_Group extends GroupToken { public RecordFieldExpr_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRecordFieldExprAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldExpr_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new RecordFieldExpr_Group_1(lastRuleCallOrigin, this, 1, inst); case 2: return new RecordFieldExpr_RefAssignment_0(lastRuleCallOrigin, this, 2, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getRecordFieldExprRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // ref=RecordFieldVarMacro protected class RecordFieldExpr_RefAssignment_0 extends AssignmentToken { public RecordFieldExpr_RefAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRecordFieldExprAccess() .getRefAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldVarMacro_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("ref", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ref"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param .isInstanceOf(grammarAccess .getRecordFieldVarMacroRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRecordFieldExprAccess() .getRefRecordFieldVarMacroParserRuleCall_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // ("=" value=Expression)? protected class RecordFieldExpr_Group_1 extends GroupToken { public RecordFieldExpr_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRecordFieldExprAccess().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldExpr_ValueAssignment_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "=" protected class RecordFieldExpr_EqualsSignKeyword_1_0 extends KeywordToken { public RecordFieldExpr_EqualsSignKeyword_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRecordFieldExprAccess() .getEqualsSignKeyword_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldExpr_RefAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // value=Expression protected class RecordFieldExpr_ValueAssignment_1_1 extends AssignmentToken { public RecordFieldExpr_ValueAssignment_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRecordFieldExprAccess() .getValueAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("value", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("value"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRecordFieldExprAccess() .getValueExpressionParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new RecordFieldExpr_EqualsSignKeyword_1_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("::" type=TopType)? protected class RecordFieldExpr_Group_2 extends GroupToken { public RecordFieldExpr_Group_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRecordFieldExprAccess().getGroup_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldExpr_TypeAssignment_2_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "::" protected class RecordFieldExpr_ColonColonKeyword_2_0 extends KeywordToken { public RecordFieldExpr_ColonColonKeyword_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getRecordFieldExprAccess() .getColonColonKeyword_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldExpr_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new RecordFieldExpr_RefAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // type=TopType protected class RecordFieldExpr_TypeAssignment_2_1 extends AssignmentToken { public RecordFieldExpr_TypeAssignment_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRecordFieldExprAccess() .getTypeAssignment_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("type", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("type"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getRecordFieldExprAccess() .getTypeTopTypeParserRuleCall_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new RecordFieldExpr_ColonColonKeyword_2_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule RecordFieldExpr ****************/ /************ * begin Rule LiteralExpressionNoNumber **************** * * LiteralExpressionNoNumber returns Expression: {Atom} value=NAME | * VariableLiteral | {ErlChar} value=CHAR | MacroLiteral | StringLiteral; * **/ // {Atom} value=NAME | VariableLiteral | {ErlChar} value=CHAR | MacroLiteral // | StringLiteral protected class LiteralExpressionNoNumber_Alternatives extends AlternativesToken { public LiteralExpressionNoNumber_Alternatives( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getLiteralExpressionNoNumberAccess() .getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LiteralExpressionNoNumber_Group_0( lastRuleCallOrigin, this, 0, inst); case 1: return new LiteralExpressionNoNumber_VariableLiteralParserRuleCall_1( lastRuleCallOrigin, this, 1, inst); case 2: return new LiteralExpressionNoNumber_Group_2( lastRuleCallOrigin, this, 2, inst); case 3: return new LiteralExpressionNoNumber_MacroLiteralParserRuleCall_3( lastRuleCallOrigin, this, 3, inst); case 4: return new LiteralExpressionNoNumber_StringLiteralParserRuleCall_4( lastRuleCallOrigin, this, 4, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess().getAtomAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // {Atom} value=NAME protected class LiteralExpressionNoNumber_Group_0 extends GroupToken { public LiteralExpressionNoNumber_Group_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getLiteralExpressionNoNumberAccess() .getGroup_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LiteralExpressionNoNumber_ValueAssignment_0_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess().getAtomAction_0_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // {Atom} protected class LiteralExpressionNoNumber_AtomAction_0_0 extends ActionToken { public LiteralExpressionNoNumber_AtomAction_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getLiteralExpressionNoNumberAccess() .getAtomAction_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // value=NAME protected class LiteralExpressionNoNumber_ValueAssignment_0_1 extends AssignmentToken { public LiteralExpressionNoNumber_ValueAssignment_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getLiteralExpressionNoNumberAccess() .getValueAssignment_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LiteralExpressionNoNumber_AtomAction_0_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("value", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("value"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getLiteralExpressionNoNumberAccess() .getValueNAMEParserRuleCall_0_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getLiteralExpressionNoNumberAccess() .getValueNAMEParserRuleCall_0_1_0(); return obj; } return null; } } // VariableLiteral protected class LiteralExpressionNoNumber_VariableLiteralParserRuleCall_1 extends RuleCallToken { public LiteralExpressionNoNumber_VariableLiteralParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getLiteralExpressionNoNumberAccess() .getVariableLiteralParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new VariableLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0().getType() .getClassifier()) { return null; } if (checkForRecursion(VariableLiteral_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // {ErlChar} value=CHAR protected class LiteralExpressionNoNumber_Group_2 extends GroupToken { public LiteralExpressionNoNumber_Group_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getLiteralExpressionNoNumberAccess() .getGroup_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LiteralExpressionNoNumber_ValueAssignment_2_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {ErlChar} protected class LiteralExpressionNoNumber_ErlCharAction_2_0 extends ActionToken { public LiteralExpressionNoNumber_ErlCharAction_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // value=CHAR protected class LiteralExpressionNoNumber_ValueAssignment_2_1 extends AssignmentToken { public LiteralExpressionNoNumber_ValueAssignment_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getLiteralExpressionNoNumberAccess() .getValueAssignment_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LiteralExpressionNoNumber_ErlCharAction_2_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("value", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("value"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getLiteralExpressionNoNumberAccess() .getValueCHARTerminalRuleCall_2_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getLiteralExpressionNoNumberAccess() .getValueCHARTerminalRuleCall_2_1_0(); return obj; } return null; } } // MacroLiteral protected class LiteralExpressionNoNumber_MacroLiteralParserRuleCall_3 extends RuleCallToken { public LiteralExpressionNoNumber_MacroLiteralParserRuleCall_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getLiteralExpressionNoNumberAccess() .getMacroLiteralParserRuleCall_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getMacroLiteralAccess() .getMacroAction_0().getType().getClassifier()) { return null; } if (checkForRecursion(MacroLiteral_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // StringLiteral protected class LiteralExpressionNoNumber_StringLiteralParserRuleCall_4 extends RuleCallToken { public LiteralExpressionNoNumber_StringLiteralParserRuleCall_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getLiteralExpressionNoNumberAccess() .getStringLiteralParserRuleCall_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new StringLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getStringLiteralRule() .getType().getClassifier()) { return null; } if (checkForRecursion(StringLiteral_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } /************ end Rule LiteralExpressionNoNumber ****************/ /************ * begin Rule ModuleRef **************** * * ModuleRef returns Expression: {AtomRef} value=[Module|NAME]; * **/ // {AtomRef} value=[Module|NAME] protected class ModuleRef_Group extends GroupToken { public ModuleRef_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getModuleRefAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ModuleRef_ValueAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getModuleRefAccess() .getAtomRefAction_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {AtomRef} protected class ModuleRef_AtomRefAction_0 extends ActionToken { public ModuleRef_AtomRefAction_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getModuleRefAccess().getAtomRefAction_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // value=[Module|NAME] protected class ModuleRef_ValueAssignment_1 extends AssignmentToken { public ModuleRef_ValueAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getModuleRefAccess().getValueAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ModuleRef_AtomRefAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("value", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("value"); if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getModuleRefAccess() .getValueModuleCrossReference_1_0().getType() .getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getModuleRefAccess() .getValueModuleCrossReference_1_0(); return obj; } } return null; } } /************ end Rule ModuleRef ****************/ /************ * begin Rule FunctionRef **************** * * FunctionRef returns Expression: {AtomRef} value=[Function|NAME]; * **/ // {AtomRef} value=[Function|NAME] protected class FunctionRef_Group extends GroupToken { public FunctionRef_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getFunctionRefAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunctionRef_ValueAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getFunctionRefAccess() .getAtomRefAction_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {AtomRef} protected class FunctionRef_AtomRefAction_0 extends ActionToken { public FunctionRef_AtomRefAction_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getFunctionRefAccess().getAtomRefAction_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // value=[Function|NAME] protected class FunctionRef_ValueAssignment_1 extends AssignmentToken { public FunctionRef_ValueAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFunctionRefAccess().getValueAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunctionRef_AtomRefAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("value", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("value"); if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFunctionRefAccess() .getValueFunctionCrossReference_1_0().getType() .getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getFunctionRefAccess() .getValueFunctionCrossReference_1_0(); return obj; } } return null; } } /************ end Rule FunctionRef ****************/ /************ * begin Rule RecordRef **************** * * RecordRef returns Expression: {AtomRef} value=[RecordAttribute|NAME]; * **/ // {AtomRef} value=[RecordAttribute|NAME] protected class RecordRef_Group extends GroupToken { public RecordRef_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRecordRefAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordRef_ValueAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getRecordRefAccess() .getAtomRefAction_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {AtomRef} protected class RecordRef_AtomRefAction_0 extends ActionToken { public RecordRef_AtomRefAction_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getRecordRefAccess().getAtomRefAction_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // value=[RecordAttribute|NAME] protected class RecordRef_ValueAssignment_1 extends AssignmentToken { public RecordRef_ValueAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRecordRefAccess().getValueAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordRef_AtomRefAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("value", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("value"); if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getRecordRefAccess() .getValueRecordAttributeCrossReference_1_0().getType() .getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getRecordRefAccess() .getValueRecordAttributeCrossReference_1_0(); return obj; } } return null; } } /************ end Rule RecordRef ****************/ /************ * begin Rule RecordFieldRef **************** * * RecordFieldRef returns Expression: {AtomRef} value=[RecordFieldDef|NAME]; * **/ // {AtomRef} value=[RecordFieldDef|NAME] protected class RecordFieldRef_Group extends GroupToken { public RecordFieldRef_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getRecordFieldRefAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldRef_ValueAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getRecordFieldRefAccess().getAtomRefAction_0().getType() .getClassifier()) { return null; } return eObjectConsumer; } } // {AtomRef} protected class RecordFieldRef_AtomRefAction_0 extends ActionToken { public RecordFieldRef_AtomRefAction_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getRecordFieldRefAccess().getAtomRefAction_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // value=[RecordFieldDef|NAME] protected class RecordFieldRef_ValueAssignment_1 extends AssignmentToken { public RecordFieldRef_ValueAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getRecordFieldRefAccess() .getValueAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldRef_AtomRefAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("value", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("value"); if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getRecordFieldRefAccess() .getValueRecordFieldDefCrossReference_1_0().getType() .getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getRecordFieldRefAccess() .getValueRecordFieldDefCrossReference_1_0(); return obj; } } return null; } } /************ end Rule RecordFieldRef ****************/ /************ * begin Rule TypeRef **************** * * TypeRef returns Expression: {AtomRef} value=[TypeAttribute|NAME]; * **/ // {AtomRef} value=[TypeAttribute|NAME] protected class TypeRef_Group extends GroupToken { public TypeRef_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeRefAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeRef_ValueAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTypeRefAccess() .getAtomRefAction_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {AtomRef} protected class TypeRef_AtomRefAction_0 extends ActionToken { public TypeRef_AtomRefAction_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getTypeRefAccess().getAtomRefAction_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // value=[TypeAttribute|NAME] protected class TypeRef_ValueAssignment_1 extends AssignmentToken { public TypeRef_ValueAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeRefAccess().getValueAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeRef_AtomRefAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("value", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("value"); if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTypeRefAccess() .getValueTypeAttributeCrossReference_1_0().getType() .getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getTypeRefAccess() .getValueTypeAttributeCrossReference_1_0(); return obj; } } return null; } } /************ end Rule TypeRef ****************/ /************ * begin Rule MacroLiteral **************** * * MacroLiteral returns Expression: {Macro} value=[DefineAttribute|MACRO]; * **/ // {Macro} value=[DefineAttribute|MACRO] protected class MacroLiteral_Group extends GroupToken { public MacroLiteral_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getMacroLiteralAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroLiteral_ValueAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getMacroLiteralAccess() .getMacroAction_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {Macro} protected class MacroLiteral_MacroAction_0 extends ActionToken { public MacroLiteral_MacroAction_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getMacroLiteralAccess().getMacroAction_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // value=[DefineAttribute|MACRO] protected class MacroLiteral_ValueAssignment_1 extends AssignmentToken { public MacroLiteral_ValueAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getMacroLiteralAccess().getValueAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroLiteral_MacroAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("value", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("value"); if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getMacroLiteralAccess() .getValueDefineAttributeCrossReference_1_0().getType() .getClassifier()) && crossRefSerializer .isValid( obj.getEObject(), grammarAccess .getMacroLiteralAccess() .getValueDefineAttributeCrossReference_1_0(), (EObject) value, null)) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getMacroLiteralAccess() .getValueDefineAttributeCrossReference_1_0(); return obj; } } return null; } } /************ end Rule MacroLiteral ****************/ /************ * begin Rule MacroRef **************** * * MacroRef returns Expression: {Macro} value=[DefineAttribute|NAMEVAR]; * **/ // {Macro} value=[DefineAttribute|NAMEVAR] protected class MacroRef_Group extends GroupToken { public MacroRef_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getMacroRefAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroRef_ValueAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getMacroRefAccess() .getMacroAction_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {Macro} protected class MacroRef_MacroAction_0 extends ActionToken { public MacroRef_MacroAction_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getMacroRefAccess().getMacroAction_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // value=[DefineAttribute|NAMEVAR] protected class MacroRef_ValueAssignment_1 extends AssignmentToken { public MacroRef_ValueAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getMacroRefAccess().getValueAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroRef_MacroAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("value", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("value"); if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getMacroRefAccess() .getValueDefineAttributeCrossReference_1_0().getType() .getClassifier()) && crossRefSerializer .isValid( obj.getEObject(), grammarAccess .getMacroRefAccess() .getValueDefineAttributeCrossReference_1_0(), (EObject) value, null)) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getMacroRefAccess() .getValueDefineAttributeCrossReference_1_0(); return obj; } } return null; } } /************ end Rule MacroRef ****************/ /************ * begin Rule VariableLiteral **************** * * VariableLiteral returns Expression: {Variable} * value=[Expression|VARIABLE]; * **/ // {Variable} value=[Expression|VARIABLE] protected class VariableLiteral_Group extends GroupToken { public VariableLiteral_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getVariableLiteralAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new VariableLiteral_ValueAssignment_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0().getType() .getClassifier()) { return null; } return eObjectConsumer; } } // {Variable} protected class VariableLiteral_VariableAction_0 extends ActionToken { public VariableLiteral_VariableAction_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getVariableLiteralAccess() .getVariableAction_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // value=[Expression|VARIABLE] protected class VariableLiteral_ValueAssignment_1 extends AssignmentToken { public VariableLiteral_ValueAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getVariableLiteralAccess() .getValueAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new VariableLiteral_VariableAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("value", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("value"); if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getVariableLiteralAccess() .getValueExpressionCrossReference_1_0().getType() .getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getVariableLiteralAccess() .getValueExpressionCrossReference_1_0(); return obj; } } return null; } } /************ end Rule VariableLiteral ****************/ /************ * begin Rule StringLiteral **************** * * StringLiteral returns Expression: parts+=StringLiteralLiteral * parts+=StringLiteralPart*; * **/ // parts+=StringLiteralLiteral parts+=StringLiteralPart* protected class StringLiteral_Group extends GroupToken { public StringLiteral_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getStringLiteralAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new StringLiteral_PartsAssignment_1(lastRuleCallOrigin, this, 0, inst); case 1: return new StringLiteral_PartsAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getStringLiteralRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // parts+=StringLiteralLiteral protected class StringLiteral_PartsAssignment_0 extends AssignmentToken { public StringLiteral_PartsAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getStringLiteralAccess() .getPartsAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new StringLiteralLiteral_StringAssignment(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("parts", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("parts"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess .getStringLiteralLiteralRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getStringLiteralAccess() .getPartsStringLiteralLiteralParserRuleCall_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // parts+=StringLiteralPart* protected class StringLiteral_PartsAssignment_1 extends AssignmentToken { public StringLiteral_PartsAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getStringLiteralAccess() .getPartsAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new StringLiteralPart_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("parts", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("parts"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getStringLiteralPartRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getStringLiteralAccess() .getPartsStringLiteralPartParserRuleCall_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new StringLiteral_PartsAssignment_1(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new StringLiteral_PartsAssignment_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule StringLiteral ****************/ /************ * begin Rule StringLiteralPart **************** * * StringLiteralPart: StringLiteralLiteral | macro=MacroCall; * **/ // StringLiteralLiteral | macro=MacroCall protected class StringLiteralPart_Alternatives extends AlternativesToken { public StringLiteralPart_Alternatives( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getStringLiteralPartAccess().getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new StringLiteralPart_StringLiteralLiteralParserRuleCall_0( lastRuleCallOrigin, this, 0, inst); case 1: return new StringLiteralPart_MacroAssignment_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getStringLiteralPartRule().getType().getClassifier()) { return null; } return eObjectConsumer; } } // StringLiteralLiteral protected class StringLiteralPart_StringLiteralLiteralParserRuleCall_0 extends RuleCallToken { public StringLiteralPart_StringLiteralLiteralParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getStringLiteralPartAccess() .getStringLiteralLiteralParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new StringLiteralLiteral_StringAssignment(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(StringLiteralLiteral_StringAssignment.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // macro=MacroCall protected class StringLiteralPart_MacroAssignment_1 extends AssignmentToken { public StringLiteralPart_MacroAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getStringLiteralPartAccess() .getMacroAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroCall_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("macro", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("macro"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getMacroCallRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getStringLiteralPartAccess() .getMacroMacroCallParserRuleCall_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } /************ end Rule StringLiteralPart ****************/ /************ * begin Rule StringLiteralLiteral **************** * * StringLiteralLiteral returns StringLiteralPart: string=STRING; * **/ // string=STRING protected class StringLiteralLiteral_StringAssignment extends AssignmentToken { public StringLiteralLiteral_StringAssignment( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getStringLiteralLiteralAccess() .getStringAssignment(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getStringLiteralLiteralRule().getType().getClassifier()) { return null; } if ((value = eObjectConsumer.getConsumable("string", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("string"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getStringLiteralLiteralAccess() .getStringSTRINGTerminalRuleCall_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getStringLiteralLiteralAccess() .getStringSTRINGTerminalRuleCall_0(); return obj; } return null; } } /************ end Rule StringLiteralLiteral ****************/ /************ * begin Rule LiteralExpression **************** * * LiteralExpression returns Expression: LiteralExpressionNoNumber | * IntegerLiteral | {ErlFloat} value=FLOAT; * **/ // LiteralExpressionNoNumber | IntegerLiteral | {ErlFloat} value=FLOAT protected class LiteralExpression_Alternatives extends AlternativesToken { public LiteralExpression_Alternatives( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getLiteralExpressionAccess().getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LiteralExpression_LiteralExpressionNoNumberParserRuleCall_0( lastRuleCallOrigin, this, 0, inst); case 1: return new LiteralExpression_IntegerLiteralParserRuleCall_1( lastRuleCallOrigin, this, 1, inst); case 2: return new LiteralExpression_Group_2(lastRuleCallOrigin, this, 2, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess().getAtomAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // LiteralExpressionNoNumber protected class LiteralExpression_LiteralExpressionNoNumberParserRuleCall_0 extends RuleCallToken { public LiteralExpression_LiteralExpressionNoNumberParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getLiteralExpressionAccess() .getLiteralExpressionNoNumberParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LiteralExpressionNoNumber_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess().getAtomAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } if (checkForRecursion(LiteralExpressionNoNumber_Alternatives.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // IntegerLiteral protected class LiteralExpression_IntegerLiteralParserRuleCall_1 extends RuleCallToken { public LiteralExpression_IntegerLiteralParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getLiteralExpressionAccess() .getIntegerLiteralParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IntegerLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier()) { return null; } if (checkForRecursion(IntegerLiteral_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // {ErlFloat} value=FLOAT protected class LiteralExpression_Group_2 extends GroupToken { public LiteralExpression_Group_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getLiteralExpressionAccess().getGroup_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LiteralExpression_ValueAssignment_2_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getLiteralExpressionAccess().getErlFloatAction_2_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // {ErlFloat} protected class LiteralExpression_ErlFloatAction_2_0 extends ActionToken { public LiteralExpression_ErlFloatAction_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getLiteralExpressionAccess() .getErlFloatAction_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // value=FLOAT protected class LiteralExpression_ValueAssignment_2_1 extends AssignmentToken { public LiteralExpression_ValueAssignment_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getLiteralExpressionAccess() .getValueAssignment_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LiteralExpression_ErlFloatAction_2_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("value", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("value"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getLiteralExpressionAccess() .getValueFLOATParserRuleCall_2_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getLiteralExpressionAccess() .getValueFLOATParserRuleCall_2_1_0(); return obj; } return null; } } /************ end Rule LiteralExpression ****************/ /************ * begin Rule IntegerLiteral **************** * * IntegerLiteral returns Expression: {ErlInteger} value=INTEGER; * **/ // {ErlInteger} value=INTEGER protected class IntegerLiteral_Group extends GroupToken { public IntegerLiteral_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getIntegerLiteralAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IntegerLiteral_ValueAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // {ErlInteger} protected class IntegerLiteral_ErlIntegerAction_0 extends ActionToken { public IntegerLiteral_ErlIntegerAction_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getIntegerLiteralAccess() .getErlIntegerAction_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // value=INTEGER protected class IntegerLiteral_ValueAssignment_1 extends AssignmentToken { public IntegerLiteral_ValueAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getIntegerLiteralAccess() .getValueAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IntegerLiteral_ErlIntegerAction_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("value", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("value"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getIntegerLiteralAccess() .getValueINTEGERParserRuleCall_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getIntegerLiteralAccess() .getValueINTEGERParserRuleCall_1_0(); return obj; } return null; } } /************ end Rule IntegerLiteral ****************/ /************ * begin Rule PatternExpression **************** * * PatternExpression returns Expression: TermExpression * (({MatchExpr.opLeft=current} op="=" opRight=TermExpression)+ | * {FunCall.target=current} "(" args=Expressions? ")")?; * **/ // TermExpression (({MatchExpr.opLeft=current} op="=" // opRight=TermExpression)+ | {FunCall.target=current} "(" // args=Expressions? ")")? protected class PatternExpression_Group extends GroupToken { public PatternExpression_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getPatternExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new PatternExpression_Alternatives_1(lastRuleCallOrigin, this, 0, inst); case 1: return new PatternExpression_TermExpressionParserRuleCall_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess().getAtomAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTupleRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getPatternExpressionAccess() .getFunCallTargetAction_1_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getPatternExpressionAccess() .getMatchExprOpLeftAction_1_0_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getRecordExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // TermExpression protected class PatternExpression_TermExpressionParserRuleCall_0 extends RuleCallToken { public PatternExpression_TermExpressionParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getPatternExpressionAccess() .getTermExpressionParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TermExpression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess().getAtomAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTupleRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } if (checkForRecursion(TermExpression_Alternatives.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // (({MatchExpr.opLeft=current} op="=" opRight=TermExpression)+ | // {FunCall.target=current} "(" args=Expressions? ")")? protected class PatternExpression_Alternatives_1 extends AlternativesToken { public PatternExpression_Alternatives_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getPatternExpressionAccess() .getAlternatives_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new PatternExpression_Group_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new PatternExpression_Group_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getPatternExpressionAccess() .getFunCallTargetAction_1_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getPatternExpressionAccess() .getMatchExprOpLeftAction_1_0_0().getType() .getClassifier()) { return null; } return eObjectConsumer; } } // ({MatchExpr.opLeft=current} op="=" opRight=TermExpression)+ protected class PatternExpression_Group_1_0 extends GroupToken { public PatternExpression_Group_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getPatternExpressionAccess().getGroup_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new PatternExpression_OpRightAssignment_1_0_2( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getPatternExpressionAccess() .getMatchExprOpLeftAction_1_0_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {MatchExpr.opLeft=current} protected class PatternExpression_MatchExprOpLeftAction_1_0_0 extends ActionToken { public PatternExpression_MatchExprOpLeftAction_1_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getPatternExpressionAccess() .getMatchExprOpLeftAction_1_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new PatternExpression_Group_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new PatternExpression_TermExpressionParserRuleCall_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { final Object val = eObjectConsumer.getConsumable("opLeft", false); if (val == null) { return null; } if (!eObjectConsumer.isConsumedWithLastConsumtion("opLeft")) { return null; } return createEObjectConsumer((EObject) val); } } // op="=" protected class PatternExpression_OpAssignment_1_0_1 extends AssignmentToken { public PatternExpression_OpAssignment_1_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getPatternExpressionAccess() .getOpAssignment_1_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new PatternExpression_MatchExprOpLeftAction_1_0_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("op", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getPatternExpressionAccess() .getOpEqualsSignKeyword_1_0_1_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getPatternExpressionAccess() .getOpEqualsSignKeyword_1_0_1_0(); return obj; } return null; } } // opRight=TermExpression protected class PatternExpression_OpRightAssignment_1_0_2 extends AssignmentToken { public PatternExpression_OpRightAssignment_1_0_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getPatternExpressionAccess() .getOpRightAssignment_1_0_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TermExpression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("opRight", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("opRight"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTermExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getPatternExpressionAccess() .getOpRightTermExpressionParserRuleCall_1_0_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new PatternExpression_OpAssignment_1_0_1( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // {FunCall.target=current} "(" args=Expressions? ")" protected class PatternExpression_Group_1_1 extends GroupToken { public PatternExpression_Group_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getPatternExpressionAccess().getGroup_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new PatternExpression_RightParenthesisKeyword_1_1_3( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getPatternExpressionAccess() .getFunCallTargetAction_1_1_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {FunCall.target=current} protected class PatternExpression_FunCallTargetAction_1_1_0 extends ActionToken { public PatternExpression_FunCallTargetAction_1_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getPatternExpressionAccess() .getFunCallTargetAction_1_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new PatternExpression_TermExpressionParserRuleCall_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { final Object val = eObjectConsumer.getConsumable("target", false); if (val == null) { return null; } if (!eObjectConsumer.isConsumedWithLastConsumtion("target")) { return null; } return createEObjectConsumer((EObject) val); } } // "(" protected class PatternExpression_LeftParenthesisKeyword_1_1_1 extends KeywordToken { public PatternExpression_LeftParenthesisKeyword_1_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getPatternExpressionAccess() .getLeftParenthesisKeyword_1_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new PatternExpression_FunCallTargetAction_1_1_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // args=Expressions? protected class PatternExpression_ArgsAssignment_1_1_2 extends AssignmentToken { public PatternExpression_ArgsAssignment_1_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getPatternExpressionAccess() .getArgsAssignment_1_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("args", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("args"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionsRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getPatternExpressionAccess() .getArgsExpressionsParserRuleCall_1_1_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new PatternExpression_LeftParenthesisKeyword_1_1_1( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class PatternExpression_RightParenthesisKeyword_1_1_3 extends KeywordToken { public PatternExpression_RightParenthesisKeyword_1_1_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getPatternExpressionAccess() .getRightParenthesisKeyword_1_1_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new PatternExpression_ArgsAssignment_1_1_2( lastRuleCallOrigin, this, 0, inst); case 1: return new PatternExpression_LeftParenthesisKeyword_1_1_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule PatternExpression ****************/ /************ * begin Rule IfExpr **************** * * IfExpr: "if" clauses+=IfClause (";" clauses+=IfClause)* "end"; * **/ // "if" clauses+=IfClause (";" clauses+=IfClause)* "end" protected class IfExpr_Group extends GroupToken { public IfExpr_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getIfExprAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IfExpr_EndKeyword_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getIfExprRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // "if" protected class IfExpr_IfKeyword_0 extends KeywordToken { public IfExpr_IfKeyword_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getIfExprAccess().getIfKeyword_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // clauses+=IfClause protected class IfExpr_ClausesAssignment_1 extends AssignmentToken { public IfExpr_ClausesAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getIfExprAccess().getClausesAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IfClause_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("clauses", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("clauses"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getIfClauseRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getIfExprAccess() .getClausesIfClauseParserRuleCall_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new IfExpr_IfKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // (";" clauses+=IfClause)* protected class IfExpr_Group_2 extends GroupToken { public IfExpr_Group_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getIfExprAccess().getGroup_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IfExpr_ClausesAssignment_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ";" protected class IfExpr_SemicolonKeyword_2_0 extends KeywordToken { public IfExpr_SemicolonKeyword_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getIfExprAccess().getSemicolonKeyword_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IfExpr_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new IfExpr_ClausesAssignment_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // clauses+=IfClause protected class IfExpr_ClausesAssignment_2_1 extends AssignmentToken { public IfExpr_ClausesAssignment_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getIfExprAccess().getClausesAssignment_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IfClause_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("clauses", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("clauses"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getIfClauseRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getIfExprAccess() .getClausesIfClauseParserRuleCall_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new IfExpr_SemicolonKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "end" protected class IfExpr_EndKeyword_3 extends KeywordToken { public IfExpr_EndKeyword_3(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getIfExprAccess().getEndKeyword_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IfExpr_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new IfExpr_ClausesAssignment_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule IfExpr ****************/ /************ * begin Rule IfClause **************** * * IfClause: guard=Guard "->" body=Expressions; * **/ // guard=Guard "->" body=Expressions protected class IfClause_Group extends GroupToken { public IfClause_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getIfClauseAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IfClause_BodyAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getIfClauseRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // guard=Guard protected class IfClause_GuardAssignment_0 extends AssignmentToken { public IfClause_GuardAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getIfClauseAccess().getGuardAssignment_0(); } @Override public AbstractToken createFollower(final int index, final 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", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("guard"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getGuardRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getIfClauseAccess() .getGuardGuardParserRuleCall_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // "->" protected class IfClause_HyphenMinusGreaterThanSignKeyword_1 extends KeywordToken { public IfClause_HyphenMinusGreaterThanSignKeyword_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getIfClauseAccess() .getHyphenMinusGreaterThanSignKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IfClause_GuardAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // body=Expressions protected class IfClause_BodyAssignment_2 extends AssignmentToken { public IfClause_BodyAssignment_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getIfClauseAccess().getBodyAssignment_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("body", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("body"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionsRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getIfClauseAccess() .getBodyExpressionsParserRuleCall_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new IfClause_HyphenMinusGreaterThanSignKeyword_1( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule IfClause ****************/ /************ * begin Rule CaseExpr **************** * * CaseExpr: "case" expr=Expression "of" clauses+=CrClause (";" * clauses+=CrClause)* "end"; * **/ // "case" expr=Expression "of" clauses+=CrClause (";" clauses+=CrClause)* // "end" protected class CaseExpr_Group extends GroupToken { public CaseExpr_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getCaseExprAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CaseExpr_EndKeyword_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getCaseExprRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // "case" protected class CaseExpr_CaseKeyword_0 extends KeywordToken { public CaseExpr_CaseKeyword_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCaseExprAccess().getCaseKeyword_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // expr=Expression protected class CaseExpr_ExprAssignment_1 extends AssignmentToken { public CaseExpr_ExprAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getCaseExprAccess().getExprAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("expr", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("expr"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getCaseExprAccess() .getExprExpressionParserRuleCall_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new CaseExpr_CaseKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "of" protected class CaseExpr_OfKeyword_2 extends KeywordToken { public CaseExpr_OfKeyword_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCaseExprAccess().getOfKeyword_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CaseExpr_ExprAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // clauses+=CrClause protected class CaseExpr_ClausesAssignment_3 extends AssignmentToken { public CaseExpr_ClausesAssignment_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getCaseExprAccess().getClausesAssignment_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CrClause_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("clauses", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("clauses"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getCrClauseRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getCaseExprAccess() .getClausesCrClauseParserRuleCall_3_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new CaseExpr_OfKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // (";" clauses+=CrClause)* protected class CaseExpr_Group_4 extends GroupToken { public CaseExpr_Group_4(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getCaseExprAccess().getGroup_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CaseExpr_ClausesAssignment_4_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ";" protected class CaseExpr_SemicolonKeyword_4_0 extends KeywordToken { public CaseExpr_SemicolonKeyword_4_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCaseExprAccess().getSemicolonKeyword_4_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CaseExpr_Group_4(lastRuleCallOrigin, this, 0, inst); case 1: return new CaseExpr_ClausesAssignment_3(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // clauses+=CrClause protected class CaseExpr_ClausesAssignment_4_1 extends AssignmentToken { public CaseExpr_ClausesAssignment_4_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getCaseExprAccess().getClausesAssignment_4_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CrClause_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("clauses", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("clauses"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getCrClauseRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getCaseExprAccess() .getClausesCrClauseParserRuleCall_4_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new CaseExpr_SemicolonKeyword_4_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "end" protected class CaseExpr_EndKeyword_5 extends KeywordToken { public CaseExpr_EndKeyword_5(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCaseExprAccess().getEndKeyword_5(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CaseExpr_Group_4(lastRuleCallOrigin, this, 0, inst); case 1: return new CaseExpr_ClausesAssignment_3(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule CaseExpr ****************/ /************ * begin Rule CrClause **************** * * CrClause: expr=Expression ("when" guard=Guard)? "->" body=Expressions; * **/ // expr=Expression ("when" guard=Guard)? "->" body=Expressions protected class CrClause_Group extends GroupToken { public CrClause_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getCrClauseAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CrClause_BodyAssignment_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getCrClauseRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // expr=Expression protected class CrClause_ExprAssignment_0 extends AssignmentToken { public CrClause_ExprAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getCrClauseAccess().getExprAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("expr", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("expr"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getCrClauseAccess() .getExprExpressionParserRuleCall_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // ("when" guard=Guard)? protected class CrClause_Group_1 extends GroupToken { public CrClause_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getCrClauseAccess().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CrClause_GuardAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "when" protected class CrClause_WhenKeyword_1_0 extends KeywordToken { public CrClause_WhenKeyword_1_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCrClauseAccess().getWhenKeyword_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CrClause_ExprAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // guard=Guard protected class CrClause_GuardAssignment_1_1 extends AssignmentToken { public CrClause_GuardAssignment_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getCrClauseAccess().getGuardAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final 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; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("guard"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getGuardRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getCrClauseAccess() .getGuardGuardParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new CrClause_WhenKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "->" protected class CrClause_HyphenMinusGreaterThanSignKeyword_2 extends KeywordToken { public CrClause_HyphenMinusGreaterThanSignKeyword_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getCrClauseAccess() .getHyphenMinusGreaterThanSignKeyword_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CrClause_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new CrClause_ExprAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // body=Expressions protected class CrClause_BodyAssignment_3 extends AssignmentToken { public CrClause_BodyAssignment_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getCrClauseAccess().getBodyAssignment_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("body", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("body"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionsRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getCrClauseAccess() .getBodyExpressionsParserRuleCall_3_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new CrClause_HyphenMinusGreaterThanSignKeyword_2( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule CrClause ****************/ /************ * begin Rule ReceiveExpr **************** * * ReceiveExpr: "receive" (clauses+=CrClause (";" clauses+=CrClause)* * ("after" after_expr=Expression "->" after_body=Expressions)? | "after" * after_expr=Expression "->" after_body=Expressions) "end"; * **/ // "receive" (clauses+=CrClause (";" clauses+=CrClause)* ("after" // after_expr=Expression "->" after_body=Expressions)? | // "after" after_expr=Expression "->" after_body=Expressions) "end" protected class ReceiveExpr_Group extends GroupToken { public ReceiveExpr_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getReceiveExprAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ReceiveExpr_EndKeyword_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getReceiveExprRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // "receive" protected class ReceiveExpr_ReceiveKeyword_0 extends KeywordToken { public ReceiveExpr_ReceiveKeyword_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getReceiveExprAccess().getReceiveKeyword_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // clauses+=CrClause (";" clauses+=CrClause)* ("after" after_expr=Expression // "->" after_body=Expressions)? | "after" // after_expr=Expression "->" after_body=Expressions protected class ReceiveExpr_Alternatives_1 extends AlternativesToken { public ReceiveExpr_Alternatives_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getReceiveExprAccess().getAlternatives_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ReceiveExpr_Group_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new ReceiveExpr_Group_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // clauses+=CrClause (";" clauses+=CrClause)* ("after" after_expr=Expression // "->" after_body=Expressions)? protected class ReceiveExpr_Group_1_0 extends GroupToken { public ReceiveExpr_Group_1_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getReceiveExprAccess().getGroup_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ReceiveExpr_Group_1_0_2(lastRuleCallOrigin, this, 0, inst); case 1: return new ReceiveExpr_Group_1_0_1(lastRuleCallOrigin, this, 1, inst); case 2: return new ReceiveExpr_ClausesAssignment_1_0_0( lastRuleCallOrigin, this, 2, inst); default: return null; } } } // clauses+=CrClause protected class ReceiveExpr_ClausesAssignment_1_0_0 extends AssignmentToken { public ReceiveExpr_ClausesAssignment_1_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getReceiveExprAccess() .getClausesAssignment_1_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CrClause_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("clauses", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("clauses"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getCrClauseRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getReceiveExprAccess() .getClausesCrClauseParserRuleCall_1_0_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ReceiveExpr_ReceiveKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // (";" clauses+=CrClause)* protected class ReceiveExpr_Group_1_0_1 extends GroupToken { public ReceiveExpr_Group_1_0_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getReceiveExprAccess().getGroup_1_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ReceiveExpr_ClausesAssignment_1_0_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ";" protected class ReceiveExpr_SemicolonKeyword_1_0_1_0 extends KeywordToken { public ReceiveExpr_SemicolonKeyword_1_0_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getReceiveExprAccess() .getSemicolonKeyword_1_0_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ReceiveExpr_Group_1_0_1(lastRuleCallOrigin, this, 0, inst); case 1: return new ReceiveExpr_ClausesAssignment_1_0_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // clauses+=CrClause protected class ReceiveExpr_ClausesAssignment_1_0_1_1 extends AssignmentToken { public ReceiveExpr_ClausesAssignment_1_0_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getReceiveExprAccess() .getClausesAssignment_1_0_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CrClause_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("clauses", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("clauses"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getCrClauseRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getReceiveExprAccess() .getClausesCrClauseParserRuleCall_1_0_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ReceiveExpr_SemicolonKeyword_1_0_1_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("after" after_expr=Expression "->" after_body=Expressions)? protected class ReceiveExpr_Group_1_0_2 extends GroupToken { public ReceiveExpr_Group_1_0_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getReceiveExprAccess().getGroup_1_0_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ReceiveExpr_After_bodyAssignment_1_0_2_3( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "after" protected class ReceiveExpr_AfterKeyword_1_0_2_0 extends KeywordToken { public ReceiveExpr_AfterKeyword_1_0_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getReceiveExprAccess() .getAfterKeyword_1_0_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ReceiveExpr_Group_1_0_1(lastRuleCallOrigin, this, 0, inst); case 1: return new ReceiveExpr_ClausesAssignment_1_0_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // after_expr=Expression protected class ReceiveExpr_After_exprAssignment_1_0_2_1 extends AssignmentToken { public ReceiveExpr_After_exprAssignment_1_0_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getReceiveExprAccess() .getAfter_exprAssignment_1_0_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("after_expr", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("after_expr"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getReceiveExprAccess() .getAfter_exprExpressionParserRuleCall_1_0_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ReceiveExpr_AfterKeyword_1_0_2_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "->" protected class ReceiveExpr_HyphenMinusGreaterThanSignKeyword_1_0_2_2 extends KeywordToken { public ReceiveExpr_HyphenMinusGreaterThanSignKeyword_1_0_2_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getReceiveExprAccess() .getHyphenMinusGreaterThanSignKeyword_1_0_2_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ReceiveExpr_After_exprAssignment_1_0_2_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // after_body=Expressions protected class ReceiveExpr_After_bodyAssignment_1_0_2_3 extends AssignmentToken { public ReceiveExpr_After_bodyAssignment_1_0_2_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getReceiveExprAccess() .getAfter_bodyAssignment_1_0_2_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("after_body", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("after_body"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionsRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getReceiveExprAccess() .getAfter_bodyExpressionsParserRuleCall_1_0_2_3_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ReceiveExpr_HyphenMinusGreaterThanSignKeyword_1_0_2_2( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "after" after_expr=Expression "->" after_body=Expressions protected class ReceiveExpr_Group_1_1 extends GroupToken { public ReceiveExpr_Group_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getReceiveExprAccess().getGroup_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ReceiveExpr_After_bodyAssignment_1_1_3( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "after" protected class ReceiveExpr_AfterKeyword_1_1_0 extends KeywordToken { public ReceiveExpr_AfterKeyword_1_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getReceiveExprAccess().getAfterKeyword_1_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ReceiveExpr_ReceiveKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // after_expr=Expression protected class ReceiveExpr_After_exprAssignment_1_1_1 extends AssignmentToken { public ReceiveExpr_After_exprAssignment_1_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getReceiveExprAccess() .getAfter_exprAssignment_1_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("after_expr", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("after_expr"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getReceiveExprAccess() .getAfter_exprExpressionParserRuleCall_1_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ReceiveExpr_AfterKeyword_1_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "->" protected class ReceiveExpr_HyphenMinusGreaterThanSignKeyword_1_1_2 extends KeywordToken { public ReceiveExpr_HyphenMinusGreaterThanSignKeyword_1_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getReceiveExprAccess() .getHyphenMinusGreaterThanSignKeyword_1_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ReceiveExpr_After_exprAssignment_1_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // after_body=Expressions protected class ReceiveExpr_After_bodyAssignment_1_1_3 extends AssignmentToken { public ReceiveExpr_After_bodyAssignment_1_1_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getReceiveExprAccess() .getAfter_bodyAssignment_1_1_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("after_body", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("after_body"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionsRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getReceiveExprAccess() .getAfter_bodyExpressionsParserRuleCall_1_1_3_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ReceiveExpr_HyphenMinusGreaterThanSignKeyword_1_1_2( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "end" protected class ReceiveExpr_EndKeyword_2 extends KeywordToken { public ReceiveExpr_EndKeyword_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getReceiveExprAccess().getEndKeyword_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ReceiveExpr_Alternatives_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule ReceiveExpr ****************/ /************ * begin Rule FunExpr **************** * * FunExpr: "fun" (FunRef | InlineFun); * **/ // "fun" (FunRef | InlineFun) protected class FunExpr_Group extends GroupToken { public FunExpr_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getFunExprAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunExpr_Alternatives_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getInlineFunRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getFunRefRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // "fun" protected class FunExpr_FunKeyword_0 extends KeywordToken { public FunExpr_FunKeyword_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFunExprAccess().getFunKeyword_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // FunRef | InlineFun protected class FunExpr_Alternatives_1 extends AlternativesToken { public FunExpr_Alternatives_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getFunExprAccess().getAlternatives_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunExpr_FunRefParserRuleCall_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new FunExpr_InlineFunParserRuleCall_1_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // FunRef protected class FunExpr_FunRefParserRuleCall_1_0 extends RuleCallToken { public FunExpr_FunRefParserRuleCall_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getFunExprAccess() .getFunRefParserRuleCall_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getFunRefRule() .getType().getClassifier()) { return null; } if (checkForRecursion(FunRef_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunExpr_FunKeyword_0(lastRuleCallOrigin, next, actIndex, inst); default: return null; } } } // InlineFun protected class FunExpr_InlineFunParserRuleCall_1_1 extends RuleCallToken { public FunExpr_InlineFunParserRuleCall_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getFunExprAccess() .getInlineFunParserRuleCall_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new InlineFun_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getInlineFunRule() .getType().getClassifier()) { return null; } if (checkForRecursion(InlineFun_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunExpr_FunKeyword_0(lastRuleCallOrigin, next, actIndex, inst); default: return null; } } } /************ end Rule FunExpr ****************/ /************ * begin Rule FunRef **************** * * FunRef: (module=ModuleVarMacro ":")? function=FunctionVarMacro "/" * arity=IntVarMacro; * **/ // (module=ModuleVarMacro ":")? function=FunctionVarMacro "/" // arity=IntVarMacro protected class FunRef_Group extends GroupToken { public FunRef_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getFunRefAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunRef_ArityAssignment_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getFunRefRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // (module=ModuleVarMacro ":")? protected class FunRef_Group_0 extends GroupToken { public FunRef_Group_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getFunRefAccess().getGroup_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunRef_ColonKeyword_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // module=ModuleVarMacro protected class FunRef_ModuleAssignment_0_0 extends AssignmentToken { public FunRef_ModuleAssignment_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFunRefAccess().getModuleAssignment_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ModuleVarMacro_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("module", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("module"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getModuleVarMacroRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getFunRefAccess() .getModuleModuleVarMacroParserRuleCall_0_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // ":" protected class FunRef_ColonKeyword_0_1 extends KeywordToken { public FunRef_ColonKeyword_0_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFunRefAccess().getColonKeyword_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunRef_ModuleAssignment_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // function=FunctionVarMacro protected class FunRef_FunctionAssignment_1 extends AssignmentToken { public FunRef_FunctionAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFunRefAccess().getFunctionAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunctionVarMacro_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("function", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("function"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFunctionVarMacroRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getFunRefAccess() .getFunctionFunctionVarMacroParserRuleCall_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new FunRef_Group_0(lastRuleCallOrigin, next, actIndex, consumed); default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index - 1, consumed); } } } // "/" protected class FunRef_SolidusKeyword_2 extends KeywordToken { public FunRef_SolidusKeyword_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFunRefAccess().getSolidusKeyword_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunRef_FunctionAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // arity=IntVarMacro protected class FunRef_ArityAssignment_3 extends AssignmentToken { public FunRef_ArityAssignment_3(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFunRefAccess().getArityAssignment_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IntVarMacro_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("arity", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("arity"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getIntVarMacroRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getFunRefAccess() .getArityIntVarMacroParserRuleCall_3_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new FunRef_SolidusKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule FunRef ****************/ /************ * begin Rule InlineFun **************** * * InlineFun returns FunExpr: clauses+=FunctionClause (";" * clauses+=FunctionClause)* "end"; * **/ // clauses+=FunctionClause (";" clauses+=FunctionClause)* "end" protected class InlineFun_Group extends GroupToken { public InlineFun_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getInlineFunAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new InlineFun_EndKeyword_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getInlineFunRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // clauses+=FunctionClause protected class InlineFun_ClausesAssignment_0 extends AssignmentToken { public InlineFun_ClausesAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getInlineFunAccess().getClausesAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunctionClause_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("clauses", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("clauses"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFunctionClauseRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getInlineFunAccess() .getClausesFunctionClauseParserRuleCall_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // (";" clauses+=FunctionClause)* protected class InlineFun_Group_1 extends GroupToken { public InlineFun_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getInlineFunAccess().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new InlineFun_ClausesAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ";" protected class InlineFun_SemicolonKeyword_1_0 extends KeywordToken { public InlineFun_SemicolonKeyword_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getInlineFunAccess().getSemicolonKeyword_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new InlineFun_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new InlineFun_ClausesAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // clauses+=FunctionClause protected class InlineFun_ClausesAssignment_1_1 extends AssignmentToken { public InlineFun_ClausesAssignment_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getInlineFunAccess() .getClausesAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunctionClause_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("clauses", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("clauses"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFunctionClauseRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getInlineFunAccess() .getClausesFunctionClauseParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new InlineFun_SemicolonKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "end" protected class InlineFun_EndKeyword_2 extends KeywordToken { public InlineFun_EndKeyword_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getInlineFunAccess().getEndKeyword_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new InlineFun_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new InlineFun_ClausesAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule InlineFun ****************/ /************ * begin Rule TryExpr **************** * * TryExpr: "try" body=Expressions ("of" of_clauses+=CrClause (";" * of_clauses+=CrClause)*)? ("catch" catch+=TryClause (";" * catch+=TryClause)* ("after" after_body=Expressions)? | "after" * after_body=Expressions) "end"; * **/ // "try" body=Expressions ("of" of_clauses+=CrClause (";" // of_clauses+=CrClause)*)? ("catch" catch+=TryClause (";" // catch+=TryClause)* ("after" after_body=Expressions)? | "after" // after_body=Expressions) "end" protected class TryExpr_Group extends GroupToken { public TryExpr_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTryExprAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryExpr_EndKeyword_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTryExprRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // "try" protected class TryExpr_TryKeyword_0 extends KeywordToken { public TryExpr_TryKeyword_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTryExprAccess().getTryKeyword_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // body=Expressions protected class TryExpr_BodyAssignment_1 extends AssignmentToken { public TryExpr_BodyAssignment_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTryExprAccess().getBodyAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("body", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("body"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionsRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTryExprAccess() .getBodyExpressionsParserRuleCall_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TryExpr_TryKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("of" of_clauses+=CrClause (";" of_clauses+=CrClause)*)? protected class TryExpr_Group_2 extends GroupToken { public TryExpr_Group_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTryExprAccess().getGroup_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryExpr_Group_2_2(lastRuleCallOrigin, this, 0, inst); case 1: return new TryExpr_Of_clausesAssignment_2_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "of" protected class TryExpr_OfKeyword_2_0 extends KeywordToken { public TryExpr_OfKeyword_2_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTryExprAccess().getOfKeyword_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryExpr_BodyAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // of_clauses+=CrClause protected class TryExpr_Of_clausesAssignment_2_1 extends AssignmentToken { public TryExpr_Of_clausesAssignment_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTryExprAccess() .getOf_clausesAssignment_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CrClause_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("of_clauses", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("of_clauses"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getCrClauseRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTryExprAccess() .getOf_clausesCrClauseParserRuleCall_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TryExpr_OfKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // (";" of_clauses+=CrClause)* protected class TryExpr_Group_2_2 extends GroupToken { public TryExpr_Group_2_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTryExprAccess().getGroup_2_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryExpr_Of_clausesAssignment_2_2_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ";" protected class TryExpr_SemicolonKeyword_2_2_0 extends KeywordToken { public TryExpr_SemicolonKeyword_2_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTryExprAccess().getSemicolonKeyword_2_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryExpr_Group_2_2(lastRuleCallOrigin, this, 0, inst); case 1: return new TryExpr_Of_clausesAssignment_2_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // of_clauses+=CrClause protected class TryExpr_Of_clausesAssignment_2_2_1 extends AssignmentToken { public TryExpr_Of_clausesAssignment_2_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTryExprAccess() .getOf_clausesAssignment_2_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new CrClause_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("of_clauses", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("of_clauses"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getCrClauseRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTryExprAccess() .getOf_clausesCrClauseParserRuleCall_2_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TryExpr_SemicolonKeyword_2_2_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "catch" catch+=TryClause (";" catch+=TryClause)* ("after" // after_body=Expressions)? | "after" after_body=Expressions protected class TryExpr_Alternatives_3 extends AlternativesToken { public TryExpr_Alternatives_3(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getTryExprAccess().getAlternatives_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryExpr_Group_3_0(lastRuleCallOrigin, this, 0, inst); case 1: return new TryExpr_Group_3_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "catch" catch+=TryClause (";" catch+=TryClause)* ("after" // after_body=Expressions)? protected class TryExpr_Group_3_0 extends GroupToken { public TryExpr_Group_3_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTryExprAccess().getGroup_3_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryExpr_Group_3_0_3(lastRuleCallOrigin, this, 0, inst); case 1: return new TryExpr_Group_3_0_2(lastRuleCallOrigin, this, 1, inst); case 2: return new TryExpr_CatchAssignment_3_0_1(lastRuleCallOrigin, this, 2, inst); default: return null; } } } // "catch" protected class TryExpr_CatchKeyword_3_0_0 extends KeywordToken { public TryExpr_CatchKeyword_3_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTryExprAccess().getCatchKeyword_3_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryExpr_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new TryExpr_BodyAssignment_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // catch+=TryClause protected class TryExpr_CatchAssignment_3_0_1 extends AssignmentToken { public TryExpr_CatchAssignment_3_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTryExprAccess().getCatchAssignment_3_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryClause_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("catch", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("catch"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTryClauseRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTryExprAccess() .getCatchTryClauseParserRuleCall_3_0_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TryExpr_CatchKeyword_3_0_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // (";" catch+=TryClause)* protected class TryExpr_Group_3_0_2 extends GroupToken { public TryExpr_Group_3_0_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTryExprAccess().getGroup_3_0_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryExpr_CatchAssignment_3_0_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ";" protected class TryExpr_SemicolonKeyword_3_0_2_0 extends KeywordToken { public TryExpr_SemicolonKeyword_3_0_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTryExprAccess() .getSemicolonKeyword_3_0_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryExpr_Group_3_0_2(lastRuleCallOrigin, this, 0, inst); case 1: return new TryExpr_CatchAssignment_3_0_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // catch+=TryClause protected class TryExpr_CatchAssignment_3_0_2_1 extends AssignmentToken { public TryExpr_CatchAssignment_3_0_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTryExprAccess() .getCatchAssignment_3_0_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryClause_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("catch", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("catch"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTryClauseRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTryExprAccess() .getCatchTryClauseParserRuleCall_3_0_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TryExpr_SemicolonKeyword_3_0_2_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("after" after_body=Expressions)? protected class TryExpr_Group_3_0_3 extends GroupToken { public TryExpr_Group_3_0_3(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTryExprAccess().getGroup_3_0_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryExpr_After_bodyAssignment_3_0_3_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "after" protected class TryExpr_AfterKeyword_3_0_3_0 extends KeywordToken { public TryExpr_AfterKeyword_3_0_3_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTryExprAccess().getAfterKeyword_3_0_3_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryExpr_Group_3_0_2(lastRuleCallOrigin, this, 0, inst); case 1: return new TryExpr_CatchAssignment_3_0_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // after_body=Expressions protected class TryExpr_After_bodyAssignment_3_0_3_1 extends AssignmentToken { public TryExpr_After_bodyAssignment_3_0_3_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTryExprAccess() .getAfter_bodyAssignment_3_0_3_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("after_body", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("after_body"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionsRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTryExprAccess() .getAfter_bodyExpressionsParserRuleCall_3_0_3_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TryExpr_AfterKeyword_3_0_3_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "after" after_body=Expressions protected class TryExpr_Group_3_1 extends GroupToken { public TryExpr_Group_3_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTryExprAccess().getGroup_3_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryExpr_After_bodyAssignment_3_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "after" protected class TryExpr_AfterKeyword_3_1_0 extends KeywordToken { public TryExpr_AfterKeyword_3_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTryExprAccess().getAfterKeyword_3_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryExpr_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new TryExpr_BodyAssignment_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // after_body=Expressions protected class TryExpr_After_bodyAssignment_3_1_1 extends AssignmentToken { public TryExpr_After_bodyAssignment_3_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTryExprAccess() .getAfter_bodyAssignment_3_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("after_body", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("after_body"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionsRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTryExprAccess() .getAfter_bodyExpressionsParserRuleCall_3_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TryExpr_AfterKeyword_3_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "end" protected class TryExpr_EndKeyword_4 extends KeywordToken { public TryExpr_EndKeyword_4(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTryExprAccess().getEndKeyword_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryExpr_Alternatives_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule TryExpr ****************/ /************ * begin Rule TryClause **************** * * TryClause: => (hdr=NAMEVAR ":")? cond=PatternExpression ("when" * guard=Guard)? "->" body=Expressions; * **/ // => (hdr=NAMEVAR ":")? cond=PatternExpression ("when" guard=Guard)? "->" // body=Expressions protected class TryClause_Group extends GroupToken { public TryClause_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTryClauseAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryClause_BodyAssignment_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTryClauseRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // => (hdr=NAMEVAR ":")? protected class TryClause_Group_0 extends GroupToken { public TryClause_Group_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTryClauseAccess().getGroup_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryClause_Group_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // hdr=NAMEVAR ":" protected class TryClause_Group_0_0 extends GroupToken { public TryClause_Group_0_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTryClauseAccess().getGroup_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryClause_ColonKeyword_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // hdr=NAMEVAR protected class TryClause_HdrAssignment_0_0_0 extends AssignmentToken { public TryClause_HdrAssignment_0_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTryClauseAccess().getHdrAssignment_0_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("hdr", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("hdr"); if (valueSerializer .isValid(obj.getEObject(), grammarAccess .getTryClauseAccess() .getHdrNAMEVARParserRuleCall_0_0_0_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getTryClauseAccess() .getHdrNAMEVARParserRuleCall_0_0_0_0(); return obj; } return null; } } // ":" protected class TryClause_ColonKeyword_0_0_1 extends KeywordToken { public TryClause_ColonKeyword_0_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTryClauseAccess().getColonKeyword_0_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryClause_HdrAssignment_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // cond=PatternExpression protected class TryClause_CondAssignment_1 extends AssignmentToken { public TryClause_CondAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTryClauseAccess().getCondAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new PatternExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("cond", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("cond"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getPatternExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTryClauseAccess() .getCondPatternExpressionParserRuleCall_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TryClause_Group_0(lastRuleCallOrigin, next, actIndex, consumed); default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index - 1, consumed); } } } // ("when" guard=Guard)? protected class TryClause_Group_2 extends GroupToken { public TryClause_Group_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTryClauseAccess().getGroup_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryClause_GuardAssignment_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "when" protected class TryClause_WhenKeyword_2_0 extends KeywordToken { public TryClause_WhenKeyword_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTryClauseAccess().getWhenKeyword_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryClause_CondAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // guard=Guard protected class TryClause_GuardAssignment_2_1 extends AssignmentToken { public TryClause_GuardAssignment_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTryClauseAccess().getGuardAssignment_2_1(); } @Override public AbstractToken createFollower(final int index, final 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; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("guard"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getGuardRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTryClauseAccess() .getGuardGuardParserRuleCall_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TryClause_WhenKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "->" protected class TryClause_HyphenMinusGreaterThanSignKeyword_3 extends KeywordToken { public TryClause_HyphenMinusGreaterThanSignKeyword_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTryClauseAccess() .getHyphenMinusGreaterThanSignKeyword_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TryClause_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new TryClause_CondAssignment_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // body=Expressions protected class TryClause_BodyAssignment_4 extends AssignmentToken { public TryClause_BodyAssignment_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTryClauseAccess().getBodyAssignment_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expressions_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("body", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("body"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionsRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTryClauseAccess() .getBodyExpressionsParserRuleCall_4_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TryClause_HyphenMinusGreaterThanSignKeyword_3( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule TryClause ****************/ /************ * begin Rule ListOrComprehension **************** * * ListOrComprehension returns ErlList: "[" ({ErlList} | * elements+=Expression ("," elements+=Expression)* ("|" tail=Expression | * {ListComprehension.root=current} "||" generators+=LCExpr ("," * generators+=LCExpr)*)?) "]"; * **/ // "[" ({ErlList} | elements+=Expression ("," elements+=Expression)* ("|" // tail=Expression | // {ListComprehension.root=current} "||" generators+=LCExpr ("," // generators+=LCExpr)*)?) "]" protected class ListOrComprehension_Group extends GroupToken { public ListOrComprehension_Group( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getListOrComprehensionAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ListOrComprehension_RightSquareBracketKeyword_2( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // "[" protected class ListOrComprehension_LeftSquareBracketKeyword_0 extends KeywordToken { public ListOrComprehension_LeftSquareBracketKeyword_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getListOrComprehensionAccess() .getLeftSquareBracketKeyword_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // {ErlList} | elements+=Expression ("," elements+=Expression)* ("|" // tail=Expression | {ListComprehension.root=current} // "||" generators+=LCExpr ("," generators+=LCExpr)*)? protected class ListOrComprehension_Alternatives_1 extends AlternativesToken { public ListOrComprehension_Alternatives_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getListOrComprehensionAccess() .getAlternatives_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ListOrComprehension_ErlListAction_1_0( lastRuleCallOrigin, this, 0, inst); case 1: return new ListOrComprehension_Group_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // {ErlList} protected class ListOrComprehension_ErlListAction_1_0 extends ActionToken { public ListOrComprehension_ErlListAction_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getListOrComprehensionAccess() .getErlListAction_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ListOrComprehension_LeftSquareBracketKeyword_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getListOrComprehensionAccess().getErlListAction_1_0() .getType().getClassifier()) { return null; } if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // elements+=Expression ("," elements+=Expression)* ("|" tail=Expression | // {ListComprehension.root=current} "||" // generators+=LCExpr ("," generators+=LCExpr)*)? protected class ListOrComprehension_Group_1_1 extends GroupToken { public ListOrComprehension_Group_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getListOrComprehensionAccess().getGroup_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ListOrComprehension_Alternatives_1_1_2( lastRuleCallOrigin, this, 0, inst); case 1: return new ListOrComprehension_Group_1_1_1(lastRuleCallOrigin, this, 1, inst); case 2: return new ListOrComprehension_ElementsAssignment_1_1_0( lastRuleCallOrigin, this, 2, inst); default: return null; } } } // elements+=Expression protected class ListOrComprehension_ElementsAssignment_1_1_0 extends AssignmentToken { public ListOrComprehension_ElementsAssignment_1_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getListOrComprehensionAccess() .getElementsAssignment_1_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType().getClassifier()) { return null; } if ((value = eObjectConsumer.getConsumable("elements", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("elements"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getListOrComprehensionAccess() .getElementsExpressionParserRuleCall_1_1_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ListOrComprehension_LeftSquareBracketKeyword_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," elements+=Expression)* protected class ListOrComprehension_Group_1_1_1 extends GroupToken { public ListOrComprehension_Group_1_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getListOrComprehensionAccess() .getGroup_1_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ListOrComprehension_ElementsAssignment_1_1_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType().getClassifier()) { return null; } return eObjectConsumer; } } // "," protected class ListOrComprehension_CommaKeyword_1_1_1_0 extends KeywordToken { public ListOrComprehension_CommaKeyword_1_1_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getListOrComprehensionAccess() .getCommaKeyword_1_1_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ListOrComprehension_Group_1_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new ListOrComprehension_ElementsAssignment_1_1_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // elements+=Expression protected class ListOrComprehension_ElementsAssignment_1_1_1_1 extends AssignmentToken { public ListOrComprehension_ElementsAssignment_1_1_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getListOrComprehensionAccess() .getElementsAssignment_1_1_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("elements", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("elements"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getListOrComprehensionAccess() .getElementsExpressionParserRuleCall_1_1_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ListOrComprehension_CommaKeyword_1_1_1_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("|" tail=Expression | {ListComprehension.root=current} "||" // generators+=LCExpr ("," generators+=LCExpr)*)? protected class ListOrComprehension_Alternatives_1_1_2 extends AlternativesToken { public ListOrComprehension_Alternatives_1_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getListOrComprehensionAccess() .getAlternatives_1_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ListOrComprehension_Group_1_1_2_0( lastRuleCallOrigin, this, 0, inst); case 1: return new ListOrComprehension_Group_1_1_2_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "|" tail=Expression protected class ListOrComprehension_Group_1_1_2_0 extends GroupToken { public ListOrComprehension_Group_1_1_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getListOrComprehensionAccess() .getGroup_1_1_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ListOrComprehension_TailAssignment_1_1_2_0_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType().getClassifier()) { return null; } return eObjectConsumer; } } // "|" protected class ListOrComprehension_VerticalLineKeyword_1_1_2_0_0 extends KeywordToken { public ListOrComprehension_VerticalLineKeyword_1_1_2_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getListOrComprehensionAccess() .getVerticalLineKeyword_1_1_2_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ListOrComprehension_Group_1_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new ListOrComprehension_ElementsAssignment_1_1_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // tail=Expression protected class ListOrComprehension_TailAssignment_1_1_2_0_1 extends AssignmentToken { public ListOrComprehension_TailAssignment_1_1_2_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getListOrComprehensionAccess() .getTailAssignment_1_1_2_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("tail", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("tail"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getListOrComprehensionAccess() .getTailExpressionParserRuleCall_1_1_2_0_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ListOrComprehension_VerticalLineKeyword_1_1_2_0_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // {ListComprehension.root=current} "||" generators+=LCExpr ("," // generators+=LCExpr)* protected class ListOrComprehension_Group_1_1_2_1 extends GroupToken { public ListOrComprehension_Group_1_1_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getListOrComprehensionAccess() .getGroup_1_1_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ListOrComprehension_Group_1_1_2_1_3( lastRuleCallOrigin, this, 0, inst); case 1: return new ListOrComprehension_GeneratorsAssignment_1_1_2_1_2( lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0().getType() .getClassifier()) { return null; } return eObjectConsumer; } } // {ListComprehension.root=current} protected class ListOrComprehension_ListComprehensionRootAction_1_1_2_1_0 extends ActionToken { public ListOrComprehension_ListComprehensionRootAction_1_1_2_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ListOrComprehension_Group_1_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new ListOrComprehension_ElementsAssignment_1_1_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { final Object val = eObjectConsumer.getConsumable("root", false); if (val == null) { return null; } if (!eObjectConsumer.isConsumedWithLastConsumtion("root")) { return null; } return createEObjectConsumer((EObject) val); } } // "||" protected class ListOrComprehension_VerticalLineVerticalLineKeyword_1_1_2_1_1 extends KeywordToken { public ListOrComprehension_VerticalLineVerticalLineKeyword_1_1_2_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getListOrComprehensionAccess() .getVerticalLineVerticalLineKeyword_1_1_2_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ListOrComprehension_ListComprehensionRootAction_1_1_2_1_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // generators+=LCExpr protected class ListOrComprehension_GeneratorsAssignment_1_1_2_1_2 extends AssignmentToken { public ListOrComprehension_GeneratorsAssignment_1_1_2_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getListOrComprehensionAccess() .getGeneratorsAssignment_1_1_2_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LCExpr_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("generators", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("generators"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getLCExprRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getListOrComprehensionAccess() .getGeneratorsLCExprParserRuleCall_1_1_2_1_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ListOrComprehension_VerticalLineVerticalLineKeyword_1_1_2_1_1( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," generators+=LCExpr)* protected class ListOrComprehension_Group_1_1_2_1_3 extends GroupToken { public ListOrComprehension_Group_1_1_2_1_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getListOrComprehensionAccess() .getGroup_1_1_2_1_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ListOrComprehension_GeneratorsAssignment_1_1_2_1_3_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class ListOrComprehension_CommaKeyword_1_1_2_1_3_0 extends KeywordToken { public ListOrComprehension_CommaKeyword_1_1_2_1_3_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getListOrComprehensionAccess() .getCommaKeyword_1_1_2_1_3_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ListOrComprehension_Group_1_1_2_1_3( lastRuleCallOrigin, this, 0, inst); case 1: return new ListOrComprehension_GeneratorsAssignment_1_1_2_1_2( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // generators+=LCExpr protected class ListOrComprehension_GeneratorsAssignment_1_1_2_1_3_1 extends AssignmentToken { public ListOrComprehension_GeneratorsAssignment_1_1_2_1_3_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getListOrComprehensionAccess() .getGeneratorsAssignment_1_1_2_1_3_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LCExpr_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("generators", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("generators"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getLCExprRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getListOrComprehensionAccess() .getGeneratorsLCExprParserRuleCall_1_1_2_1_3_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new ListOrComprehension_CommaKeyword_1_1_2_1_3_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "]" protected class ListOrComprehension_RightSquareBracketKeyword_2 extends KeywordToken { public ListOrComprehension_RightSquareBracketKeyword_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getListOrComprehensionAccess() .getRightSquareBracketKeyword_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ListOrComprehension_Alternatives_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule ListOrComprehension ****************/ /************ * begin Rule Tuple **************** * * Tuple returns ErlTuple: "{" ({ErlTuple} | elements+=Expression ("," * elements+=Expression)*) "}"; * **/ // "{" ({ErlTuple} | elements+=Expression ("," elements+=Expression)*) "}" protected class Tuple_Group extends GroupToken { public Tuple_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTupleAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Tuple_RightCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTupleRule().getType() .getClassifier()) { return null; } return eObjectConsumer; } } // "{" protected class Tuple_LeftCurlyBracketKeyword_0 extends KeywordToken { public Tuple_LeftCurlyBracketKeyword_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTupleAccess() .getLeftCurlyBracketKeyword_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // {ErlTuple} | elements+=Expression ("," elements+=Expression)* protected class Tuple_Alternatives_1 extends AlternativesToken { public Tuple_Alternatives_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getTupleAccess().getAlternatives_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Tuple_ErlTupleAction_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new Tuple_Group_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // {ErlTuple} protected class Tuple_ErlTupleAction_1_0 extends ActionToken { public Tuple_ErlTupleAction_1_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getTupleAccess().getErlTupleAction_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Tuple_LeftCurlyBracketKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // elements+=Expression ("," elements+=Expression)* protected class Tuple_Group_1_1 extends GroupToken { public Tuple_Group_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTupleAccess().getGroup_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Tuple_Group_1_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Tuple_ElementsAssignment_1_1_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // elements+=Expression protected class Tuple_ElementsAssignment_1_1_0 extends AssignmentToken { public Tuple_ElementsAssignment_1_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTupleAccess().getElementsAssignment_1_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("elements", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("elements"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTupleAccess() .getElementsExpressionParserRuleCall_1_1_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Tuple_LeftCurlyBracketKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," elements+=Expression)* protected class Tuple_Group_1_1_1 extends GroupToken { public Tuple_Group_1_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTupleAccess().getGroup_1_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Tuple_ElementsAssignment_1_1_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class Tuple_CommaKeyword_1_1_1_0 extends KeywordToken { public Tuple_CommaKeyword_1_1_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTupleAccess().getCommaKeyword_1_1_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Tuple_Group_1_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Tuple_ElementsAssignment_1_1_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // elements+=Expression protected class Tuple_ElementsAssignment_1_1_1_1 extends AssignmentToken { public Tuple_ElementsAssignment_1_1_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTupleAccess() .getElementsAssignment_1_1_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("elements", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("elements"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTupleAccess() .getElementsExpressionParserRuleCall_1_1_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Tuple_CommaKeyword_1_1_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class Tuple_RightCurlyBracketKeyword_2 extends KeywordToken { public Tuple_RightCurlyBracketKeyword_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTupleAccess() .getRightCurlyBracketKeyword_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Tuple_Alternatives_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule Tuple ****************/ /************ * begin Rule BinaryOrComprehension **************** * * BinaryOrComprehension returns ErlBinary: "<<" ({ErlBinary} | * elements+=BinaryItem ("," elements+=BinaryItem)* * ({BinaryComprehension.root=current} "||" generators+=LCExpr ("," * generators+=LCExpr)*)?) ">>"; * **/ // "<<" ({ErlBinary} | elements+=BinaryItem ("," elements+=BinaryItem)* // ({BinaryComprehension.root=current} "||" // generators+=LCExpr ("," generators+=LCExpr)*)?) ">>" protected class BinaryOrComprehension_Group extends GroupToken { public BinaryOrComprehension_Group( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBinaryOrComprehensionAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryOrComprehension_GreaterThanSignGreaterThanSignKeyword_2( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier()) { return null; } return eObjectConsumer; } } // "<<" protected class BinaryOrComprehension_LessThanSignLessThanSignKeyword_0 extends KeywordToken { public BinaryOrComprehension_LessThanSignLessThanSignKeyword_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBinaryOrComprehensionAccess() .getLessThanSignLessThanSignKeyword_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // {ErlBinary} | elements+=BinaryItem ("," elements+=BinaryItem)* // ({BinaryComprehension.root=current} "||" // generators+=LCExpr ("," generators+=LCExpr)*)? protected class BinaryOrComprehension_Alternatives_1 extends AlternativesToken { public BinaryOrComprehension_Alternatives_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getBinaryOrComprehensionAccess() .getAlternatives_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryOrComprehension_ErlBinaryAction_1_0( lastRuleCallOrigin, this, 0, inst); case 1: return new BinaryOrComprehension_Group_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // {ErlBinary} protected class BinaryOrComprehension_ErlBinaryAction_1_0 extends ActionToken { public BinaryOrComprehension_ErlBinaryAction_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getBinaryOrComprehensionAccess() .getErlBinaryAction_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryOrComprehension_LessThanSignLessThanSignKeyword_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess().getErlBinaryAction_1_0() .getType().getClassifier()) { return null; } if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // elements+=BinaryItem ("," elements+=BinaryItem)* // ({BinaryComprehension.root=current} "||" generators+=LCExpr ("," // generators+=LCExpr)*)? protected class BinaryOrComprehension_Group_1_1 extends GroupToken { public BinaryOrComprehension_Group_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBinaryOrComprehensionAccess() .getGroup_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryOrComprehension_Group_1_1_2( lastRuleCallOrigin, this, 0, inst); case 1: return new BinaryOrComprehension_Group_1_1_1( lastRuleCallOrigin, this, 1, inst); case 2: return new BinaryOrComprehension_ElementsAssignment_1_1_0( lastRuleCallOrigin, this, 2, inst); default: return null; } } } // elements+=BinaryItem protected class BinaryOrComprehension_ElementsAssignment_1_1_0 extends AssignmentToken { public BinaryOrComprehension_ElementsAssignment_1_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBinaryOrComprehensionAccess() .getElementsAssignment_1_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryItem_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType().getClassifier()) { return null; } if ((value = eObjectConsumer.getConsumable("elements", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("elements"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getBinaryItemRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBinaryOrComprehensionAccess() .getElementsBinaryItemParserRuleCall_1_1_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new BinaryOrComprehension_LessThanSignLessThanSignKeyword_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," elements+=BinaryItem)* protected class BinaryOrComprehension_Group_1_1_1 extends GroupToken { public BinaryOrComprehension_Group_1_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBinaryOrComprehensionAccess() .getGroup_1_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryOrComprehension_ElementsAssignment_1_1_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType().getClassifier()) { return null; } return eObjectConsumer; } } // "," protected class BinaryOrComprehension_CommaKeyword_1_1_1_0 extends KeywordToken { public BinaryOrComprehension_CommaKeyword_1_1_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBinaryOrComprehensionAccess() .getCommaKeyword_1_1_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryOrComprehension_Group_1_1_1( lastRuleCallOrigin, this, 0, inst); case 1: return new BinaryOrComprehension_ElementsAssignment_1_1_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // elements+=BinaryItem protected class BinaryOrComprehension_ElementsAssignment_1_1_1_1 extends AssignmentToken { public BinaryOrComprehension_ElementsAssignment_1_1_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBinaryOrComprehensionAccess() .getElementsAssignment_1_1_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryItem_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("elements", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("elements"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getBinaryItemRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBinaryOrComprehensionAccess() .getElementsBinaryItemParserRuleCall_1_1_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new BinaryOrComprehension_CommaKeyword_1_1_1_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ({BinaryComprehension.root=current} "||" generators+=LCExpr ("," // generators+=LCExpr)*)? protected class BinaryOrComprehension_Group_1_1_2 extends GroupToken { public BinaryOrComprehension_Group_1_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBinaryOrComprehensionAccess() .getGroup_1_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryOrComprehension_Group_1_1_2_3( lastRuleCallOrigin, this, 0, inst); case 1: return new BinaryOrComprehension_GeneratorsAssignment_1_1_2_2( lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0().getType() .getClassifier()) { return null; } return eObjectConsumer; } } // {BinaryComprehension.root=current} protected class BinaryOrComprehension_BinaryComprehensionRootAction_1_1_2_0 extends ActionToken { public BinaryOrComprehension_BinaryComprehensionRootAction_1_1_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryOrComprehension_Group_1_1_1( lastRuleCallOrigin, this, 0, inst); case 1: return new BinaryOrComprehension_ElementsAssignment_1_1_0( lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { final Object val = eObjectConsumer.getConsumable("root", false); if (val == null) { return null; } if (!eObjectConsumer.isConsumedWithLastConsumtion("root")) { return null; } return createEObjectConsumer((EObject) val); } } // "||" protected class BinaryOrComprehension_VerticalLineVerticalLineKeyword_1_1_2_1 extends KeywordToken { public BinaryOrComprehension_VerticalLineVerticalLineKeyword_1_1_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBinaryOrComprehensionAccess() .getVerticalLineVerticalLineKeyword_1_1_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryOrComprehension_BinaryComprehensionRootAction_1_1_2_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // generators+=LCExpr protected class BinaryOrComprehension_GeneratorsAssignment_1_1_2_2 extends AssignmentToken { public BinaryOrComprehension_GeneratorsAssignment_1_1_2_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBinaryOrComprehensionAccess() .getGeneratorsAssignment_1_1_2_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LCExpr_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("generators", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("generators"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getLCExprRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBinaryOrComprehensionAccess() .getGeneratorsLCExprParserRuleCall_1_1_2_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new BinaryOrComprehension_VerticalLineVerticalLineKeyword_1_1_2_1( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," generators+=LCExpr)* protected class BinaryOrComprehension_Group_1_1_2_3 extends GroupToken { public BinaryOrComprehension_Group_1_1_2_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBinaryOrComprehensionAccess() .getGroup_1_1_2_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryOrComprehension_GeneratorsAssignment_1_1_2_3_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class BinaryOrComprehension_CommaKeyword_1_1_2_3_0 extends KeywordToken { public BinaryOrComprehension_CommaKeyword_1_1_2_3_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBinaryOrComprehensionAccess() .getCommaKeyword_1_1_2_3_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryOrComprehension_Group_1_1_2_3( lastRuleCallOrigin, this, 0, inst); case 1: return new BinaryOrComprehension_GeneratorsAssignment_1_1_2_2( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // generators+=LCExpr protected class BinaryOrComprehension_GeneratorsAssignment_1_1_2_3_1 extends AssignmentToken { public BinaryOrComprehension_GeneratorsAssignment_1_1_2_3_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBinaryOrComprehensionAccess() .getGeneratorsAssignment_1_1_2_3_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LCExpr_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("generators", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("generators"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getLCExprRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBinaryOrComprehensionAccess() .getGeneratorsLCExprParserRuleCall_1_1_2_3_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new BinaryOrComprehension_CommaKeyword_1_1_2_3_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ">>" protected class BinaryOrComprehension_GreaterThanSignGreaterThanSignKeyword_2 extends KeywordToken { public BinaryOrComprehension_GreaterThanSignGreaterThanSignKeyword_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBinaryOrComprehensionAccess() .getGreaterThanSignGreaterThanSignKeyword_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryOrComprehension_Alternatives_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule BinaryOrComprehension ****************/ /************ * begin Rule BinaryItem **************** * * BinaryItem: expr=UnaryExprMax (":" size=ExprMax)? ("/" types+=BitType * ("-" type+=BitType)*)?; * **/ // expr=UnaryExprMax (":" size=ExprMax)? ("/" types+=BitType ("-" // type+=BitType)*)? protected class BinaryItem_Group extends GroupToken { public BinaryItem_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBinaryItemAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryItem_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new BinaryItem_Group_1(lastRuleCallOrigin, this, 1, inst); case 2: return new BinaryItem_ExprAssignment_0(lastRuleCallOrigin, this, 2, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getBinaryItemRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // expr=UnaryExprMax protected class BinaryItem_ExprAssignment_0 extends AssignmentToken { public BinaryItem_ExprAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBinaryItemAccess().getExprAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new UnaryExprMax_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("expr", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("expr"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getUnaryExprMaxRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBinaryItemAccess() .getExprUnaryExprMaxParserRuleCall_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // (=> ":" size=ExprMax)? protected class BinaryItem_Group_1 extends GroupToken { public BinaryItem_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBinaryItemAccess().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryItem_SizeAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // => ":" protected class BinaryItem_ColonKeyword_1_0 extends KeywordToken { public BinaryItem_ColonKeyword_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBinaryItemAccess().getColonKeyword_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryItem_ExprAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // size=ExprMax protected class BinaryItem_SizeAssignment_1_1 extends AssignmentToken { public BinaryItem_SizeAssignment_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBinaryItemAccess().getSizeAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExprMax_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("size", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("size"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExprMaxRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBinaryItemAccess() .getSizeExprMaxParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new BinaryItem_ColonKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // (=> "/" types+=BitType ("-" type+=BitType)*)? protected class BinaryItem_Group_2 extends GroupToken { public BinaryItem_Group_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBinaryItemAccess().getGroup_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryItem_Group_2_2(lastRuleCallOrigin, this, 0, inst); case 1: return new BinaryItem_TypesAssignment_2_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // => "/" protected class BinaryItem_SolidusKeyword_2_0 extends KeywordToken { public BinaryItem_SolidusKeyword_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBinaryItemAccess().getSolidusKeyword_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryItem_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new BinaryItem_ExprAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // types+=BitType protected class BinaryItem_TypesAssignment_2_1 extends AssignmentToken { public BinaryItem_TypesAssignment_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBinaryItemAccess().getTypesAssignment_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BitType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("types", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("types"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getBitTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBinaryItemAccess() .getTypesBitTypeParserRuleCall_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new BinaryItem_SolidusKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("-" type+=BitType)* protected class BinaryItem_Group_2_2 extends GroupToken { public BinaryItem_Group_2_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBinaryItemAccess().getGroup_2_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryItem_TypeAssignment_2_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "-" protected class BinaryItem_HyphenMinusKeyword_2_2_0 extends KeywordToken { public BinaryItem_HyphenMinusKeyword_2_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBinaryItemAccess() .getHyphenMinusKeyword_2_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryItem_Group_2_2(lastRuleCallOrigin, this, 0, inst); case 1: return new BinaryItem_TypesAssignment_2_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // type+=BitType protected class BinaryItem_TypeAssignment_2_2_1 extends AssignmentToken { public BinaryItem_TypeAssignment_2_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBinaryItemAccess() .getTypeAssignment_2_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BitType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("type", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("type"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getBitTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBinaryItemAccess() .getTypeBitTypeParserRuleCall_2_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new BinaryItem_HyphenMinusKeyword_2_2_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule BinaryItem ****************/ /************ * begin Rule BitType **************** * * BitType: typeName=[AtomRefTarget|NAMEMACRO] (":" size=IntVarMacro)?; * **/ // typeName=[AtomRefTarget|NAMEMACRO] (":" size=IntVarMacro)? protected class BitType_Group extends GroupToken { public BitType_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBitTypeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BitType_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new BitType_TypeNameAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getBitTypeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // typeName=[AtomRefTarget|NAMEMACRO] protected class BitType_TypeNameAssignment_0 extends AssignmentToken { public BitType_TypeNameAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBitTypeAccess().getTypeNameAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("typeName", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("typeName"); if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getBitTypeAccess() .getTypeNameAtomRefTargetCrossReference_0_0().getType() .getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getBitTypeAccess() .getTypeNameAtomRefTargetCrossReference_0_0(); return obj; } } return null; } } // (":" size=IntVarMacro)? protected class BitType_Group_1 extends GroupToken { public BitType_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBitTypeAccess().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BitType_SizeAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ":" protected class BitType_ColonKeyword_1_0 extends KeywordToken { public BitType_ColonKeyword_1_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBitTypeAccess().getColonKeyword_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BitType_TypeNameAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // size=IntVarMacro protected class BitType_SizeAssignment_1_1 extends AssignmentToken { public BitType_SizeAssignment_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBitTypeAccess().getSizeAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IntVarMacro_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("size", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("size"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getIntVarMacroRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBitTypeAccess() .getSizeIntVarMacroParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new BitType_ColonKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule BitType ****************/ /************ * begin Rule UnaryExprMax **************** * * UnaryExprMax returns Expression: {UnaryExpr} op=PREFIXOP operand=ExprMax * | ExprMax; * **/ // {UnaryExpr} op=PREFIXOP operand=ExprMax | ExprMax protected class UnaryExprMax_Alternatives extends AlternativesToken { public UnaryExprMax_Alternatives( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getUnaryExprMaxAccess().getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new UnaryExprMax_Group_0(lastRuleCallOrigin, this, 0, inst); case 1: return new UnaryExprMax_ExprMaxParserRuleCall_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getExpr400Access() .getAddOpOpLeftAction_1_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getAtomAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr300Access().getBinOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionAccess() .getBinaryComprehensionRootAction_1_1_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExprMaxAccess().getBlockExprAction_2_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getCaseExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpressionAccess().getCatchExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getCondExprAccess().getCondExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getBinaryOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionNoNumberAccess() .getErlCharAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getLiteralExpressionAccess() .getErlFloatAction_2_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionRule().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTupleRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getStringLiteralRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr700Access().getFunCallTargetAction_1_0_1() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getInlineFunRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getFunRefRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getIfExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getLetExprAccess().getLetExprAction_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getListOrComprehensionAccess() .getListComprehensionRootAction_1_1_2_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr100Access() .getMatchExprOpLeftAction_1_0_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getExpr500Access().getMultOpOpLeftAction_1_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getQueryExprAccess().getQueryExprAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getReceiveExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getRecordExprRule().getType().getClassifier() && getEObject().eClass() != grammarAccess .getExpr800Access() .getRemoteTargetModuleAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTryExprRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getUnaryExprAccess().getUnaryExprAction_0_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // {UnaryExpr} op=PREFIXOP operand=ExprMax protected class UnaryExprMax_Group_0 extends GroupToken { public UnaryExprMax_Group_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getUnaryExprMaxAccess().getGroup_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new UnaryExprMax_OperandAssignment_0_2( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getUnaryExprMaxAccess() .getUnaryExprAction_0_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {UnaryExpr} protected class UnaryExprMax_UnaryExprAction_0_0 extends ActionToken { public UnaryExprMax_UnaryExprAction_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getUnaryExprMaxAccess() .getUnaryExprAction_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // op=PREFIXOP protected class UnaryExprMax_OpAssignment_0_1 extends AssignmentToken { public UnaryExprMax_OpAssignment_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getUnaryExprMaxAccess().getOpAssignment_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new UnaryExprMax_UnaryExprAction_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("op", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getUnaryExprMaxAccess() .getOpPREFIXOPParserRuleCall_0_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getUnaryExprMaxAccess() .getOpPREFIXOPParserRuleCall_0_1_0(); return obj; } return null; } } // operand=ExprMax protected class UnaryExprMax_OperandAssignment_0_2 extends AssignmentToken { public UnaryExprMax_OperandAssignment_0_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getUnaryExprMaxAccess() .getOperandAssignment_0_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExprMax_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("operand", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("operand"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExprMaxRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getUnaryExprMaxAccess() .getOperandExprMaxParserRuleCall_0_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new UnaryExprMax_OpAssignment_0_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ExprMax protected class UnaryExprMax_ExprMaxParserRuleCall_1 extends RuleCallToken { public UnaryExprMax_ExprMaxParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getUnaryExprMaxAccess() .getExprMaxParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ExprMax_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(ExprMax_Alternatives.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } /************ end Rule UnaryExprMax ****************/ /************ * begin Rule LCExpr **************** * * LCExpr: o1=Expression (op=("<-" | "<=") o2=Expression)?; * **/ // o1=Expression (op=("<-" | "<=") o2=Expression)? protected class LCExpr_Group extends GroupToken { public LCExpr_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getLCExprAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LCExpr_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new LCExpr_O1Assignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getLCExprRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // o1=Expression protected class LCExpr_O1Assignment_0 extends AssignmentToken { public LCExpr_O1Assignment_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getLCExprAccess().getO1Assignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("o1", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("o1"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getLCExprAccess() .getO1ExpressionParserRuleCall_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // (op=("<-" | "<=") o2=Expression)? protected class LCExpr_Group_1 extends GroupToken { public LCExpr_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getLCExprAccess().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LCExpr_O2Assignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // op=("<-" | "<=") protected class LCExpr_OpAssignment_1_0 extends AssignmentToken { public LCExpr_OpAssignment_1_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getLCExprAccess().getOpAssignment_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new LCExpr_O1Assignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("op", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op"); if (keywordSerializer .isValid(obj.getEObject(), grammarAccess.getLCExprAccess() .getOpLessThanSignHyphenMinusKeyword_1_0_0_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getLCExprAccess() .getOpLessThanSignHyphenMinusKeyword_1_0_0_0(); return obj; } if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getLCExprAccess() .getOpLessThanSignEqualsSignKeyword_1_0_0_1(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getLCExprAccess() .getOpLessThanSignEqualsSignKeyword_1_0_0_1(); return obj; } return null; } } // o2=Expression protected class LCExpr_O2Assignment_1_1 extends AssignmentToken { public LCExpr_O2Assignment_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getLCExprAccess().getO2Assignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Expression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("o2", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("o2"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getExpressionRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getLCExprAccess() .getO2ExpressionParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new LCExpr_OpAssignment_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule LCExpr ****************/ /************ * begin Rule ModuleVarMacro **************** * * // Literal combinations ModuleVarMacro returns Expression: ModuleRef | * VariableLiteral | MacroLiteral; * **/ // ModuleRef | VariableLiteral | MacroLiteral protected class ModuleVarMacro_Alternatives extends AlternativesToken { public ModuleVarMacro_Alternatives( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getModuleVarMacroAccess().getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ModuleVarMacro_ModuleRefParserRuleCall_0( lastRuleCallOrigin, this, 0, inst); case 1: return new ModuleVarMacro_VariableLiteralParserRuleCall_1( lastRuleCallOrigin, this, 1, inst); case 2: return new ModuleVarMacro_MacroLiteralParserRuleCall_2( lastRuleCallOrigin, this, 2, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getModuleRefAccess() .getAtomRefAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // ModuleRef protected class ModuleVarMacro_ModuleRefParserRuleCall_0 extends RuleCallToken { public ModuleVarMacro_ModuleRefParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getModuleVarMacroAccess() .getModuleRefParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ModuleRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getModuleRefAccess() .getAtomRefAction_0().getType().getClassifier()) { return null; } if (checkForRecursion(ModuleRef_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // VariableLiteral protected class ModuleVarMacro_VariableLiteralParserRuleCall_1 extends RuleCallToken { public ModuleVarMacro_VariableLiteralParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getModuleVarMacroAccess() .getVariableLiteralParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new VariableLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0().getType() .getClassifier()) { return null; } if (checkForRecursion(VariableLiteral_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // MacroLiteral protected class ModuleVarMacro_MacroLiteralParserRuleCall_2 extends RuleCallToken { public ModuleVarMacro_MacroLiteralParserRuleCall_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getModuleVarMacroAccess() .getMacroLiteralParserRuleCall_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getMacroLiteralAccess() .getMacroAction_0().getType().getClassifier()) { return null; } if (checkForRecursion(MacroLiteral_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } /************ end Rule ModuleVarMacro ****************/ /************ * begin Rule FunctionVarMacro **************** * * FunctionVarMacro returns Expression: FunctionRef | VariableLiteral | * MacroLiteral; * **/ // FunctionRef | VariableLiteral | MacroLiteral protected class FunctionVarMacro_Alternatives extends AlternativesToken { public FunctionVarMacro_Alternatives( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getFunctionVarMacroAccess().getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunctionVarMacro_FunctionRefParserRuleCall_0( lastRuleCallOrigin, this, 0, inst); case 1: return new FunctionVarMacro_VariableLiteralParserRuleCall_1( lastRuleCallOrigin, this, 1, inst); case 2: return new FunctionVarMacro_MacroLiteralParserRuleCall_2( lastRuleCallOrigin, this, 2, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getFunctionRefAccess() .getAtomRefAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // FunctionRef protected class FunctionVarMacro_FunctionRefParserRuleCall_0 extends RuleCallToken { public FunctionVarMacro_FunctionRefParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getFunctionVarMacroAccess() .getFunctionRefParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunctionRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getFunctionRefAccess() .getAtomRefAction_0().getType().getClassifier()) { return null; } if (checkForRecursion(FunctionRef_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // VariableLiteral protected class FunctionVarMacro_VariableLiteralParserRuleCall_1 extends RuleCallToken { public FunctionVarMacro_VariableLiteralParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getFunctionVarMacroAccess() .getVariableLiteralParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new VariableLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0().getType() .getClassifier()) { return null; } if (checkForRecursion(VariableLiteral_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // MacroLiteral protected class FunctionVarMacro_MacroLiteralParserRuleCall_2 extends RuleCallToken { public FunctionVarMacro_MacroLiteralParserRuleCall_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getFunctionVarMacroAccess() .getMacroLiteralParserRuleCall_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getMacroLiteralAccess() .getMacroAction_0().getType().getClassifier()) { return null; } if (checkForRecursion(MacroLiteral_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } /************ end Rule FunctionVarMacro ****************/ /************ * begin Rule RecordVarMacro **************** * * RecordVarMacro returns Expression: RecordRef | VariableLiteral | * MacroLiteral; * **/ // RecordRef | VariableLiteral | MacroLiteral protected class RecordVarMacro_Alternatives extends AlternativesToken { public RecordVarMacro_Alternatives( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getRecordVarMacroAccess().getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordVarMacro_RecordRefParserRuleCall_0( lastRuleCallOrigin, this, 0, inst); case 1: return new RecordVarMacro_VariableLiteralParserRuleCall_1( lastRuleCallOrigin, this, 1, inst); case 2: return new RecordVarMacro_MacroLiteralParserRuleCall_2( lastRuleCallOrigin, this, 2, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getRecordRefAccess() .getAtomRefAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // RecordRef protected class RecordVarMacro_RecordRefParserRuleCall_0 extends RuleCallToken { public RecordVarMacro_RecordRefParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getRecordVarMacroAccess() .getRecordRefParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getRecordRefAccess() .getAtomRefAction_0().getType().getClassifier()) { return null; } if (checkForRecursion(RecordRef_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // VariableLiteral protected class RecordVarMacro_VariableLiteralParserRuleCall_1 extends RuleCallToken { public RecordVarMacro_VariableLiteralParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getRecordVarMacroAccess() .getVariableLiteralParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new VariableLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0().getType() .getClassifier()) { return null; } if (checkForRecursion(VariableLiteral_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // MacroLiteral protected class RecordVarMacro_MacroLiteralParserRuleCall_2 extends RuleCallToken { public RecordVarMacro_MacroLiteralParserRuleCall_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getRecordVarMacroAccess() .getMacroLiteralParserRuleCall_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getMacroLiteralAccess() .getMacroAction_0().getType().getClassifier()) { return null; } if (checkForRecursion(MacroLiteral_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } /************ end Rule RecordVarMacro ****************/ /************ * begin Rule RecordFieldVarMacro **************** * * RecordFieldVarMacro returns Expression: RecordFieldRef | VariableLiteral * | MacroLiteral; * **/ // RecordFieldRef | VariableLiteral | MacroLiteral protected class RecordFieldVarMacro_Alternatives extends AlternativesToken { public RecordFieldVarMacro_Alternatives( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getRecordFieldVarMacroAccess() .getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldVarMacro_RecordFieldRefParserRuleCall_0( lastRuleCallOrigin, this, 0, inst); case 1: return new RecordFieldVarMacro_VariableLiteralParserRuleCall_1( lastRuleCallOrigin, this, 1, inst); case 2: return new RecordFieldVarMacro_MacroLiteralParserRuleCall_2( lastRuleCallOrigin, this, 2, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getRecordFieldRefAccess().getAtomRefAction_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // RecordFieldRef protected class RecordFieldVarMacro_RecordFieldRefParserRuleCall_0 extends RuleCallToken { public RecordFieldVarMacro_RecordFieldRefParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getRecordFieldVarMacroAccess() .getRecordFieldRefParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordFieldRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getRecordFieldRefAccess().getAtomRefAction_0().getType() .getClassifier()) { return null; } if (checkForRecursion(RecordFieldRef_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // VariableLiteral protected class RecordFieldVarMacro_VariableLiteralParserRuleCall_1 extends RuleCallToken { public RecordFieldVarMacro_VariableLiteralParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getRecordFieldVarMacroAccess() .getVariableLiteralParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new VariableLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0().getType() .getClassifier()) { return null; } if (checkForRecursion(VariableLiteral_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // MacroLiteral protected class RecordFieldVarMacro_MacroLiteralParserRuleCall_2 extends RuleCallToken { public RecordFieldVarMacro_MacroLiteralParserRuleCall_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getRecordFieldVarMacroAccess() .getMacroLiteralParserRuleCall_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getMacroLiteralAccess() .getMacroAction_0().getType().getClassifier()) { return null; } if (checkForRecursion(MacroLiteral_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } /************ end Rule RecordFieldVarMacro ****************/ /************ * begin Rule TypeVarMacro **************** * * TypeVarMacro returns Expression: TypeRef | VariableLiteral | * MacroLiteral; * **/ // TypeRef | VariableLiteral | MacroLiteral protected class TypeVarMacro_Alternatives extends AlternativesToken { public TypeVarMacro_Alternatives( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getTypeVarMacroAccess().getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeVarMacro_TypeRefParserRuleCall_0( lastRuleCallOrigin, this, 0, inst); case 1: return new TypeVarMacro_VariableLiteralParserRuleCall_1( lastRuleCallOrigin, this, 1, inst); case 2: return new TypeVarMacro_MacroLiteralParserRuleCall_2( lastRuleCallOrigin, this, 2, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTypeRefAccess() .getAtomRefAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // TypeRef protected class TypeVarMacro_TypeRefParserRuleCall_0 extends RuleCallToken { public TypeVarMacro_TypeRefParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getTypeVarMacroAccess() .getTypeRefParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTypeRefAccess() .getAtomRefAction_0().getType().getClassifier()) { return null; } if (checkForRecursion(TypeRef_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // VariableLiteral protected class TypeVarMacro_VariableLiteralParserRuleCall_1 extends RuleCallToken { public TypeVarMacro_VariableLiteralParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getTypeVarMacroAccess() .getVariableLiteralParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new VariableLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0().getType() .getClassifier()) { return null; } if (checkForRecursion(VariableLiteral_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // MacroLiteral protected class TypeVarMacro_MacroLiteralParserRuleCall_2 extends RuleCallToken { public TypeVarMacro_MacroLiteralParserRuleCall_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getTypeVarMacroAccess() .getMacroLiteralParserRuleCall_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getMacroLiteralAccess() .getMacroAction_0().getType().getClassifier()) { return null; } if (checkForRecursion(MacroLiteral_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } /************ end Rule TypeVarMacro ****************/ /************ * begin Rule IntVarMacro **************** * * IntVarMacro returns Expression: IntegerLiteral | VariableLiteral | * MacroLiteral; * **/ // IntegerLiteral | VariableLiteral | MacroLiteral protected class IntVarMacro_Alternatives extends AlternativesToken { public IntVarMacro_Alternatives(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getIntVarMacroAccess().getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IntVarMacro_IntegerLiteralParserRuleCall_0( lastRuleCallOrigin, this, 0, inst); case 1: return new IntVarMacro_VariableLiteralParserRuleCall_1( lastRuleCallOrigin, this, 1, inst); case 2: return new IntVarMacro_MacroLiteralParserRuleCall_2( lastRuleCallOrigin, this, 2, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getMacroLiteralAccess().getMacroAction_0() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // IntegerLiteral protected class IntVarMacro_IntegerLiteralParserRuleCall_0 extends RuleCallToken { public IntVarMacro_IntegerLiteralParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getIntVarMacroAccess() .getIntegerLiteralParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IntegerLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getIntegerLiteralAccess().getErlIntegerAction_0() .getType().getClassifier()) { return null; } if (checkForRecursion(IntegerLiteral_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // VariableLiteral protected class IntVarMacro_VariableLiteralParserRuleCall_1 extends RuleCallToken { public IntVarMacro_VariableLiteralParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getIntVarMacroAccess() .getVariableLiteralParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new VariableLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess .getVariableLiteralAccess().getVariableAction_0().getType() .getClassifier()) { return null; } if (checkForRecursion(VariableLiteral_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // MacroLiteral protected class IntVarMacro_MacroLiteralParserRuleCall_2 extends RuleCallToken { public IntVarMacro_MacroLiteralParserRuleCall_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getIntVarMacroAccess() .getMacroLiteralParserRuleCall_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new MacroLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getMacroLiteralAccess() .getMacroAction_0().getType().getClassifier()) { return null; } if (checkForRecursion(MacroLiteral_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } /************ end Rule IntVarMacro ****************/ /************ * begin Rule SpecFun **************** * * // Type language SpecFun returns FunRef: (module=ModuleVarMacro ":")? * function=FunctionVarMacro ("/" arity=IntVarMacro "::")?; * **/ // (module=ModuleVarMacro ":")? function=FunctionVarMacro ("/" // arity=IntVarMacro "::")? protected class SpecFun_Group extends GroupToken { public SpecFun_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getSpecFunAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecFun_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new SpecFun_FunctionAssignment_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getSpecFunRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // (module=ModuleVarMacro ":")? protected class SpecFun_Group_0 extends GroupToken { public SpecFun_Group_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getSpecFunAccess().getGroup_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecFun_ColonKeyword_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // module=ModuleVarMacro protected class SpecFun_ModuleAssignment_0_0 extends AssignmentToken { public SpecFun_ModuleAssignment_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSpecFunAccess().getModuleAssignment_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ModuleVarMacro_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("module", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("module"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getModuleVarMacroRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getSpecFunAccess() .getModuleModuleVarMacroParserRuleCall_0_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // ":" protected class SpecFun_ColonKeyword_0_1 extends KeywordToken { public SpecFun_ColonKeyword_0_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSpecFunAccess().getColonKeyword_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecFun_ModuleAssignment_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // function=FunctionVarMacro protected class SpecFun_FunctionAssignment_1 extends AssignmentToken { public SpecFun_FunctionAssignment_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSpecFunAccess().getFunctionAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunctionVarMacro_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("function", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("function"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFunctionVarMacroRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getSpecFunAccess() .getFunctionFunctionVarMacroParserRuleCall_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new SpecFun_Group_0(lastRuleCallOrigin, next, actIndex, consumed); default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index - 1, consumed); } } } // ("/" arity=IntVarMacro "::")? protected class SpecFun_Group_2 extends GroupToken { public SpecFun_Group_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getSpecFunAccess().getGroup_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecFun_ColonColonKeyword_2_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "/" protected class SpecFun_SolidusKeyword_2_0 extends KeywordToken { public SpecFun_SolidusKeyword_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSpecFunAccess().getSolidusKeyword_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecFun_FunctionAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // arity=IntVarMacro protected class SpecFun_ArityAssignment_2_1 extends AssignmentToken { public SpecFun_ArityAssignment_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getSpecFunAccess().getArityAssignment_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new IntVarMacro_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("arity", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("arity"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getIntVarMacroRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getSpecFunAccess() .getArityIntVarMacroParserRuleCall_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new SpecFun_SolidusKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "::" protected class SpecFun_ColonColonKeyword_2_2 extends KeywordToken { public SpecFun_ColonColonKeyword_2_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getSpecFunAccess().getColonColonKeyword_2_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new SpecFun_ArityAssignment_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule SpecFun ****************/ /************ * begin Rule TypeSig **************** * * TypeSig: decl=FunType ("when" guards=TypeGuards)?; * **/ // decl=FunType ("when" guards=TypeGuards)? protected class TypeSig_Group extends GroupToken { public TypeSig_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeSigAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeSig_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new TypeSig_DeclAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTypeSigRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // decl=FunType protected class TypeSig_DeclAssignment_0 extends AssignmentToken { public TypeSig_DeclAssignment_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeSigAccess().getDeclAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("decl", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("decl"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFunTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeSigAccess() .getDeclFunTypeParserRuleCall_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // ("when" guards=TypeGuards)? protected class TypeSig_Group_1 extends GroupToken { public TypeSig_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeSigAccess().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeSig_GuardsAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "when" protected class TypeSig_WhenKeyword_1_0 extends KeywordToken { public TypeSig_WhenKeyword_1_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeSigAccess().getWhenKeyword_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeSig_DeclAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // guards=TypeGuards protected class TypeSig_GuardsAssignment_1_1 extends AssignmentToken { public TypeSig_GuardsAssignment_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeSigAccess().getGuardsAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeGuards_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("guards", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("guards"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTypeGuardsRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeSigAccess() .getGuardsTypeGuardsParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TypeSig_WhenKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule TypeSig ****************/ /************ * begin Rule FunType **************** * * FunType: "(" (args+=TopType ("," args+=TopType)*)? ")" "->" * return=TopType; * **/ // "(" (args+=TopType ("," args+=TopType)*)? ")" "->" return=TopType protected class FunType_Group extends GroupToken { public FunType_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getFunTypeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunType_ReturnAssignment_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getFunTypeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // "(" protected class FunType_LeftParenthesisKeyword_0 extends KeywordToken { public FunType_LeftParenthesisKeyword_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFunTypeAccess() .getLeftParenthesisKeyword_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // (args+=TopType ("," args+=TopType)*)? protected class FunType_Group_1 extends GroupToken { public FunType_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getFunTypeAccess().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunType_Group_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new FunType_ArgsAssignment_1_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // args+=TopType protected class FunType_ArgsAssignment_1_0 extends AssignmentToken { public FunType_ArgsAssignment_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFunTypeAccess().getArgsAssignment_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("args", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("args"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getFunTypeAccess() .getArgsTopTypeParserRuleCall_1_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new FunType_LeftParenthesisKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," args+=TopType)* protected class FunType_Group_1_1 extends GroupToken { public FunType_Group_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getFunTypeAccess().getGroup_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunType_ArgsAssignment_1_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class FunType_CommaKeyword_1_1_0 extends KeywordToken { public FunType_CommaKeyword_1_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFunTypeAccess().getCommaKeyword_1_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunType_Group_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new FunType_ArgsAssignment_1_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // args+=TopType protected class FunType_ArgsAssignment_1_1_1 extends AssignmentToken { public FunType_ArgsAssignment_1_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFunTypeAccess().getArgsAssignment_1_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("args", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("args"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getFunTypeAccess() .getArgsTopTypeParserRuleCall_1_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new FunType_CommaKeyword_1_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class FunType_RightParenthesisKeyword_2 extends KeywordToken { public FunType_RightParenthesisKeyword_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFunTypeAccess() .getRightParenthesisKeyword_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunType_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new FunType_LeftParenthesisKeyword_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "->" protected class FunType_HyphenMinusGreaterThanSignKeyword_3 extends KeywordToken { public FunType_HyphenMinusGreaterThanSignKeyword_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFunTypeAccess() .getHyphenMinusGreaterThanSignKeyword_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunType_RightParenthesisKeyword_2( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // return=TopType protected class FunType_ReturnAssignment_4 extends AssignmentToken { public FunType_ReturnAssignment_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFunTypeAccess().getReturnAssignment_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("return", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("return"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getFunTypeAccess() .getReturnTopTypeParserRuleCall_4_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new FunType_HyphenMinusGreaterThanSignKeyword_3( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule FunType ****************/ /************ * begin Rule TypeGuards **************** * * TypeGuards: items+=TypeGuard ("," items+=TypeGuard)*; * **/ // items+=TypeGuard ("," items+=TypeGuard)* protected class TypeGuards_Group extends GroupToken { public TypeGuards_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeGuardsAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeGuards_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new TypeGuards_ItemsAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTypeGuardsRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // items+=TypeGuard protected class TypeGuards_ItemsAssignment_0 extends AssignmentToken { public TypeGuards_ItemsAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeGuardsAccess().getItemsAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeGuard_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("items", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("items"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTypeGuardRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeGuardsAccess() .getItemsTypeGuardParserRuleCall_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // ("," items+=TypeGuard)* protected class TypeGuards_Group_1 extends GroupToken { public TypeGuards_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeGuardsAccess().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeGuards_ItemsAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class TypeGuards_CommaKeyword_1_0 extends KeywordToken { public TypeGuards_CommaKeyword_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeGuardsAccess().getCommaKeyword_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeGuards_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new TypeGuards_ItemsAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // items+=TypeGuard protected class TypeGuards_ItemsAssignment_1_1 extends AssignmentToken { public TypeGuards_ItemsAssignment_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeGuardsAccess().getItemsAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeGuard_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("items", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("items"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTypeGuardRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeGuardsAccess() .getItemsTypeGuardParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TypeGuards_CommaKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule TypeGuards ****************/ /************ * begin Rule TypeGuard **************** * * TypeGuard: typeName=TypeRef "(" types+=TopType ("," types+=TopType)* ")" * | typeName=VariableLiteral "::" type=TopType; * **/ // typeName=TypeRef "(" types+=TopType ("," types+=TopType)* ")" | // typeName=VariableLiteral "::" type=TopType protected class TypeGuard_Alternatives extends AlternativesToken { public TypeGuard_Alternatives(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getTypeGuardAccess().getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeGuard_Group_0(lastRuleCallOrigin, this, 0, inst); case 1: return new TypeGuard_Group_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTypeGuardRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // typeName=TypeRef "(" types+=TopType ("," types+=TopType)* ")" protected class TypeGuard_Group_0 extends GroupToken { public TypeGuard_Group_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeGuardAccess().getGroup_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeGuard_RightParenthesisKeyword_0_4( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // typeName=TypeRef protected class TypeGuard_TypeNameAssignment_0_0 extends AssignmentToken { public TypeGuard_TypeNameAssignment_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeGuardAccess() .getTypeNameAssignment_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("typeName", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("typeName"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTypeRefRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeGuardAccess() .getTypeNameTypeRefParserRuleCall_0_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // "(" protected class TypeGuard_LeftParenthesisKeyword_0_1 extends KeywordToken { public TypeGuard_LeftParenthesisKeyword_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeGuardAccess() .getLeftParenthesisKeyword_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeGuard_TypeNameAssignment_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // types+=TopType protected class TypeGuard_TypesAssignment_0_2 extends AssignmentToken { public TypeGuard_TypesAssignment_0_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeGuardAccess().getTypesAssignment_0_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("types", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("types"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeGuardAccess() .getTypesTopTypeParserRuleCall_0_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TypeGuard_LeftParenthesisKeyword_0_1( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," types+=TopType)* protected class TypeGuard_Group_0_3 extends GroupToken { public TypeGuard_Group_0_3(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeGuardAccess().getGroup_0_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeGuard_TypesAssignment_0_3_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class TypeGuard_CommaKeyword_0_3_0 extends KeywordToken { public TypeGuard_CommaKeyword_0_3_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeGuardAccess().getCommaKeyword_0_3_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeGuard_Group_0_3(lastRuleCallOrigin, this, 0, inst); case 1: return new TypeGuard_TypesAssignment_0_2(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // types+=TopType protected class TypeGuard_TypesAssignment_0_3_1 extends AssignmentToken { public TypeGuard_TypesAssignment_0_3_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeGuardAccess() .getTypesAssignment_0_3_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("types", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("types"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeGuardAccess() .getTypesTopTypeParserRuleCall_0_3_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TypeGuard_CommaKeyword_0_3_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class TypeGuard_RightParenthesisKeyword_0_4 extends KeywordToken { public TypeGuard_RightParenthesisKeyword_0_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeGuardAccess() .getRightParenthesisKeyword_0_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeGuard_Group_0_3(lastRuleCallOrigin, this, 0, inst); case 1: return new TypeGuard_TypesAssignment_0_2(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // typeName=VariableLiteral "::" type=TopType protected class TypeGuard_Group_1 extends GroupToken { public TypeGuard_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeGuardAccess().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeGuard_TypeAssignment_1_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // typeName=VariableLiteral protected class TypeGuard_TypeNameAssignment_1_0 extends AssignmentToken { public TypeGuard_TypeNameAssignment_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeGuardAccess() .getTypeNameAssignment_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new VariableLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("typeName", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("typeName"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getVariableLiteralRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeGuardAccess() .getTypeNameVariableLiteralParserRuleCall_1_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // "::" protected class TypeGuard_ColonColonKeyword_1_1 extends KeywordToken { public TypeGuard_ColonColonKeyword_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeGuardAccess() .getColonColonKeyword_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeGuard_TypeNameAssignment_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // type=TopType protected class TypeGuard_TypeAssignment_1_2 extends AssignmentToken { public TypeGuard_TypeAssignment_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeGuardAccess().getTypeAssignment_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("type", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("type"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeGuardAccess() .getTypeTopTypeParserRuleCall_1_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TypeGuard_ColonColonKeyword_1_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule TypeGuard ****************/ /************ * begin Rule TopType **************** * * TopType: (var=VARIABLE "::")? type=Type100; * **/ // (var=VARIABLE "::")? type=Type100 protected class TopType_Group extends GroupToken { public TopType_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTopTypeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_TypeAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTopTypeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // (var=VARIABLE "::")? protected class TopType_Group_0 extends GroupToken { public TopType_Group_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTopTypeAccess().getGroup_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_ColonColonKeyword_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // var=VARIABLE protected class TopType_VarAssignment_0_0 extends AssignmentToken { public TopType_VarAssignment_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTopTypeAccess().getVarAssignment_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("var", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("var"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getTopTypeAccess().getVarVARIABLETerminalRuleCall_0_0_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getTopTypeAccess() .getVarVARIABLETerminalRuleCall_0_0_0(); return obj; } return null; } } // "::" protected class TopType_ColonColonKeyword_0_1 extends KeywordToken { public TopType_ColonColonKeyword_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTopTypeAccess().getColonColonKeyword_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_VarAssignment_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // type=Type100 protected class TopType_TypeAssignment_1 extends AssignmentToken { public TopType_TypeAssignment_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTopTypeAccess().getTypeAssignment_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type100_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("type", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("type"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getType100Rule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTopTypeAccess() .getTypeType100ParserRuleCall_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new TopType_Group_0(lastRuleCallOrigin, next, actIndex, consumed); default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index - 1, consumed); } } } /************ end Rule TopType ****************/ /************ * begin Rule Type100 **************** * * Type100: Type200 (=> ({TopType.leftOperand=current} op="|") * rightOperand=Type200)*; * **/ // Type200 (=> ({TopType.leftOperand=current} op="|") rightOperand=Type200)* protected class Type100_Group extends GroupToken { public Type100_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getType100Access().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type100_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Type100_Type200ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getBinaryTypeAccess() .getBinaryTypeAction_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getFunTypeAction_8_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getListTypeAction_4_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getRecordTypeAction_6_1().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getRemoteTypeAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTopTypeRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getTupleTypeAction_5_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getType500Access().getUnaryTypeAction_0_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // Type200 protected class Type100_Type200ParserRuleCall_0 extends RuleCallToken { public Type100_Type200ParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getType100Access() .getType200ParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type200_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(Type200_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // (=> ({TopType.leftOperand=current} op="|") rightOperand=Type200)* protected class Type100_Group_1 extends GroupToken { public Type100_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getType100Access().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type100_RightOperandAssignment_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getType100Access() .getTopTypeLeftOperandAction_1_0_0_0().getType() .getClassifier()) { return null; } return eObjectConsumer; } } // => ({TopType.leftOperand=current} op="|") protected class Type100_Group_1_0 extends GroupToken { public Type100_Group_1_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getType100Access().getGroup_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type100_Group_1_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {TopType.leftOperand=current} op="|" protected class Type100_Group_1_0_0 extends GroupToken { public Type100_Group_1_0_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getType100Access().getGroup_1_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type100_OpAssignment_1_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {TopType.leftOperand=current} protected class Type100_TopTypeLeftOperandAction_1_0_0_0 extends ActionToken { public Type100_TopTypeLeftOperandAction_1_0_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getType100Access() .getTopTypeLeftOperandAction_1_0_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type100_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Type100_Type200ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { final Object val = eObjectConsumer.getConsumable("leftOperand", false); if (val == null) { return null; } if (!eObjectConsumer.isConsumedWithLastConsumtion("leftOperand")) { return null; } return createEObjectConsumer((EObject) val); } } // op="|" protected class Type100_OpAssignment_1_0_0_1 extends AssignmentToken { public Type100_OpAssignment_1_0_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getType100Access().getOpAssignment_1_0_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type100_TopTypeLeftOperandAction_1_0_0_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("op", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getType100Access().getOpVerticalLineKeyword_1_0_0_1_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getType100Access() .getOpVerticalLineKeyword_1_0_0_1_0(); return obj; } return null; } } // rightOperand=Type200 protected class Type100_RightOperandAssignment_1_1 extends AssignmentToken { public Type100_RightOperandAssignment_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getType100Access() .getRightOperandAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type200_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("rightOperand", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("rightOperand"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getType200Rule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getType100Access() .getRightOperandType200ParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Type100_Group_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Type100 ****************/ /************ * begin Rule Type200 **************** * * Type200: Type300 (=> ({TopType.leftOperand=current} op="..") * rightOperand=Type300)*; * **/ // Type300 (=> ({TopType.leftOperand=current} op="..") // rightOperand=Type300)* protected class Type200_Group extends GroupToken { public Type200_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getType200Access().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type200_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Type200_Type300ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getBinaryTypeAccess() .getBinaryTypeAction_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getFunTypeAction_8_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getListTypeAction_4_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getRecordTypeAction_6_1().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getRemoteTypeAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTopTypeRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getTupleTypeAction_5_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getType500Access().getUnaryTypeAction_0_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // Type300 protected class Type200_Type300ParserRuleCall_0 extends RuleCallToken { public Type200_Type300ParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getType200Access() .getType300ParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type300_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(Type300_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // (=> ({TopType.leftOperand=current} op="..") rightOperand=Type300)* protected class Type200_Group_1 extends GroupToken { public Type200_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getType200Access().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type200_RightOperandAssignment_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getType200Access() .getTopTypeLeftOperandAction_1_0_0_0().getType() .getClassifier()) { return null; } return eObjectConsumer; } } // => ({TopType.leftOperand=current} op="..") protected class Type200_Group_1_0 extends GroupToken { public Type200_Group_1_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getType200Access().getGroup_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type200_Group_1_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {TopType.leftOperand=current} op=".." protected class Type200_Group_1_0_0 extends GroupToken { public Type200_Group_1_0_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getType200Access().getGroup_1_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type200_OpAssignment_1_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {TopType.leftOperand=current} protected class Type200_TopTypeLeftOperandAction_1_0_0_0 extends ActionToken { public Type200_TopTypeLeftOperandAction_1_0_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getType200Access() .getTopTypeLeftOperandAction_1_0_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type200_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Type200_Type300ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { final Object val = eObjectConsumer.getConsumable("leftOperand", false); if (val == null) { return null; } if (!eObjectConsumer.isConsumedWithLastConsumtion("leftOperand")) { return null; } return createEObjectConsumer((EObject) val); } } // op=".." protected class Type200_OpAssignment_1_0_0_1 extends AssignmentToken { public Type200_OpAssignment_1_0_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getType200Access().getOpAssignment_1_0_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type200_TopTypeLeftOperandAction_1_0_0_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("op", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op"); if (keywordSerializer.isValid(obj.getEObject(), grammarAccess .getType200Access() .getOpFullStopFullStopKeyword_1_0_0_1_0(), value, null)) { type = AssignmentType.KEYWORD; element = grammarAccess.getType200Access() .getOpFullStopFullStopKeyword_1_0_0_1_0(); return obj; } return null; } } // rightOperand=Type300 protected class Type200_RightOperandAssignment_1_1 extends AssignmentToken { public Type200_RightOperandAssignment_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getType200Access() .getRightOperandAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type300_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("rightOperand", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("rightOperand"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getType300Rule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getType200Access() .getRightOperandType300ParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Type200_Group_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Type200 ****************/ /************ * begin Rule Type300 **************** * * Type300: Type400 (=> ({TopType.leftOperand=current} op=ADDOP) * rightOperand=Type400)*; * **/ // Type400 (=> ({TopType.leftOperand=current} op=ADDOP) // rightOperand=Type400)* protected class Type300_Group extends GroupToken { public Type300_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getType300Access().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type300_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Type300_Type400ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getBinaryTypeAccess() .getBinaryTypeAction_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getFunTypeAction_8_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getListTypeAction_4_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getRecordTypeAction_6_1().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getRemoteTypeAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTopTypeRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getTupleTypeAction_5_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getType500Access().getUnaryTypeAction_0_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // Type400 protected class Type300_Type400ParserRuleCall_0 extends RuleCallToken { public Type300_Type400ParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getType300Access() .getType400ParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type400_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(Type400_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // (=> ({TopType.leftOperand=current} op=ADDOP) rightOperand=Type400)* protected class Type300_Group_1 extends GroupToken { public Type300_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getType300Access().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type300_RightOperandAssignment_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getType300Access() .getTopTypeLeftOperandAction_1_0_0_0().getType() .getClassifier()) { return null; } return eObjectConsumer; } } // => ({TopType.leftOperand=current} op=ADDOP) protected class Type300_Group_1_0 extends GroupToken { public Type300_Group_1_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getType300Access().getGroup_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type300_Group_1_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {TopType.leftOperand=current} op=ADDOP protected class Type300_Group_1_0_0 extends GroupToken { public Type300_Group_1_0_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getType300Access().getGroup_1_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type300_OpAssignment_1_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {TopType.leftOperand=current} protected class Type300_TopTypeLeftOperandAction_1_0_0_0 extends ActionToken { public Type300_TopTypeLeftOperandAction_1_0_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getType300Access() .getTopTypeLeftOperandAction_1_0_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type300_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Type300_Type400ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { final Object val = eObjectConsumer.getConsumable("leftOperand", false); if (val == null) { return null; } if (!eObjectConsumer.isConsumedWithLastConsumtion("leftOperand")) { return null; } return createEObjectConsumer((EObject) val); } } // op=ADDOP protected class Type300_OpAssignment_1_0_0_1 extends AssignmentToken { public Type300_OpAssignment_1_0_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getType300Access().getOpAssignment_1_0_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type300_TopTypeLeftOperandAction_1_0_0_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("op", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getType300Access().getOpADDOPParserRuleCall_1_0_0_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getType300Access() .getOpADDOPParserRuleCall_1_0_0_1_0(); return obj; } return null; } } // rightOperand=Type400 protected class Type300_RightOperandAssignment_1_1 extends AssignmentToken { public Type300_RightOperandAssignment_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getType300Access() .getRightOperandAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type400_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("rightOperand", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("rightOperand"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getType400Rule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getType300Access() .getRightOperandType400ParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Type300_Group_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Type300 ****************/ /************ * begin Rule Type400 **************** * * Type400: Type500 (=> ({TopType.leftOperand=current} op=MULTOP) * rightOperand=Type500)*; * **/ // Type500 (=> ({TopType.leftOperand=current} op=MULTOP) // rightOperand=Type500)* protected class Type400_Group extends GroupToken { public Type400_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getType400Access().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type400_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Type400_Type500ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getBinaryTypeAccess() .getBinaryTypeAction_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getFunTypeAction_8_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getListTypeAction_4_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getRecordTypeAction_6_1().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getRemoteTypeAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTopTypeRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getTupleTypeAction_5_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getType500Access().getUnaryTypeAction_0_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // Type500 protected class Type400_Type500ParserRuleCall_0 extends RuleCallToken { public Type400_Type500ParserRuleCall_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getType400Access() .getType500ParserRuleCall_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type500_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(Type500_Alternatives.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // (=> ({TopType.leftOperand=current} op=MULTOP) rightOperand=Type500)* protected class Type400_Group_1 extends GroupToken { public Type400_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getType400Access().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type400_RightOperandAssignment_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getType400Access() .getTopTypeLeftOperandAction_1_0_0_0().getType() .getClassifier()) { return null; } return eObjectConsumer; } } // => ({TopType.leftOperand=current} op=MULTOP) protected class Type400_Group_1_0 extends GroupToken { public Type400_Group_1_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getType400Access().getGroup_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type400_Group_1_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {TopType.leftOperand=current} op=MULTOP protected class Type400_Group_1_0_0 extends GroupToken { public Type400_Group_1_0_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getType400Access().getGroup_1_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type400_OpAssignment_1_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {TopType.leftOperand=current} protected class Type400_TopTypeLeftOperandAction_1_0_0_0 extends ActionToken { public Type400_TopTypeLeftOperandAction_1_0_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getType400Access() .getTopTypeLeftOperandAction_1_0_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type400_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Type400_Type500ParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { final Object val = eObjectConsumer.getConsumable("leftOperand", false); if (val == null) { return null; } if (!eObjectConsumer.isConsumedWithLastConsumtion("leftOperand")) { return null; } return createEObjectConsumer((EObject) val); } } // op=MULTOP protected class Type400_OpAssignment_1_0_0_1 extends AssignmentToken { public Type400_OpAssignment_1_0_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getType400Access().getOpAssignment_1_0_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type400_TopTypeLeftOperandAction_1_0_0_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("op", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getType400Access().getOpMULTOPParserRuleCall_1_0_0_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getType400Access() .getOpMULTOPParserRuleCall_1_0_0_1_0(); return obj; } return null; } } // rightOperand=Type500 protected class Type400_RightOperandAssignment_1_1 extends AssignmentToken { public Type400_RightOperandAssignment_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getType400Access() .getRightOperandAssignment_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type500_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("rightOperand", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("rightOperand"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getType500Rule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getType400Access() .getRightOperandType500ParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Type400_Group_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule Type400 ****************/ /************ * begin Rule Type500 **************** * * Type500: {UnaryType} op=PREFIXOP operand=Type | Type; * **/ // {UnaryType} op=PREFIXOP operand=Type | Type protected class Type500_Alternatives extends AlternativesToken { public Type500_Alternatives(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getType500Access().getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type500_Group_0(lastRuleCallOrigin, this, 0, inst); case 1: return new Type500_TypeParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getBinaryTypeAccess() .getBinaryTypeAction_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getFunTypeAction_8_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getListTypeAction_4_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getRecordTypeAction_6_1().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getRemoteTypeAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTopTypeRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getTupleTypeAction_5_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess .getType500Access().getUnaryTypeAction_0_0() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // {UnaryType} op=PREFIXOP operand=Type protected class Type500_Group_0 extends GroupToken { public Type500_Group_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getType500Access().getGroup_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type500_OperandAssignment_0_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getType500Access() .getUnaryTypeAction_0_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {UnaryType} protected class Type500_UnaryTypeAction_0_0 extends ActionToken { public Type500_UnaryTypeAction_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getType500Access().getUnaryTypeAction_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // op=PREFIXOP protected class Type500_OpAssignment_0_1 extends AssignmentToken { public Type500_OpAssignment_0_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getType500Access().getOpAssignment_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type500_UnaryTypeAction_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("op", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getType500Access().getOpPREFIXOPParserRuleCall_0_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getType500Access() .getOpPREFIXOPParserRuleCall_0_1_0(); return obj; } return null; } } // operand=Type protected class Type500_OperandAssignment_0_2 extends AssignmentToken { public Type500_OperandAssignment_0_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getType500Access().getOperandAssignment_0_2(); } @Override public AbstractToken createFollower(final int index, final 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("operand", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("operand"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getType500Access() .getOperandTypeParserRuleCall_0_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Type500_OpAssignment_0_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // Type protected class Type500_TypeParserRuleCall_1 extends RuleCallToken { public Type500_TypeParserRuleCall_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getType500Access().getTypeParserRuleCall_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getBinaryTypeAccess() .getBinaryTypeAction_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getFunTypeAction_8_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getListTypeAction_4_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getRecordTypeAction_6_1().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getRemoteTypeAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTopTypeRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getTupleTypeAction_5_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeRule() .getType().getClassifier()) { return null; } if (checkForRecursion(Type_Alternatives.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } /************ end Rule Type500 ****************/ /************ * begin Rule Type **************** * * Type: "(" TopType ")" | {RemoteType} (m=ModuleVarMacro ":")? * typeName=TypeRef ("(" (args+=TopType ("," args+=TopType)*)? ")")? | * typeName=VariableLiteral | value=INTEGER | "[" {ListType} (type=TopType * ("," "...")?)? "]" | "{" {TupleType} (types+=TopType ("," * types+=TopType)*)? "}" | "#" {RecordType} rec=RecordRef "{" * (fields+=FieldType ("," fields+=FieldType)*)? "}" | BinaryType | "fun" * {FunType} "(" type=FunType100? ")"; * **/ // "(" TopType ")" | {RemoteType} (m=ModuleVarMacro ":")? typeName=TypeRef // ("(" (args+=TopType ("," args+=TopType)*)? ")")? // | typeName=VariableLiteral | value=INTEGER | "[" {ListType} (type=TopType // ("," "...")?)? "]" | "{" {TupleType} // (types+=TopType ("," types+=TopType)*)? "}" | "#" {RecordType} // rec=RecordRef "{" (fields+=FieldType ("," // fields+=FieldType)*)? "}" | BinaryType | "fun" {FunType} "(" // type=FunType100? ")" protected class Type_Alternatives extends AlternativesToken { public Type_Alternatives(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getTypeAccess().getAlternatives(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_Group_0(lastRuleCallOrigin, this, 0, inst); case 1: return new Type_Group_1(lastRuleCallOrigin, this, 1, inst); case 2: return new Type_TypeNameAssignment_2(lastRuleCallOrigin, this, 2, inst); case 3: return new Type_ValueAssignment_3(lastRuleCallOrigin, this, 3, inst); case 4: return new Type_Group_4(lastRuleCallOrigin, this, 4, inst); case 5: return new Type_Group_5(lastRuleCallOrigin, this, 5, inst); case 6: return new Type_Group_6(lastRuleCallOrigin, this, 6, inst); case 7: return new Type_BinaryTypeParserRuleCall_7(lastRuleCallOrigin, this, 7, inst); case 8: return new Type_Group_8(lastRuleCallOrigin, this, 8, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getBinaryTypeAccess() .getBinaryTypeAction_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getFunTypeAction_8_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getListTypeAction_4_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getRecordTypeAction_6_1().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getRemoteTypeAction_1_0().getType() .getClassifier() && getEObject().eClass() != grammarAccess.getTopTypeRule() .getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeAccess() .getTupleTypeAction_5_1().getType().getClassifier() && getEObject().eClass() != grammarAccess.getTypeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // "(" TopType ")" protected class Type_Group_0 extends GroupToken { public Type_Group_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAccess().getGroup_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_RightParenthesisKeyword_0_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTopTypeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // "(" protected class Type_LeftParenthesisKeyword_0_0 extends KeywordToken { public Type_LeftParenthesisKeyword_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAccess() .getLeftParenthesisKeyword_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // TopType protected class Type_TopTypeParserRuleCall_0_1 extends RuleCallToken { public Type_TopTypeParserRuleCall_0_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getTypeAccess().getTopTypeParserRuleCall_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (checkForRecursion(TopType_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_LeftParenthesisKeyword_0_0(lastRuleCallOrigin, next, actIndex, inst); default: return null; } } } // ")" protected class Type_RightParenthesisKeyword_0_2 extends KeywordToken { public Type_RightParenthesisKeyword_0_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAccess() .getRightParenthesisKeyword_0_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_TopTypeParserRuleCall_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {RemoteType} (m=ModuleVarMacro ":")? typeName=TypeRef ("(" (args+=TopType // ("," args+=TopType)*)? ")")? protected class Type_Group_1 extends GroupToken { public Type_Group_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAccess().getGroup_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_Group_1_3(lastRuleCallOrigin, this, 0, inst); case 1: return new Type_TypeNameAssignment_1_2(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTypeAccess() .getRemoteTypeAction_1_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {RemoteType} protected class Type_RemoteTypeAction_1_0 extends ActionToken { public Type_RemoteTypeAction_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getTypeAccess().getRemoteTypeAction_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // (m=ModuleVarMacro ":")? protected class Type_Group_1_1 extends GroupToken { public Type_Group_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAccess().getGroup_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_ColonKeyword_1_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // m=ModuleVarMacro protected class Type_MAssignment_1_1_0 extends AssignmentToken { public Type_MAssignment_1_1_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAccess().getMAssignment_1_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new ModuleVarMacro_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("m", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("m"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getModuleVarMacroRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeAccess() .getMModuleVarMacroParserRuleCall_1_1_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Type_RemoteTypeAction_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ":" protected class Type_ColonKeyword_1_1_1 extends KeywordToken { public Type_ColonKeyword_1_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAccess().getColonKeyword_1_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_MAssignment_1_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // typeName=TypeRef protected class Type_TypeNameAssignment_1_2 extends AssignmentToken { public Type_TypeNameAssignment_1_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAccess().getTypeNameAssignment_1_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TypeRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("typeName", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("typeName"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTypeRefRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeAccess() .getTypeNameTypeRefParserRuleCall_1_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Type_Group_1_1(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new Type_RemoteTypeAction_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("(" (args+=TopType ("," args+=TopType)*)? ")")? protected class Type_Group_1_3 extends GroupToken { public Type_Group_1_3(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAccess().getGroup_1_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_RightParenthesisKeyword_1_3_2( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "(" protected class Type_LeftParenthesisKeyword_1_3_0 extends KeywordToken { public Type_LeftParenthesisKeyword_1_3_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAccess() .getLeftParenthesisKeyword_1_3_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_TypeNameAssignment_1_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // (args+=TopType ("," args+=TopType)*)? protected class Type_Group_1_3_1 extends GroupToken { public Type_Group_1_3_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAccess().getGroup_1_3_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_Group_1_3_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Type_ArgsAssignment_1_3_1_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // args+=TopType protected class Type_ArgsAssignment_1_3_1_0 extends AssignmentToken { public Type_ArgsAssignment_1_3_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAccess().getArgsAssignment_1_3_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("args", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("args"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeAccess() .getArgsTopTypeParserRuleCall_1_3_1_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Type_LeftParenthesisKeyword_1_3_0( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," args+=TopType)* protected class Type_Group_1_3_1_1 extends GroupToken { public Type_Group_1_3_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAccess().getGroup_1_3_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_ArgsAssignment_1_3_1_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class Type_CommaKeyword_1_3_1_1_0 extends KeywordToken { public Type_CommaKeyword_1_3_1_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAccess().getCommaKeyword_1_3_1_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_Group_1_3_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Type_ArgsAssignment_1_3_1_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // args+=TopType protected class Type_ArgsAssignment_1_3_1_1_1 extends AssignmentToken { public Type_ArgsAssignment_1_3_1_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAccess().getArgsAssignment_1_3_1_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("args", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("args"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeAccess() .getArgsTopTypeParserRuleCall_1_3_1_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Type_CommaKeyword_1_3_1_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class Type_RightParenthesisKeyword_1_3_2 extends KeywordToken { public Type_RightParenthesisKeyword_1_3_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAccess() .getRightParenthesisKeyword_1_3_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_Group_1_3_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // typeName=VariableLiteral protected class Type_TypeNameAssignment_2 extends AssignmentToken { public Type_TypeNameAssignment_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAccess().getTypeNameAssignment_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new VariableLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTypeRule().getType() .getClassifier()) { return null; } if ((value = eObjectConsumer.getConsumable("typeName", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("typeName"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getVariableLiteralRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeAccess() .getTypeNameVariableLiteralParserRuleCall_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // value=INTEGER protected class Type_ValueAssignment_3 extends AssignmentToken { public Type_ValueAssignment_3(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAccess().getValueAssignment_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTypeRule().getType() .getClassifier()) { return null; } if ((value = eObjectConsumer.getConsumable("value", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("value"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getTypeAccess().getValueINTEGERParserRuleCall_3_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getTypeAccess() .getValueINTEGERParserRuleCall_3_0(); return obj; } return null; } } // "[" {ListType} (type=TopType ("," "...")?)? "]" protected class Type_Group_4 extends GroupToken { public Type_Group_4(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAccess().getGroup_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_RightSquareBracketKeyword_4_3( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTypeAccess() .getListTypeAction_4_1().getType().getClassifier()) { return null; } return eObjectConsumer; } } // "[" protected class Type_LeftSquareBracketKeyword_4_0 extends KeywordToken { public Type_LeftSquareBracketKeyword_4_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAccess() .getLeftSquareBracketKeyword_4_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // {ListType} protected class Type_ListTypeAction_4_1 extends ActionToken { public Type_ListTypeAction_4_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getTypeAccess().getListTypeAction_4_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_LeftSquareBracketKeyword_4_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // (type=TopType ("," "...")?)? protected class Type_Group_4_2 extends GroupToken { public Type_Group_4_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAccess().getGroup_4_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_TypeAssignment_4_2_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // type=TopType protected class Type_TypeAssignment_4_2_0 extends AssignmentToken { public Type_TypeAssignment_4_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAccess().getTypeAssignment_4_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("type", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("type"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeAccess() .getTypeTopTypeParserRuleCall_4_2_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Type_ListTypeAction_4_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "]" protected class Type_RightSquareBracketKeyword_4_3 extends KeywordToken { public Type_RightSquareBracketKeyword_4_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAccess() .getRightSquareBracketKeyword_4_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_Group_4_2(lastRuleCallOrigin, this, 0, inst); case 1: return new Type_ListTypeAction_4_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "{" {TupleType} (types+=TopType ("," types+=TopType)*)? "}" protected class Type_Group_5 extends GroupToken { public Type_Group_5(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAccess().getGroup_5(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_RightCurlyBracketKeyword_5_3( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTypeAccess() .getTupleTypeAction_5_1().getType().getClassifier()) { return null; } return eObjectConsumer; } } // "{" protected class Type_LeftCurlyBracketKeyword_5_0 extends KeywordToken { public Type_LeftCurlyBracketKeyword_5_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAccess() .getLeftCurlyBracketKeyword_5_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // {TupleType} protected class Type_TupleTypeAction_5_1 extends ActionToken { public Type_TupleTypeAction_5_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getTypeAccess().getTupleTypeAction_5_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_LeftCurlyBracketKeyword_5_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // (types+=TopType ("," types+=TopType)*)? protected class Type_Group_5_2 extends GroupToken { public Type_Group_5_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAccess().getGroup_5_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_Group_5_2_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Type_TypesAssignment_5_2_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // types+=TopType protected class Type_TypesAssignment_5_2_0 extends AssignmentToken { public Type_TypesAssignment_5_2_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAccess().getTypesAssignment_5_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("types", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("types"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeAccess() .getTypesTopTypeParserRuleCall_5_2_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Type_TupleTypeAction_5_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," types+=TopType)* protected class Type_Group_5_2_1 extends GroupToken { public Type_Group_5_2_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAccess().getGroup_5_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_TypesAssignment_5_2_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class Type_CommaKeyword_5_2_1_0 extends KeywordToken { public Type_CommaKeyword_5_2_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAccess().getCommaKeyword_5_2_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_Group_5_2_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Type_TypesAssignment_5_2_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // types+=TopType protected class Type_TypesAssignment_5_2_1_1 extends AssignmentToken { public Type_TypesAssignment_5_2_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAccess().getTypesAssignment_5_2_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("types", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("types"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeAccess() .getTypesTopTypeParserRuleCall_5_2_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Type_CommaKeyword_5_2_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class Type_RightCurlyBracketKeyword_5_3 extends KeywordToken { public Type_RightCurlyBracketKeyword_5_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAccess() .getRightCurlyBracketKeyword_5_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_Group_5_2(lastRuleCallOrigin, this, 0, inst); case 1: return new Type_TupleTypeAction_5_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "#" {RecordType} rec=RecordRef "{" (fields+=FieldType ("," // fields+=FieldType)*)? "}" protected class Type_Group_6 extends GroupToken { public Type_Group_6(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAccess().getGroup_6(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_RightCurlyBracketKeyword_6_5( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTypeAccess() .getRecordTypeAction_6_1().getType().getClassifier()) { return null; } return eObjectConsumer; } } // "#" protected class Type_NumberSignKeyword_6_0 extends KeywordToken { public Type_NumberSignKeyword_6_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAccess().getNumberSignKeyword_6_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // {RecordType} protected class Type_RecordTypeAction_6_1 extends ActionToken { public Type_RecordTypeAction_6_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getTypeAccess().getRecordTypeAction_6_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_NumberSignKeyword_6_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // rec=RecordRef protected class Type_RecAssignment_6_2 extends AssignmentToken { public Type_RecAssignment_6_2(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAccess().getRecAssignment_6_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new RecordRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("rec", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rec"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getRecordRefRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeAccess() .getRecRecordRefParserRuleCall_6_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Type_RecordTypeAction_6_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "{" protected class Type_LeftCurlyBracketKeyword_6_3 extends KeywordToken { public Type_LeftCurlyBracketKeyword_6_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAccess() .getLeftCurlyBracketKeyword_6_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_RecAssignment_6_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // (fields+=FieldType ("," fields+=FieldType)*)? protected class Type_Group_6_4 extends GroupToken { public Type_Group_6_4(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAccess().getGroup_6_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_Group_6_4_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Type_FieldsAssignment_6_4_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // fields+=FieldType protected class Type_FieldsAssignment_6_4_0 extends AssignmentToken { public Type_FieldsAssignment_6_4_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAccess().getFieldsAssignment_6_4_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FieldType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("fields", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("fields"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFieldTypeRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeAccess() .getFieldsFieldTypeParserRuleCall_6_4_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Type_LeftCurlyBracketKeyword_6_3(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," fields+=FieldType)* protected class Type_Group_6_4_1 extends GroupToken { public Type_Group_6_4_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAccess().getGroup_6_4_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_FieldsAssignment_6_4_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class Type_CommaKeyword_6_4_1_0 extends KeywordToken { public Type_CommaKeyword_6_4_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAccess().getCommaKeyword_6_4_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_Group_6_4_1(lastRuleCallOrigin, this, 0, inst); case 1: return new Type_FieldsAssignment_6_4_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // fields+=FieldType protected class Type_FieldsAssignment_6_4_1_1 extends AssignmentToken { public Type_FieldsAssignment_6_4_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAccess().getFieldsAssignment_6_4_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FieldType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("fields", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("fields"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFieldTypeRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeAccess() .getFieldsFieldTypeParserRuleCall_6_4_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Type_CommaKeyword_6_4_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class Type_RightCurlyBracketKeyword_6_5 extends KeywordToken { public Type_RightCurlyBracketKeyword_6_5( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAccess() .getRightCurlyBracketKeyword_6_5(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_Group_6_4(lastRuleCallOrigin, this, 0, inst); case 1: return new Type_LeftCurlyBracketKeyword_6_3(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // BinaryType protected class Type_BinaryTypeParserRuleCall_7 extends RuleCallToken { public Type_BinaryTypeParserRuleCall_7( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getTypeAccess() .getBinaryTypeParserRuleCall_7(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getBinaryTypeAccess() .getBinaryTypeAction_1().getType().getClassifier()) { return null; } if (checkForRecursion(BinaryType_Group.class, eObjectConsumer)) { return null; } return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, inst); } } } // "fun" {FunType} "(" type=FunType100? ")" protected class Type_Group_8 extends GroupToken { public Type_Group_8(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getTypeAccess().getGroup_8(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_RightParenthesisKeyword_8_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getTypeAccess() .getFunTypeAction_8_1().getType().getClassifier()) { return null; } return eObjectConsumer; } } // "fun" protected class Type_FunKeyword_8_0 extends KeywordToken { public Type_FunKeyword_8_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAccess().getFunKeyword_8_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // {FunType} protected class Type_FunTypeAction_8_1 extends ActionToken { public Type_FunTypeAction_8_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getTypeAccess().getFunTypeAction_8_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_FunKeyword_8_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // "(" protected class Type_LeftParenthesisKeyword_8_2 extends KeywordToken { public Type_LeftParenthesisKeyword_8_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAccess() .getLeftParenthesisKeyword_8_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_FunTypeAction_8_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // type=FunType100? protected class Type_TypeAssignment_8_3 extends AssignmentToken { public Type_TypeAssignment_8_3(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getTypeAccess().getTypeAssignment_8_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunType100_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("type", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("type"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFunType100Rule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getTypeAccess() .getTypeFunType100ParserRuleCall_8_3_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new Type_LeftParenthesisKeyword_8_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class Type_RightParenthesisKeyword_8_4 extends KeywordToken { public Type_RightParenthesisKeyword_8_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getTypeAccess() .getRightParenthesisKeyword_8_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new Type_TypeAssignment_8_3(lastRuleCallOrigin, this, 0, inst); case 1: return new Type_LeftParenthesisKeyword_8_2(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule Type ****************/ /************ * begin Rule FieldType **************** * * FieldType: typeName=[TypeAttribute|ATOM] "::" type=TopType; * **/ // typeName=[TypeAttribute|ATOM] "::" type=TopType protected class FieldType_Group extends GroupToken { public FieldType_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getFieldTypeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FieldType_TypeAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getFieldTypeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // typeName=[TypeAttribute|ATOM] protected class FieldType_TypeNameAssignment_0 extends AssignmentToken { public FieldType_TypeNameAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFieldTypeAccess().getTypeNameAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("typeName", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("typeName"); if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getFieldTypeAccess() .getTypeNameTypeAttributeCrossReference_0_0().getType() .getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getFieldTypeAccess() .getTypeNameTypeAttributeCrossReference_0_0(); return obj; } } return null; } } // "::" protected class FieldType_ColonColonKeyword_1 extends KeywordToken { public FieldType_ColonColonKeyword_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFieldTypeAccess().getColonColonKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FieldType_TypeNameAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // type=TopType protected class FieldType_TypeAssignment_2 extends AssignmentToken { public FieldType_TypeAssignment_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFieldTypeAccess().getTypeAssignment_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("type", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("type"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getFieldTypeAccess() .getTypeTopTypeParserRuleCall_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new FieldType_ColonColonKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule FieldType ****************/ /************ * begin Rule BinaryType **************** * * BinaryType: "<<" {BinaryType} (type+=BinBaseType ("," type+=BinUnitType)? * | type+=BinUnitType)? ">>"; * **/ // "<<" {BinaryType} (type+=BinBaseType ("," type+=BinUnitType)? | // type+=BinUnitType)? ">>" protected class BinaryType_Group extends GroupToken { public BinaryType_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBinaryTypeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryType_GreaterThanSignGreaterThanSignKeyword_3( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getBinaryTypeAccess() .getBinaryTypeAction_1().getType().getClassifier()) { return null; } return eObjectConsumer; } } // "<<" protected class BinaryType_LessThanSignLessThanSignKeyword_0 extends KeywordToken { public BinaryType_LessThanSignLessThanSignKeyword_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBinaryTypeAccess() .getLessThanSignLessThanSignKeyword_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // {BinaryType} protected class BinaryType_BinaryTypeAction_1 extends ActionToken { public BinaryType_BinaryTypeAction_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getBinaryTypeAccess().getBinaryTypeAction_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryType_LessThanSignLessThanSignKeyword_0( lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // (type+=BinBaseType ("," type+=BinUnitType)? | type+=BinUnitType)? protected class BinaryType_Alternatives_2 extends AlternativesToken { public BinaryType_Alternatives_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getBinaryTypeAccess().getAlternatives_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryType_Group_2_0(lastRuleCallOrigin, this, 0, inst); case 1: return new BinaryType_TypeAssignment_2_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // type+=BinBaseType ("," type+=BinUnitType)? protected class BinaryType_Group_2_0 extends GroupToken { public BinaryType_Group_2_0(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBinaryTypeAccess().getGroup_2_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryType_Group_2_0_1(lastRuleCallOrigin, this, 0, inst); case 1: return new BinaryType_TypeAssignment_2_0_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // type+=BinBaseType protected class BinaryType_TypeAssignment_2_0_0 extends AssignmentToken { public BinaryType_TypeAssignment_2_0_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBinaryTypeAccess() .getTypeAssignment_2_0_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinBaseType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("type", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("type"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getBinBaseTypeRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBinaryTypeAccess() .getTypeBinBaseTypeParserRuleCall_2_0_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new BinaryType_BinaryTypeAction_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," type+=BinUnitType)? protected class BinaryType_Group_2_0_1 extends GroupToken { public BinaryType_Group_2_0_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBinaryTypeAccess().getGroup_2_0_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryType_TypeAssignment_2_0_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class BinaryType_CommaKeyword_2_0_1_0 extends KeywordToken { public BinaryType_CommaKeyword_2_0_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBinaryTypeAccess() .getCommaKeyword_2_0_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryType_TypeAssignment_2_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // type+=BinUnitType protected class BinaryType_TypeAssignment_2_0_1_1 extends AssignmentToken { public BinaryType_TypeAssignment_2_0_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBinaryTypeAccess() .getTypeAssignment_2_0_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinUnitType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("type", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("type"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getBinUnitTypeRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBinaryTypeAccess() .getTypeBinUnitTypeParserRuleCall_2_0_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new BinaryType_CommaKeyword_2_0_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // type+=BinUnitType protected class BinaryType_TypeAssignment_2_1 extends AssignmentToken { public BinaryType_TypeAssignment_2_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBinaryTypeAccess().getTypeAssignment_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinUnitType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("type", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("type"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getBinUnitTypeRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBinaryTypeAccess() .getTypeBinUnitTypeParserRuleCall_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new BinaryType_BinaryTypeAction_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ">>" protected class BinaryType_GreaterThanSignGreaterThanSignKeyword_3 extends KeywordToken { public BinaryType_GreaterThanSignGreaterThanSignKeyword_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBinaryTypeAccess() .getGreaterThanSignGreaterThanSignKeyword_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinaryType_Alternatives_2(lastRuleCallOrigin, this, 0, inst); case 1: return new BinaryType_BinaryTypeAction_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule BinaryType ****************/ /************ * begin Rule BinBaseType **************** * * BinBaseType: typeName=VariableLiteral ":" type=Type; * **/ // typeName=VariableLiteral ":" type=Type protected class BinBaseType_Group extends GroupToken { public BinBaseType_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBinBaseTypeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinBaseType_TypeAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getBinBaseTypeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // typeName=VariableLiteral protected class BinBaseType_TypeNameAssignment_0 extends AssignmentToken { public BinBaseType_TypeNameAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBinBaseTypeAccess() .getTypeNameAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new VariableLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("typeName", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("typeName"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getVariableLiteralRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBinBaseTypeAccess() .getTypeNameVariableLiteralParserRuleCall_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // ":" protected class BinBaseType_ColonKeyword_1 extends KeywordToken { public BinBaseType_ColonKeyword_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBinBaseTypeAccess().getColonKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinBaseType_TypeNameAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // type=Type protected class BinBaseType_TypeAssignment_2 extends AssignmentToken { public BinBaseType_TypeAssignment_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBinBaseTypeAccess().getTypeAssignment_2(); } @Override public AbstractToken createFollower(final int index, final 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; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("type"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBinBaseTypeAccess() .getTypeTypeParserRuleCall_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new BinBaseType_ColonKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule BinBaseType ****************/ /************ * begin Rule BinUnitType **************** * * BinUnitType: typeName=VariableLiteral ":" m=VARIABLE "*" type=Type; * **/ // typeName=VariableLiteral ":" m=VARIABLE "*" type=Type protected class BinUnitType_Group extends GroupToken { public BinUnitType_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getBinUnitTypeAccess().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinUnitType_TypeAssignment_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getBinUnitTypeRule() .getType().getClassifier()) { return null; } return eObjectConsumer; } } // typeName=VariableLiteral protected class BinUnitType_TypeNameAssignment_0 extends AssignmentToken { public BinUnitType_TypeNameAssignment_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBinUnitTypeAccess() .getTypeNameAssignment_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new VariableLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("typeName", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("typeName"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getVariableLiteralRule() .getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBinUnitTypeAccess() .getTypeNameVariableLiteralParserRuleCall_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex, index, consumed); } } } // ":" protected class BinUnitType_ColonKeyword_1 extends KeywordToken { public BinUnitType_ColonKeyword_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBinUnitTypeAccess().getColonKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinUnitType_TypeNameAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // m=VARIABLE protected class BinUnitType_MAssignment_2 extends AssignmentToken { public BinUnitType_MAssignment_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBinUnitTypeAccess().getMAssignment_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinUnitType_ColonKeyword_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("m", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("m"); if (valueSerializer.isValid(obj.getEObject(), grammarAccess .getBinUnitTypeAccess().getMVARIABLETerminalRuleCall_2_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getBinUnitTypeAccess() .getMVARIABLETerminalRuleCall_2_0(); return obj; } return null; } } // "*" protected class BinUnitType_AsteriskKeyword_3 extends KeywordToken { public BinUnitType_AsteriskKeyword_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getBinUnitTypeAccess().getAsteriskKeyword_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new BinUnitType_MAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // type=Type protected class BinUnitType_TypeAssignment_4 extends AssignmentToken { public BinUnitType_TypeAssignment_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getBinUnitTypeAccess().getTypeAssignment_4(); } @Override public AbstractToken createFollower(final int index, final 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; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("type"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getBinUnitTypeAccess() .getTypeTypeParserRuleCall_4_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new BinUnitType_AsteriskKeyword_3(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule BinUnitType ****************/ /************ * begin Rule FunType100 **************** * * FunType100: {FunTypeList} "(" ("..." | items+=TopType ("," * items+=TopType)*)? ")" "->" return=TopType; * **/ // {FunTypeList} "(" ("..." | items+=TopType ("," items+=TopType)*)? ")" // "->" return=TopType protected class FunType100_Group extends GroupToken { public FunType100_Group(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getFunType100Access().getGroup(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunType100_ReturnAssignment_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if (getEObject().eClass() != grammarAccess.getFunType100Access() .getFunTypeListAction_0().getType().getClassifier()) { return null; } return eObjectConsumer; } } // {FunTypeList} protected class FunType100_FunTypeListAction_0 extends ActionToken { public FunType100_FunTypeListAction_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getFunType100Access().getFunTypeListAction_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if (!eObjectConsumer.isConsumed()) { return null; } return eObjectConsumer; } } // "(" protected class FunType100_LeftParenthesisKeyword_1 extends KeywordToken { public FunType100_LeftParenthesisKeyword_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFunType100Access() .getLeftParenthesisKeyword_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunType100_FunTypeListAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ("..." | items+=TopType ("," items+=TopType)*)? protected class FunType100_Alternatives_2 extends AlternativesToken { public FunType100_Alternatives_2( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getFunType100Access().getAlternatives_2(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunType100_Group_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // items+=TopType ("," items+=TopType)* protected class FunType100_Group_2_1 extends GroupToken { public FunType100_Group_2_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getFunType100Access().getGroup_2_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunType100_Group_2_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new FunType100_ItemsAssignment_2_1_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // items+=TopType protected class FunType100_ItemsAssignment_2_1_0 extends AssignmentToken { public FunType100_ItemsAssignment_2_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFunType100Access() .getItemsAssignment_2_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("items", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("items"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getFunType100Access() .getItemsTopTypeParserRuleCall_2_1_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new FunType100_LeftParenthesisKeyword_1( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," items+=TopType)* protected class FunType100_Group_2_1_1 extends GroupToken { public FunType100_Group_2_1_1(final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getFunType100Access().getGroup_2_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunType100_ItemsAssignment_2_1_1_1( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class FunType100_CommaKeyword_2_1_1_0 extends KeywordToken { public FunType100_CommaKeyword_2_1_1_0( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFunType100Access() .getCommaKeyword_2_1_1_0(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunType100_Group_2_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new FunType100_ItemsAssignment_2_1_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // items+=TopType protected class FunType100_ItemsAssignment_2_1_1_1 extends AssignmentToken { public FunType100_ItemsAssignment_2_1_1_1( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFunType100Access() .getItemsAssignment_2_1_1_1(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("items", false)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("items"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getFunType100Access() .getItemsTopTypeParserRuleCall_2_1_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new FunType100_CommaKeyword_2_1_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class FunType100_RightParenthesisKeyword_3 extends KeywordToken { public FunType100_RightParenthesisKeyword_3( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFunType100Access() .getRightParenthesisKeyword_3(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunType100_Alternatives_2(lastRuleCallOrigin, this, 0, inst); case 1: return new FunType100_LeftParenthesisKeyword_1( lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "->" protected class FunType100_HyphenMinusGreaterThanSignKeyword_4 extends KeywordToken { public FunType100_HyphenMinusGreaterThanSignKeyword_4( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getFunType100Access() .getHyphenMinusGreaterThanSignKeyword_4(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new FunType100_RightParenthesisKeyword_3( lastRuleCallOrigin, this, 0, inst); default: return null; } } } // return=TopType protected class FunType100_ReturnAssignment_5 extends AssignmentToken { public FunType100_ReturnAssignment_5( final AbstractToken lastRuleCallOrigin, final AbstractToken next, final int transitionIndex, final IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getFunType100Access().getReturnAssignment_5(); } @Override public AbstractToken createFollower(final int index, final IEObjectConsumer inst) { switch (index) { case 0: return new TopType_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if ((value = eObjectConsumer.getConsumable("return", true)) == null) { return null; } final IEObjectConsumer obj = eObjectConsumer .cloneAndConsume("return"); if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl final IEObjectConsumer param = createEObjectConsumer((EObject) value); if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType() .getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getFunType100Access() .getReturnTopTypeParserRuleCall_5_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn( final AbstractToken next, final int actIndex, final int index, final IEObjectConsumer inst) { if (value == inst.getEObject() && !inst.isConsumed()) { return null; } switch (index) { case 0: return new FunType100_HyphenMinusGreaterThanSignKeyword_4( lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule FunType100 ****************/ }