/* * generated by Xtext */ package org.xrepl.xscript.parseTreeConstruction; import org.eclipse.emf.ecore.*; import org.eclipse.xtext.*; import org.eclipse.xtext.parsetree.reconstr.IEObjectConsumer; import org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor; import org.xrepl.xscript.services.XscriptGrammarAccess; import com.google.inject.Inject; @SuppressWarnings("all") public class XscriptParsetreeConstructor extends AbstractParseTreeConstructor { @Inject private XscriptGrammarAccess grammarAccess; @Override protected AbstractToken getRootToken(IEObjectConsumer inst) { return new ThisRootNode(inst); } protected class ThisRootNode extends RootToken { public ThisRootNode(IEObjectConsumer inst) { super(inst); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XScript_Group(this, this, 0, inst); case 1: return new XScriptExpression_Alternatives(this, this, 1, inst); case 2: return new XPrimaryExpression_Alternatives(this, this, 2, inst); case 3: return new XNewEObject_Group(this, this, 3, inst); case 4: return new XImport_Group(this, this, 4, inst); case 5: return new XEPackageImport_Group(this, this, 5, inst); case 6: return new XExpression_XAssignmentParserRuleCall(this, this, 6, inst); case 7: return new XAssignment_Alternatives(this, this, 7, inst); case 8: return new XOrExpression_Group(this, this, 8, inst); case 9: return new XAndExpression_Group(this, this, 9, inst); case 10: return new XEqualityExpression_Group(this, this, 10, inst); case 11: return new XRelationalExpression_Group(this, this, 11, inst); case 12: return new XOtherOperatorExpression_Group(this, this, 12, inst); case 13: return new XAdditiveExpression_Group(this, this, 13, inst); case 14: return new XMultiplicativeExpression_Group(this, this, 14, inst); case 15: return new XUnaryOperation_Alternatives(this, this, 15, inst); case 16: return new XCastedExpression_Group(this, this, 16, inst); case 17: return new XMemberFeatureCall_Group(this, this, 17, inst); case 18: return new XLiteral_Alternatives(this, this, 18, inst); case 19: return new XClosure_Group(this, this, 19, inst); case 20: return new XShortClosure_Group(this, this, 20, inst); case 21: return new XParenthesizedExpression_Group(this, this, 21, inst); case 22: return new XIfExpression_Group(this, this, 22, inst); case 23: return new XSwitchExpression_Group(this, this, 23, inst); case 24: return new XCasePart_Group(this, this, 24, inst); case 25: return new XForLoopExpression_Group(this, this, 25, inst); case 26: return new XWhileExpression_Group(this, this, 26, inst); case 27: return new XDoWhileExpression_Group(this, this, 27, inst); case 28: return new XBlockExpression_Group(this, this, 28, inst); case 29: return new XExpressionInsideBlock_Alternatives(this, this, 29, inst); case 30: return new XVariableDeclaration_Group(this, this, 30, inst); case 31: return new JvmFormalParameter_Group(this, this, 31, inst); case 32: return new XFeatureCall_Group(this, this, 32, inst); case 33: return new XConstructorCall_Group(this, this, 33, inst); case 34: return new XBooleanLiteral_Group(this, this, 34, inst); case 35: return new XNullLiteral_Group(this, this, 35, inst); case 36: return new XIntLiteral_Group(this, this, 36, inst); case 37: return new XStringLiteral_Group(this, this, 37, inst); case 38: return new XTypeLiteral_Group(this, this, 38, inst); case 39: return new XThrowExpression_Group(this, this, 39, inst); case 40: return new XReturnExpression_Group(this, this, 40, inst); case 41: return new XTryCatchFinallyExpression_Group(this, this, 41, inst); case 42: return new XCatchClause_Group(this, this, 42, inst); case 43: return new JvmTypeReference_Alternatives(this, this, 43, inst); case 44: return new XFunctionTypeRef_Group(this, this, 44, inst); case 45: return new JvmParameterizedTypeReference_Group(this, this, 45, inst); case 46: return new JvmArgumentTypeReference_Alternatives(this, this, 46, inst); case 47: return new JvmWildcardTypeReference_Group(this, this, 47, inst); case 48: return new JvmUpperBound_Group(this, this, 48, inst); case 49: return new JvmUpperBoundAnded_Group(this, this, 49, inst); case 50: return new JvmLowerBound_Group(this, this, 50, inst); case 51: return new JvmTypeParameter_Group(this, this, 51, inst); default: return null; } } } /************ begin Rule XScript **************** * * XScript returns xbase::XExpression: * {XScript} (expressions+=XExpression | expressions+=XScriptExpression | expressions+=XVariableDeclaration)*; * **/ // {XScript} (expressions+=XExpression | expressions+=XScriptExpression | expressions+=XVariableDeclaration)* protected class XScript_Group extends GroupToken { public XScript_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXScriptAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XScript_Alternatives_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XScript_XScriptAction_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXScriptAccess().getXScriptAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XScript} protected class XScript_XScriptAction_0 extends ActionToken { public XScript_XScriptAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXScriptAccess().getXScriptAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // (expressions+=XExpression | expressions+=XScriptExpression | expressions+=XVariableDeclaration)* protected class XScript_Alternatives_1 extends AlternativesToken { public XScript_Alternatives_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getXScriptAccess().getAlternatives_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XScript_ExpressionsAssignment_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new XScript_ExpressionsAssignment_1_1(lastRuleCallOrigin, this, 1, inst); case 2: return new XScript_ExpressionsAssignment_1_2(lastRuleCallOrigin, this, 2, inst); default: return null; } } } // expressions+=XExpression protected class XScript_ExpressionsAssignment_1_0 extends AssignmentToken { public XScript_ExpressionsAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXScriptAccess().getExpressionsAssignment_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("expressions",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expressions"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXScriptAccess().getExpressionsXExpressionParserRuleCall_1_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XScript_Alternatives_1(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new XScript_XScriptAction_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // expressions+=XScriptExpression protected class XScript_ExpressionsAssignment_1_1 extends AssignmentToken { public XScript_ExpressionsAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXScriptAccess().getExpressionsAssignment_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XScriptExpression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("expressions",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expressions"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXScriptExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXScriptAccess().getExpressionsXScriptExpressionParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XScript_Alternatives_1(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new XScript_XScriptAction_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // expressions+=XVariableDeclaration protected class XScript_ExpressionsAssignment_1_2 extends AssignmentToken { public XScript_ExpressionsAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXScriptAccess().getExpressionsAssignment_1_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XVariableDeclaration_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("expressions",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expressions"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXVariableDeclarationRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXScriptAccess().getExpressionsXVariableDeclarationParserRuleCall_1_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XScript_Alternatives_1(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new XScript_XScriptAction_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XScript ****************/ /************ begin Rule XScriptExpression **************** * * XScriptExpression returns xbase::XExpression: * XImport | XEPackageImport; * **/ // XImport | XEPackageImport protected class XScriptExpression_Alternatives extends AlternativesToken { public XScriptExpression_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getXScriptExpressionAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XScriptExpression_XImportParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new XScriptExpression_XEPackageImportParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXEPackageImportRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXImportRule().getType().getClassifier()) return null; return eObjectConsumer; } } // XImport protected class XScriptExpression_XImportParserRuleCall_0 extends RuleCallToken { public XScriptExpression_XImportParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXScriptExpressionAccess().getXImportParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XImport_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXImportRule().getType().getClassifier()) return null; if(checkForRecursion(XImport_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XEPackageImport protected class XScriptExpression_XEPackageImportParserRuleCall_1 extends RuleCallToken { public XScriptExpression_XEPackageImportParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXScriptExpressionAccess().getXEPackageImportParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XEPackageImport_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXEPackageImportRule().getType().getClassifier()) return null; if(checkForRecursion(XEPackageImport_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } /************ end Rule XScriptExpression ****************/ /************ begin Rule XPrimaryExpression **************** * * XPrimaryExpression returns xbase::XExpression: * XConstructorCall | XBlockExpression | XSwitchExpression | XFeatureCall | XLiteral | XIfExpression | XForLoopExpression * | XWhileExpression | XDoWhileExpression | XThrowExpression | XReturnExpression | XTryCatchFinallyExpression | * XParenthesizedExpression | XNewEObject; * **/ // XConstructorCall | XBlockExpression | XSwitchExpression | XFeatureCall | XLiteral | XIfExpression | XForLoopExpression | // XWhileExpression | XDoWhileExpression | XThrowExpression | XReturnExpression | XTryCatchFinallyExpression | // XParenthesizedExpression | XNewEObject protected class XPrimaryExpression_Alternatives extends AlternativesToken { public XPrimaryExpression_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getXPrimaryExpressionAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XPrimaryExpression_XConstructorCallParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new XPrimaryExpression_XBlockExpressionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); case 2: return new XPrimaryExpression_XSwitchExpressionParserRuleCall_2(lastRuleCallOrigin, this, 2, inst); case 3: return new XPrimaryExpression_XFeatureCallParserRuleCall_3(lastRuleCallOrigin, this, 3, inst); case 4: return new XPrimaryExpression_XLiteralParserRuleCall_4(lastRuleCallOrigin, this, 4, inst); case 5: return new XPrimaryExpression_XIfExpressionParserRuleCall_5(lastRuleCallOrigin, this, 5, inst); case 6: return new XPrimaryExpression_XForLoopExpressionParserRuleCall_6(lastRuleCallOrigin, this, 6, inst); case 7: return new XPrimaryExpression_XWhileExpressionParserRuleCall_7(lastRuleCallOrigin, this, 7, inst); case 8: return new XPrimaryExpression_XDoWhileExpressionParserRuleCall_8(lastRuleCallOrigin, this, 8, inst); case 9: return new XPrimaryExpression_XThrowExpressionParserRuleCall_9(lastRuleCallOrigin, this, 9, inst); case 10: return new XPrimaryExpression_XReturnExpressionParserRuleCall_10(lastRuleCallOrigin, this, 10, inst); case 11: return new XPrimaryExpression_XTryCatchFinallyExpressionParserRuleCall_11(lastRuleCallOrigin, this, 11, inst); case 12: return new XPrimaryExpression_XParenthesizedExpressionParserRuleCall_12(lastRuleCallOrigin, this, 12, inst); case 13: return new XPrimaryExpression_XNewEObjectParserRuleCall_13(lastRuleCallOrigin, this, 13, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNewEObjectRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // XConstructorCall protected class XPrimaryExpression_XConstructorCallParserRuleCall_0 extends RuleCallToken { public XPrimaryExpression_XConstructorCallParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XConstructorCall_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0().getType().getClassifier()) return null; if(checkForRecursion(XConstructorCall_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XBlockExpression protected class XPrimaryExpression_XBlockExpressionParserRuleCall_1 extends RuleCallToken { public XPrimaryExpression_XBlockExpressionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XBlockExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0().getType().getClassifier()) return null; if(checkForRecursion(XBlockExpression_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XSwitchExpression protected class XPrimaryExpression_XSwitchExpressionParserRuleCall_2 extends RuleCallToken { public XPrimaryExpression_XSwitchExpressionParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XSwitchExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0().getType().getClassifier()) return null; if(checkForRecursion(XSwitchExpression_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XFeatureCall protected class XPrimaryExpression_XFeatureCallParserRuleCall_3 extends RuleCallToken { public XPrimaryExpression_XFeatureCallParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFeatureCall_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0().getType().getClassifier()) return null; if(checkForRecursion(XFeatureCall_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XLiteral protected class XPrimaryExpression_XLiteralParserRuleCall_4 extends RuleCallToken { public XPrimaryExpression_XLiteralParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XLiteral_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier()) return null; if(checkForRecursion(XLiteral_Alternatives.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XIfExpression protected class XPrimaryExpression_XIfExpressionParserRuleCall_5 extends RuleCallToken { public XPrimaryExpression_XIfExpressionParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XIfExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0().getType().getClassifier()) return null; if(checkForRecursion(XIfExpression_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XForLoopExpression protected class XPrimaryExpression_XForLoopExpressionParserRuleCall_6 extends RuleCallToken { public XPrimaryExpression_XForLoopExpressionParserRuleCall_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XForLoopExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0().getType().getClassifier()) return null; if(checkForRecursion(XForLoopExpression_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XWhileExpression protected class XPrimaryExpression_XWhileExpressionParserRuleCall_7 extends RuleCallToken { public XPrimaryExpression_XWhileExpressionParserRuleCall_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_7(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XWhileExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0().getType().getClassifier()) return null; if(checkForRecursion(XWhileExpression_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XDoWhileExpression protected class XPrimaryExpression_XDoWhileExpressionParserRuleCall_8 extends RuleCallToken { public XPrimaryExpression_XDoWhileExpressionParserRuleCall_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_8(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XDoWhileExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0().getType().getClassifier()) return null; if(checkForRecursion(XDoWhileExpression_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XThrowExpression protected class XPrimaryExpression_XThrowExpressionParserRuleCall_9 extends RuleCallToken { public XPrimaryExpression_XThrowExpressionParserRuleCall_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_9(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XThrowExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0().getType().getClassifier()) return null; if(checkForRecursion(XThrowExpression_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XReturnExpression protected class XPrimaryExpression_XReturnExpressionParserRuleCall_10 extends RuleCallToken { public XPrimaryExpression_XReturnExpressionParserRuleCall_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_10(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XReturnExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0().getType().getClassifier()) return null; if(checkForRecursion(XReturnExpression_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XTryCatchFinallyExpression protected class XPrimaryExpression_XTryCatchFinallyExpressionParserRuleCall_11 extends RuleCallToken { public XPrimaryExpression_XTryCatchFinallyExpressionParserRuleCall_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_11(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XTryCatchFinallyExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0().getType().getClassifier()) return null; if(checkForRecursion(XTryCatchFinallyExpression_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XParenthesizedExpression protected class XPrimaryExpression_XParenthesizedExpressionParserRuleCall_12 extends RuleCallToken { public XPrimaryExpression_XParenthesizedExpressionParserRuleCall_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_12(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XParenthesizedExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(XParenthesizedExpression_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XNewEObject protected class XPrimaryExpression_XNewEObjectParserRuleCall_13 extends RuleCallToken { public XPrimaryExpression_XNewEObjectParserRuleCall_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXPrimaryExpressionAccess().getXNewEObjectParserRuleCall_13(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XNewEObject_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXNewEObjectRule().getType().getClassifier()) return null; if(checkForRecursion(XNewEObject_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } /************ end Rule XPrimaryExpression ****************/ /************ begin Rule XNewEObject **************** * * // temporary syntax * XNewEObject: * "create" type=[ecore::EClass]; * **/ // "create" type=[ecore::EClass] protected class XNewEObject_Group extends GroupToken { public XNewEObject_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXNewEObjectAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XNewEObject_TypeAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXNewEObjectRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "create" protected class XNewEObject_CreateKeyword_0 extends KeywordToken { public XNewEObject_CreateKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXNewEObjectAccess().getCreateKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // type=[ecore::EClass] protected class XNewEObject_TypeAssignment_1 extends AssignmentToken { public XNewEObject_TypeAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXNewEObjectAccess().getTypeAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XNewEObject_CreateKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("type",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXNewEObjectAccess().getTypeEClassCrossReference_1_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getXNewEObjectAccess().getTypeEClassCrossReference_1_0(); return obj; } } return null; } } /************ end Rule XNewEObject ****************/ /************ begin Rule XImport **************** * * XImport: * "import" (static?="static" extension?="extension"?)? importedNamespace=QualifiedNameWithWildCard; * **/ // "import" (static?="static" extension?="extension"?)? importedNamespace=QualifiedNameWithWildCard protected class XImport_Group extends GroupToken { public XImport_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXImportAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XImport_ImportedNamespaceAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXImportRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "import" protected class XImport_ImportKeyword_0 extends KeywordToken { public XImport_ImportKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXImportAccess().getImportKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // (static?="static" extension?="extension"?)? protected class XImport_Group_1 extends GroupToken { public XImport_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXImportAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XImport_ExtensionAssignment_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XImport_StaticAssignment_1_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // static?="static" protected class XImport_StaticAssignment_1_0 extends AssignmentToken { public XImport_StaticAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXImportAccess().getStaticAssignment_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XImport_ImportKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("static",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("static"); if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl type = AssignmentType.KEYWORD; element = grammarAccess.getXImportAccess().getStaticStaticKeyword_1_0_0(); return obj; } return null; } } // extension?="extension"? protected class XImport_ExtensionAssignment_1_1 extends AssignmentToken { public XImport_ExtensionAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXImportAccess().getExtensionAssignment_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XImport_StaticAssignment_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("extension",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("extension"); if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl type = AssignmentType.KEYWORD; element = grammarAccess.getXImportAccess().getExtensionExtensionKeyword_1_1_0(); return obj; } return null; } } // importedNamespace=QualifiedNameWithWildCard protected class XImport_ImportedNamespaceAssignment_2 extends AssignmentToken { public XImport_ImportedNamespaceAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXImportAccess().getImportedNamespaceAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XImport_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XImport_ImportKeyword_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("importedNamespace",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("importedNamespace"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getXImportAccess().getImportedNamespaceQualifiedNameWithWildCardParserRuleCall_2_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getXImportAccess().getImportedNamespaceQualifiedNameWithWildCardParserRuleCall_2_0(); return obj; } return null; } } /************ end Rule XImport ****************/ /************ begin Rule XEPackageImport **************** * * XEPackageImport: * "import" nsUri=STRING ("as" name=ID)?; * **/ // "import" nsUri=STRING ("as" name=ID)? protected class XEPackageImport_Group extends GroupToken { public XEPackageImport_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXEPackageImportAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XEPackageImport_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new XEPackageImport_NsUriAssignment_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXEPackageImportRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "import" protected class XEPackageImport_ImportKeyword_0 extends KeywordToken { public XEPackageImport_ImportKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXEPackageImportAccess().getImportKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // nsUri=STRING protected class XEPackageImport_NsUriAssignment_1 extends AssignmentToken { public XEPackageImport_NsUriAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXEPackageImportAccess().getNsUriAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XEPackageImport_ImportKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("nsUri",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("nsUri"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getXEPackageImportAccess().getNsUriSTRINGTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getXEPackageImportAccess().getNsUriSTRINGTerminalRuleCall_1_0(); return obj; } return null; } } // ("as" name=ID)? protected class XEPackageImport_Group_2 extends GroupToken { public XEPackageImport_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXEPackageImportAccess().getGroup_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XEPackageImport_NameAssignment_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "as" protected class XEPackageImport_AsKeyword_2_0 extends KeywordToken { public XEPackageImport_AsKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXEPackageImportAccess().getAsKeyword_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XEPackageImport_NsUriAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // name=ID protected class XEPackageImport_NameAssignment_2_1 extends AssignmentToken { public XEPackageImport_NameAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXEPackageImportAccess().getNameAssignment_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XEPackageImport_AsKeyword_2_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("name",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getXEPackageImportAccess().getNameIDTerminalRuleCall_2_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getXEPackageImportAccess().getNameIDTerminalRuleCall_2_1_0(); return obj; } return null; } } /************ end Rule XEPackageImport ****************/ /************ begin Rule XExpression **************** * * XExpression: * XAssignment; * **/ // XAssignment protected class XExpression_XAssignmentParserRuleCall extends RuleCallToken { public XExpression_XAssignmentParserRuleCall(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAssignment_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNewEObjectRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0().getType().getClassifier()) return null; if(checkForRecursion(XAssignment_Alternatives.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } /************ end Rule XExpression ****************/ /************ begin Rule XAssignment **************** * * XAssignment returns XExpression: * {XAssignment} / * (declaringType=[types::JvmDeclaredType] '::')? * / feature=[types::JvmIdentifiableElement|ValidID] * OpSingleAssign value=XAssignment | XOrExpression (=> ({XBinaryOperation.leftOperand=current} * feature=[types::JvmIdentifiableElement|OpMultiAssign]) rightOperand=XAssignment)?; * **/ // {XAssignment} / * (declaringType=[types::JvmDeclaredType] '::')? * / feature=[types::JvmIdentifiableElement|ValidID] // OpSingleAssign value=XAssignment | XOrExpression (=> ({XBinaryOperation.leftOperand=current} // feature=[types::JvmIdentifiableElement|OpMultiAssign]) rightOperand=XAssignment)? protected class XAssignment_Alternatives extends AlternativesToken { public XAssignment_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getXAssignmentAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAssignment_Group_0(lastRuleCallOrigin, this, 0, inst); case 1: return new XAssignment_Group_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNewEObjectRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XAssignment} / * (declaringType=[types::JvmDeclaredType] '::')? * / feature=[types::JvmIdentifiableElement|ValidID] // OpSingleAssign value=XAssignment protected class XAssignment_Group_0 extends GroupToken { public XAssignment_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXAssignmentAccess().getGroup_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAssignment_ValueAssignment_0_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XAssignment} protected class XAssignment_XAssignmentAction_0_0 extends ActionToken { public XAssignment_XAssignmentAction_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // / * (declaringType=[types::JvmDeclaredType] '::')? * / feature=[types::JvmIdentifiableElement|ValidID] protected class XAssignment_FeatureAssignment_0_1 extends AssignmentToken { public XAssignment_FeatureAssignment_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAssignment_XAssignmentAction_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("feature",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("feature"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0().getType().getClassifier()) && crossRefSerializer.isValid(obj.getEObject(), grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0(), (EObject)value , null)) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0(); return obj; } } return null; } } // OpSingleAssign protected class XAssignment_OpSingleAssignParserRuleCall_0_2 extends UnassignedTextToken { public XAssignment_OpSingleAssignParserRuleCall_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAssignment_FeatureAssignment_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // value=XAssignment protected class XAssignment_ValueAssignment_0_3 extends AssignmentToken { public XAssignment_ValueAssignment_0_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXAssignmentAccess().getValueAssignment_0_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAssignment_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("value",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXAssignmentRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XAssignment_OpSingleAssignParserRuleCall_0_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // XOrExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMultiAssign]) // rightOperand=XAssignment)? protected class XAssignment_Group_1 extends GroupToken { public XAssignment_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXAssignmentAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAssignment_Group_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XAssignment_XOrExpressionParserRuleCall_1_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // XOrExpression protected class XAssignment_XOrExpressionParserRuleCall_1_0 extends RuleCallToken { public XAssignment_XOrExpressionParserRuleCall_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XOrExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(XOrExpression_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMultiAssign]) // rightOperand=XAssignment)? protected class XAssignment_Group_1_1 extends GroupToken { public XAssignment_Group_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXAssignmentAccess().getGroup_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAssignment_RightOperandAssignment_1_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // => ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMultiAssign]) protected class XAssignment_Group_1_1_0 extends GroupToken { public XAssignment_Group_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXAssignmentAccess().getGroup_1_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAssignment_Group_1_1_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMultiAssign] protected class XAssignment_Group_1_1_0_0 extends GroupToken { public XAssignment_Group_1_1_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAssignment_FeatureAssignment_1_1_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XBinaryOperation.leftOperand=current} protected class XAssignment_XBinaryOperationLeftOperandAction_1_1_0_0_0 extends ActionToken { public XAssignment_XBinaryOperationLeftOperandAction_1_1_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAssignment_XOrExpressionParserRuleCall_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("leftOperand", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("leftOperand")) return null; return createEObjectConsumer((EObject) val); } } // feature=[types::JvmIdentifiableElement|OpMultiAssign] protected class XAssignment_FeatureAssignment_1_1_0_0_1 extends AssignmentToken { public XAssignment_FeatureAssignment_1_1_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAssignment_XBinaryOperationLeftOperandAction_1_1_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("feature",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("feature"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0().getType().getClassifier()) && crossRefSerializer.isValid(obj.getEObject(), grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0(), (EObject)value , null)) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0(); return obj; } } return null; } } // rightOperand=XAssignment protected class XAssignment_RightOperandAssignment_1_1_1 extends AssignmentToken { public XAssignment_RightOperandAssignment_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAssignment_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("rightOperand",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rightOperand"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXAssignmentRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XAssignment_Group_1_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XAssignment ****************/ /************ begin Rule XOrExpression **************** * * XOrExpression returns XExpression: * XAndExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOr]) * rightOperand=XAndExpression)*; * **/ // XAndExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOr]) // rightOperand=XAndExpression)* protected class XOrExpression_Group extends GroupToken { public XOrExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXOrExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XOrExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XOrExpression_XAndExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNewEObjectRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // XAndExpression protected class XOrExpression_XAndExpressionParserRuleCall_0 extends RuleCallToken { public XOrExpression_XAndExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAndExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(XAndExpression_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOr]) rightOperand=XAndExpression)* protected class XOrExpression_Group_1 extends GroupToken { public XOrExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXOrExpressionAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XOrExpression_RightOperandAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // => ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOr]) protected class XOrExpression_Group_1_0 extends GroupToken { public XOrExpression_Group_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXOrExpressionAccess().getGroup_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XOrExpression_Group_1_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOr] protected class XOrExpression_Group_1_0_0 extends GroupToken { public XOrExpression_Group_1_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXOrExpressionAccess().getGroup_1_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XOrExpression_FeatureAssignment_1_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XBinaryOperation.leftOperand=current} protected class XOrExpression_XBinaryOperationLeftOperandAction_1_0_0_0 extends ActionToken { public XOrExpression_XBinaryOperationLeftOperandAction_1_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XOrExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XOrExpression_XAndExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("leftOperand", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("leftOperand")) return null; return createEObjectConsumer((EObject) val); } } // feature=[types::JvmIdentifiableElement|OpOr] protected class XOrExpression_FeatureAssignment_1_0_0_1 extends AssignmentToken { public XOrExpression_FeatureAssignment_1_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XOrExpression_XBinaryOperationLeftOperandAction_1_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("feature",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("feature"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0().getType().getClassifier()) && crossRefSerializer.isValid(obj.getEObject(), grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0(), (EObject)value , null)) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0(); return obj; } } return null; } } // rightOperand=XAndExpression protected class XOrExpression_RightOperandAssignment_1_1 extends AssignmentToken { public XOrExpression_RightOperandAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAndExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("rightOperand",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rightOperand"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXAndExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XOrExpression_Group_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XOrExpression ****************/ /************ begin Rule XAndExpression **************** * * XAndExpression returns XExpression: * XEqualityExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAnd]) * rightOperand=XEqualityExpression)*; * **/ // XEqualityExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAnd]) // rightOperand=XEqualityExpression)* protected class XAndExpression_Group extends GroupToken { public XAndExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXAndExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAndExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XAndExpression_XEqualityExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNewEObjectRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // XEqualityExpression protected class XAndExpression_XEqualityExpressionParserRuleCall_0 extends RuleCallToken { public XAndExpression_XEqualityExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XEqualityExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(XEqualityExpression_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAnd]) // rightOperand=XEqualityExpression)* protected class XAndExpression_Group_1 extends GroupToken { public XAndExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXAndExpressionAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAndExpression_RightOperandAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // => ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAnd]) protected class XAndExpression_Group_1_0 extends GroupToken { public XAndExpression_Group_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXAndExpressionAccess().getGroup_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAndExpression_Group_1_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAnd] protected class XAndExpression_Group_1_0_0 extends GroupToken { public XAndExpression_Group_1_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXAndExpressionAccess().getGroup_1_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAndExpression_FeatureAssignment_1_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XBinaryOperation.leftOperand=current} protected class XAndExpression_XBinaryOperationLeftOperandAction_1_0_0_0 extends ActionToken { public XAndExpression_XBinaryOperationLeftOperandAction_1_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAndExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XAndExpression_XEqualityExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("leftOperand", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("leftOperand")) return null; return createEObjectConsumer((EObject) val); } } // feature=[types::JvmIdentifiableElement|OpAnd] protected class XAndExpression_FeatureAssignment_1_0_0_1 extends AssignmentToken { public XAndExpression_FeatureAssignment_1_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAndExpression_XBinaryOperationLeftOperandAction_1_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("feature",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("feature"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0().getType().getClassifier()) && crossRefSerializer.isValid(obj.getEObject(), grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0(), (EObject)value , null)) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0(); return obj; } } return null; } } // rightOperand=XEqualityExpression protected class XAndExpression_RightOperandAssignment_1_1 extends AssignmentToken { public XAndExpression_RightOperandAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XEqualityExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("rightOperand",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rightOperand"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXEqualityExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XAndExpression_Group_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XAndExpression ****************/ /************ begin Rule XEqualityExpression **************** * * XEqualityExpression returns XExpression: * XRelationalExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpEquality]) * rightOperand=XRelationalExpression)*; * **/ // XRelationalExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpEquality]) // rightOperand=XRelationalExpression)* protected class XEqualityExpression_Group extends GroupToken { public XEqualityExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXEqualityExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XEqualityExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XEqualityExpression_XRelationalExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNewEObjectRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // XRelationalExpression protected class XEqualityExpression_XRelationalExpressionParserRuleCall_0 extends RuleCallToken { public XEqualityExpression_XRelationalExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XRelationalExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(XRelationalExpression_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpEquality]) // rightOperand=XRelationalExpression)* protected class XEqualityExpression_Group_1 extends GroupToken { public XEqualityExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXEqualityExpressionAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XEqualityExpression_RightOperandAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // => ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpEquality]) protected class XEqualityExpression_Group_1_0 extends GroupToken { public XEqualityExpression_Group_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXEqualityExpressionAccess().getGroup_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XEqualityExpression_Group_1_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpEquality] protected class XEqualityExpression_Group_1_0_0 extends GroupToken { public XEqualityExpression_Group_1_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XEqualityExpression_FeatureAssignment_1_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XBinaryOperation.leftOperand=current} protected class XEqualityExpression_XBinaryOperationLeftOperandAction_1_0_0_0 extends ActionToken { public XEqualityExpression_XBinaryOperationLeftOperandAction_1_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XEqualityExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XEqualityExpression_XRelationalExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("leftOperand", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("leftOperand")) return null; return createEObjectConsumer((EObject) val); } } // feature=[types::JvmIdentifiableElement|OpEquality] protected class XEqualityExpression_FeatureAssignment_1_0_0_1 extends AssignmentToken { public XEqualityExpression_FeatureAssignment_1_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XEqualityExpression_XBinaryOperationLeftOperandAction_1_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("feature",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("feature"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0().getType().getClassifier()) && crossRefSerializer.isValid(obj.getEObject(), grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0(), (EObject)value , null)) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0(); return obj; } } return null; } } // rightOperand=XRelationalExpression protected class XEqualityExpression_RightOperandAssignment_1_1 extends AssignmentToken { public XEqualityExpression_RightOperandAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XRelationalExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("rightOperand",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rightOperand"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXRelationalExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XEqualityExpression_Group_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XEqualityExpression ****************/ /************ begin Rule XRelationalExpression **************** * * XRelationalExpression returns XExpression: * XOtherOperatorExpression (=> ({XInstanceOfExpression.expression=current} "instanceof") * type=[types::JvmType|QualifiedName] | => ({XBinaryOperation.leftOperand=current} * feature=[types::JvmIdentifiableElement|OpCompare]) rightOperand=XOtherOperatorExpression)*; * **/ // XOtherOperatorExpression (=> ({XInstanceOfExpression.expression=current} "instanceof") // type=[types::JvmType|QualifiedName] | => ({XBinaryOperation.leftOperand=current} // feature=[types::JvmIdentifiableElement|OpCompare]) rightOperand=XOtherOperatorExpression)* protected class XRelationalExpression_Group extends GroupToken { public XRelationalExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXRelationalExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XRelationalExpression_Alternatives_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XRelationalExpression_XOtherOperatorExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNewEObjectRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // XOtherOperatorExpression protected class XRelationalExpression_XOtherOperatorExpressionParserRuleCall_0 extends RuleCallToken { public XRelationalExpression_XOtherOperatorExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XOtherOperatorExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(XOtherOperatorExpression_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // (=> ({XInstanceOfExpression.expression=current} "instanceof") type=[types::JvmType|QualifiedName] | => // ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpCompare]) // rightOperand=XOtherOperatorExpression)* protected class XRelationalExpression_Alternatives_1 extends AlternativesToken { public XRelationalExpression_Alternatives_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getXRelationalExpressionAccess().getAlternatives_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XRelationalExpression_Group_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new XRelationalExpression_Group_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // => ({XInstanceOfExpression.expression=current} "instanceof") type=[types::JvmType|QualifiedName] protected class XRelationalExpression_Group_1_0 extends GroupToken { public XRelationalExpression_Group_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXRelationalExpressionAccess().getGroup_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XRelationalExpression_TypeAssignment_1_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // => ({XInstanceOfExpression.expression=current} "instanceof") protected class XRelationalExpression_Group_1_0_0 extends GroupToken { public XRelationalExpression_Group_1_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XRelationalExpression_Group_1_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XInstanceOfExpression.expression=current} "instanceof" protected class XRelationalExpression_Group_1_0_0_0 extends GroupToken { public XRelationalExpression_Group_1_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XRelationalExpression_InstanceofKeyword_1_0_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XInstanceOfExpression.expression=current} protected class XRelationalExpression_XInstanceOfExpressionExpressionAction_1_0_0_0_0 extends ActionToken { public XRelationalExpression_XInstanceOfExpressionExpressionAction_1_0_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XRelationalExpression_Alternatives_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XRelationalExpression_XOtherOperatorExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("expression", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("expression")) return null; return createEObjectConsumer((EObject) val); } } // "instanceof" protected class XRelationalExpression_InstanceofKeyword_1_0_0_0_1 extends KeywordToken { public XRelationalExpression_InstanceofKeyword_1_0_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XRelationalExpression_XInstanceOfExpressionExpressionAction_1_0_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // type=[types::JvmType|QualifiedName] protected class XRelationalExpression_TypeAssignment_1_0_1 extends AssignmentToken { public XRelationalExpression_TypeAssignment_1_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XRelationalExpression_Group_1_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("type",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeCrossReference_1_0_1_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeCrossReference_1_0_1_0(); return obj; } } return null; } } // => ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpCompare]) // rightOperand=XOtherOperatorExpression protected class XRelationalExpression_Group_1_1 extends GroupToken { public XRelationalExpression_Group_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXRelationalExpressionAccess().getGroup_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XRelationalExpression_RightOperandAssignment_1_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // => ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpCompare]) protected class XRelationalExpression_Group_1_1_0 extends GroupToken { public XRelationalExpression_Group_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XRelationalExpression_Group_1_1_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpCompare] protected class XRelationalExpression_Group_1_1_0_0 extends GroupToken { public XRelationalExpression_Group_1_1_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XRelationalExpression_FeatureAssignment_1_1_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XBinaryOperation.leftOperand=current} protected class XRelationalExpression_XBinaryOperationLeftOperandAction_1_1_0_0_0 extends ActionToken { public XRelationalExpression_XBinaryOperationLeftOperandAction_1_1_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XRelationalExpression_Alternatives_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XRelationalExpression_XOtherOperatorExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("leftOperand", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("leftOperand")) return null; return createEObjectConsumer((EObject) val); } } // feature=[types::JvmIdentifiableElement|OpCompare] protected class XRelationalExpression_FeatureAssignment_1_1_0_0_1 extends AssignmentToken { public XRelationalExpression_FeatureAssignment_1_1_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XRelationalExpression_XBinaryOperationLeftOperandAction_1_1_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("feature",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("feature"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0().getType().getClassifier()) && crossRefSerializer.isValid(obj.getEObject(), grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0(), (EObject)value , null)) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0(); return obj; } } return null; } } // rightOperand=XOtherOperatorExpression protected class XRelationalExpression_RightOperandAssignment_1_1_1 extends AssignmentToken { public XRelationalExpression_RightOperandAssignment_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XOtherOperatorExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("rightOperand",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rightOperand"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXOtherOperatorExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XRelationalExpression_Group_1_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XRelationalExpression ****************/ /************ begin Rule XOtherOperatorExpression **************** * * XOtherOperatorExpression returns XExpression: * XAdditiveExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOther]) * rightOperand=XAdditiveExpression)*; * **/ // XAdditiveExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOther]) // rightOperand=XAdditiveExpression)* protected class XOtherOperatorExpression_Group extends GroupToken { public XOtherOperatorExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXOtherOperatorExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XOtherOperatorExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XOtherOperatorExpression_XAdditiveExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNewEObjectRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // XAdditiveExpression protected class XOtherOperatorExpression_XAdditiveExpressionParserRuleCall_0 extends RuleCallToken { public XOtherOperatorExpression_XAdditiveExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAdditiveExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(XAdditiveExpression_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOther]) // rightOperand=XAdditiveExpression)* protected class XOtherOperatorExpression_Group_1 extends GroupToken { public XOtherOperatorExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XOtherOperatorExpression_RightOperandAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // => ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOther]) protected class XOtherOperatorExpression_Group_1_0 extends GroupToken { public XOtherOperatorExpression_Group_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XOtherOperatorExpression_Group_1_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpOther] protected class XOtherOperatorExpression_Group_1_0_0 extends GroupToken { public XOtherOperatorExpression_Group_1_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XOtherOperatorExpression_FeatureAssignment_1_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XBinaryOperation.leftOperand=current} protected class XOtherOperatorExpression_XBinaryOperationLeftOperandAction_1_0_0_0 extends ActionToken { public XOtherOperatorExpression_XBinaryOperationLeftOperandAction_1_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XOtherOperatorExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XOtherOperatorExpression_XAdditiveExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("leftOperand", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("leftOperand")) return null; return createEObjectConsumer((EObject) val); } } // feature=[types::JvmIdentifiableElement|OpOther] protected class XOtherOperatorExpression_FeatureAssignment_1_0_0_1 extends AssignmentToken { public XOtherOperatorExpression_FeatureAssignment_1_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XOtherOperatorExpression_XBinaryOperationLeftOperandAction_1_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("feature",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("feature"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0().getType().getClassifier()) && crossRefSerializer.isValid(obj.getEObject(), grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0(), (EObject)value , null)) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0(); return obj; } } return null; } } // rightOperand=XAdditiveExpression protected class XOtherOperatorExpression_RightOperandAssignment_1_1 extends AssignmentToken { public XOtherOperatorExpression_RightOperandAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAdditiveExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("rightOperand",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rightOperand"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXAdditiveExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XOtherOperatorExpression_Group_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XOtherOperatorExpression ****************/ /************ begin Rule XAdditiveExpression **************** * * XAdditiveExpression returns XExpression: * XMultiplicativeExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAdd]) * rightOperand=XMultiplicativeExpression)*; * **/ // XMultiplicativeExpression (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAdd]) // rightOperand=XMultiplicativeExpression)* protected class XAdditiveExpression_Group extends GroupToken { public XAdditiveExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXAdditiveExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAdditiveExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XAdditiveExpression_XMultiplicativeExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNewEObjectRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // XMultiplicativeExpression protected class XAdditiveExpression_XMultiplicativeExpressionParserRuleCall_0 extends RuleCallToken { public XAdditiveExpression_XMultiplicativeExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMultiplicativeExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(XMultiplicativeExpression_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAdd]) // rightOperand=XMultiplicativeExpression)* protected class XAdditiveExpression_Group_1 extends GroupToken { public XAdditiveExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXAdditiveExpressionAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAdditiveExpression_RightOperandAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // => ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAdd]) protected class XAdditiveExpression_Group_1_0 extends GroupToken { public XAdditiveExpression_Group_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAdditiveExpression_Group_1_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpAdd] protected class XAdditiveExpression_Group_1_0_0 extends GroupToken { public XAdditiveExpression_Group_1_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAdditiveExpression_FeatureAssignment_1_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XBinaryOperation.leftOperand=current} protected class XAdditiveExpression_XBinaryOperationLeftOperandAction_1_0_0_0 extends ActionToken { public XAdditiveExpression_XBinaryOperationLeftOperandAction_1_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAdditiveExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XAdditiveExpression_XMultiplicativeExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("leftOperand", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("leftOperand")) return null; return createEObjectConsumer((EObject) val); } } // feature=[types::JvmIdentifiableElement|OpAdd] protected class XAdditiveExpression_FeatureAssignment_1_0_0_1 extends AssignmentToken { public XAdditiveExpression_FeatureAssignment_1_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAdditiveExpression_XBinaryOperationLeftOperandAction_1_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("feature",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("feature"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0().getType().getClassifier()) && crossRefSerializer.isValid(obj.getEObject(), grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0(), (EObject)value , null)) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0(); return obj; } } return null; } } // rightOperand=XMultiplicativeExpression protected class XAdditiveExpression_RightOperandAssignment_1_1 extends AssignmentToken { public XAdditiveExpression_RightOperandAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMultiplicativeExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("rightOperand",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rightOperand"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXMultiplicativeExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XAdditiveExpression_Group_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XAdditiveExpression ****************/ /************ begin Rule XMultiplicativeExpression **************** * * XMultiplicativeExpression returns XExpression: * XUnaryOperation (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMulti]) * rightOperand=XUnaryOperation)*; * **/ // XUnaryOperation (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMulti]) // rightOperand=XUnaryOperation)* protected class XMultiplicativeExpression_Group extends GroupToken { public XMultiplicativeExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXMultiplicativeExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMultiplicativeExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XMultiplicativeExpression_XUnaryOperationParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNewEObjectRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // XUnaryOperation protected class XMultiplicativeExpression_XUnaryOperationParserRuleCall_0 extends RuleCallToken { public XMultiplicativeExpression_XUnaryOperationParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XUnaryOperation_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(XUnaryOperation_Alternatives.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // (=> ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMulti]) // rightOperand=XUnaryOperation)* protected class XMultiplicativeExpression_Group_1 extends GroupToken { public XMultiplicativeExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMultiplicativeExpression_RightOperandAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // => ({XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMulti]) protected class XMultiplicativeExpression_Group_1_0 extends GroupToken { public XMultiplicativeExpression_Group_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMultiplicativeExpression_Group_1_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XBinaryOperation.leftOperand=current} feature=[types::JvmIdentifiableElement|OpMulti] protected class XMultiplicativeExpression_Group_1_0_0 extends GroupToken { public XMultiplicativeExpression_Group_1_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMultiplicativeExpression_FeatureAssignment_1_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XBinaryOperation.leftOperand=current} protected class XMultiplicativeExpression_XBinaryOperationLeftOperandAction_1_0_0_0 extends ActionToken { public XMultiplicativeExpression_XBinaryOperationLeftOperandAction_1_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMultiplicativeExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XMultiplicativeExpression_XUnaryOperationParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("leftOperand", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("leftOperand")) return null; return createEObjectConsumer((EObject) val); } } // feature=[types::JvmIdentifiableElement|OpMulti] protected class XMultiplicativeExpression_FeatureAssignment_1_0_0_1 extends AssignmentToken { public XMultiplicativeExpression_FeatureAssignment_1_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMultiplicativeExpression_XBinaryOperationLeftOperandAction_1_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("feature",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("feature"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0().getType().getClassifier()) && crossRefSerializer.isValid(obj.getEObject(), grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0(), (EObject)value , null)) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0(); return obj; } } return null; } } // rightOperand=XUnaryOperation protected class XMultiplicativeExpression_RightOperandAssignment_1_1 extends AssignmentToken { public XMultiplicativeExpression_RightOperandAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XUnaryOperation_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("rightOperand",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rightOperand"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXUnaryOperationRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XMultiplicativeExpression_Group_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XMultiplicativeExpression ****************/ /************ begin Rule XUnaryOperation **************** * * XUnaryOperation returns XExpression: * {XUnaryOperation} feature=[types::JvmIdentifiableElement|OpUnary] operand=XCastedExpression | XCastedExpression; * **/ // {XUnaryOperation} feature=[types::JvmIdentifiableElement|OpUnary] operand=XCastedExpression | XCastedExpression protected class XUnaryOperation_Alternatives extends AlternativesToken { public XUnaryOperation_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getXUnaryOperationAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XUnaryOperation_Group_0(lastRuleCallOrigin, this, 0, inst); case 1: return new XUnaryOperation_XCastedExpressionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNewEObjectRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XUnaryOperation} feature=[types::JvmIdentifiableElement|OpUnary] operand=XCastedExpression protected class XUnaryOperation_Group_0 extends GroupToken { public XUnaryOperation_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXUnaryOperationAccess().getGroup_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XUnaryOperation_OperandAssignment_0_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XUnaryOperation} protected class XUnaryOperation_XUnaryOperationAction_0_0 extends ActionToken { public XUnaryOperation_XUnaryOperationAction_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // feature=[types::JvmIdentifiableElement|OpUnary] protected class XUnaryOperation_FeatureAssignment_0_1 extends AssignmentToken { public XUnaryOperation_FeatureAssignment_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XUnaryOperation_XUnaryOperationAction_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("feature",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("feature"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0().getType().getClassifier()) && crossRefSerializer.isValid(obj.getEObject(), grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0(), (EObject)value , null)) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0(); return obj; } } return null; } } // operand=XCastedExpression protected class XUnaryOperation_OperandAssignment_0_2 extends AssignmentToken { public XUnaryOperation_OperandAssignment_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XCastedExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("operand",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operand"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXCastedExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXUnaryOperationAccess().getOperandXCastedExpressionParserRuleCall_0_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XUnaryOperation_FeatureAssignment_0_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // XCastedExpression protected class XUnaryOperation_XCastedExpressionParserRuleCall_1 extends RuleCallToken { public XUnaryOperation_XCastedExpressionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XCastedExpression_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(XCastedExpression_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } /************ end Rule XUnaryOperation ****************/ /************ begin Rule XCastedExpression **************** * * XCastedExpression returns XExpression: * XMemberFeatureCall (=> ({XCastedExpression.target=current} "as") type=JvmTypeReference)*; * **/ // XMemberFeatureCall (=> ({XCastedExpression.target=current} "as") type=JvmTypeReference)* protected class XCastedExpression_Group extends GroupToken { public XCastedExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXCastedExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XCastedExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XCastedExpression_XMemberFeatureCallParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNewEObjectRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // XMemberFeatureCall protected class XCastedExpression_XMemberFeatureCallParserRuleCall_0 extends RuleCallToken { public XCastedExpression_XMemberFeatureCallParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXCastedExpressionAccess().getXMemberFeatureCallParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(XMemberFeatureCall_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // (=> ({XCastedExpression.target=current} "as") type=JvmTypeReference)* protected class XCastedExpression_Group_1 extends GroupToken { public XCastedExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXCastedExpressionAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XCastedExpression_TypeAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // => ({XCastedExpression.target=current} "as") protected class XCastedExpression_Group_1_0 extends GroupToken { public XCastedExpression_Group_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXCastedExpressionAccess().getGroup_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XCastedExpression_Group_1_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XCastedExpression.target=current} "as" protected class XCastedExpression_Group_1_0_0 extends GroupToken { public XCastedExpression_Group_1_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XCastedExpression_AsKeyword_1_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XCastedExpression.target=current} protected class XCastedExpression_XCastedExpressionTargetAction_1_0_0_0 extends ActionToken { public XCastedExpression_XCastedExpressionTargetAction_1_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XCastedExpression_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XCastedExpression_XMemberFeatureCallParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("target", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("target")) return null; return createEObjectConsumer((EObject) val); } } // "as" protected class XCastedExpression_AsKeyword_1_0_0_1 extends KeywordToken { public XCastedExpression_AsKeyword_1_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XCastedExpression_XCastedExpressionTargetAction_1_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // type=JvmTypeReference protected class XCastedExpression_TypeAssignment_1_1 extends AssignmentToken { public XCastedExpression_TypeAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmTypeReference_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("type",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmTypeReferenceRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XCastedExpression_Group_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XCastedExpression ****************/ /************ begin Rule XMemberFeatureCall **************** * * XMemberFeatureCall returns XExpression: * XPrimaryExpression (=> ({XAssignment.assignable=current} "." feature=[types::JvmIdentifiableElement|ValidID] * OpSingleAssign) value=XAssignment | => ({XMemberFeatureCall.memberCallTarget=current} ("." | nullSafe?="?." | * spreading?="*.")) ("<" typeArguments+=JvmArgumentTypeReference ("," typeArguments+=JvmArgumentTypeReference)* ">")? * feature=[types::JvmIdentifiableElement|ValidID] (=> explicitOperationCall?="(" (memberCallArguments+=XShortClosure | * memberCallArguments+=XExpression ("," memberCallArguments+=XExpression)*)? ")")?)*; * **/ // XPrimaryExpression (=> ({XAssignment.assignable=current} "." feature=[types::JvmIdentifiableElement|ValidID] // OpSingleAssign) value=XAssignment | => ({XMemberFeatureCall.memberCallTarget=current} ("." | nullSafe?="?." | // spreading?="*.")) ("<" typeArguments+=JvmArgumentTypeReference ("," typeArguments+=JvmArgumentTypeReference)* ">")? // feature=[types::JvmIdentifiableElement|ValidID] (=> explicitOperationCall?="(" (memberCallArguments+=XShortClosure | // memberCallArguments+=XExpression ("," memberCallArguments+=XExpression)*)? ")")?)* protected class XMemberFeatureCall_Group extends GroupToken { public XMemberFeatureCall_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_Alternatives_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XMemberFeatureCall_XPrimaryExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNewEObjectRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // XPrimaryExpression protected class XMemberFeatureCall_XPrimaryExpressionParserRuleCall_0 extends RuleCallToken { public XMemberFeatureCall_XPrimaryExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XPrimaryExpression_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(XPrimaryExpression_Alternatives.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // (=> ({XAssignment.assignable=current} "." feature=[types::JvmIdentifiableElement|ValidID] OpSingleAssign) // value=XAssignment | => ({XMemberFeatureCall.memberCallTarget=current} ("." | nullSafe?="?." | spreading?="*.")) ("<" // typeArguments+=JvmArgumentTypeReference ("," typeArguments+=JvmArgumentTypeReference)* ">")? // feature=[types::JvmIdentifiableElement|ValidID] (=> explicitOperationCall?="(" (memberCallArguments+=XShortClosure | // memberCallArguments+=XExpression ("," memberCallArguments+=XExpression)*)? ")")?)* protected class XMemberFeatureCall_Alternatives_1 extends AlternativesToken { public XMemberFeatureCall_Alternatives_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_Group_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new XMemberFeatureCall_Group_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // => ({XAssignment.assignable=current} "." feature=[types::JvmIdentifiableElement|ValidID] OpSingleAssign) // value=XAssignment protected class XMemberFeatureCall_Group_1_0 extends GroupToken { public XMemberFeatureCall_Group_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_ValueAssignment_1_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // => ({XAssignment.assignable=current} "." feature=[types::JvmIdentifiableElement|ValidID] OpSingleAssign) protected class XMemberFeatureCall_Group_1_0_0 extends GroupToken { public XMemberFeatureCall_Group_1_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_Group_1_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XAssignment.assignable=current} "." feature=[types::JvmIdentifiableElement|ValidID] OpSingleAssign protected class XMemberFeatureCall_Group_1_0_0_0 extends GroupToken { public XMemberFeatureCall_Group_1_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_OpSingleAssignParserRuleCall_1_0_0_0_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XAssignment.assignable=current} protected class XMemberFeatureCall_XAssignmentAssignableAction_1_0_0_0_0 extends ActionToken { public XMemberFeatureCall_XAssignmentAssignableAction_1_0_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_Alternatives_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XMemberFeatureCall_XPrimaryExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("assignable", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("assignable")) return null; return createEObjectConsumer((EObject) val); } } // "." protected class XMemberFeatureCall_FullStopKeyword_1_0_0_0_1 extends KeywordToken { public XMemberFeatureCall_FullStopKeyword_1_0_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_XAssignmentAssignableAction_1_0_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // feature=[types::JvmIdentifiableElement|ValidID] protected class XMemberFeatureCall_FeatureAssignment_1_0_0_0_2 extends AssignmentToken { public XMemberFeatureCall_FeatureAssignment_1_0_0_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_FullStopKeyword_1_0_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("feature",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("feature"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0().getType().getClassifier()) && crossRefSerializer.isValid(obj.getEObject(), grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0(), (EObject)value , null)) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0(); return obj; } } return null; } } // OpSingleAssign protected class XMemberFeatureCall_OpSingleAssignParserRuleCall_1_0_0_0_3 extends UnassignedTextToken { public XMemberFeatureCall_OpSingleAssignParserRuleCall_1_0_0_0_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_FeatureAssignment_1_0_0_0_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // value=XAssignment protected class XMemberFeatureCall_ValueAssignment_1_0_1 extends AssignmentToken { public XMemberFeatureCall_ValueAssignment_1_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XAssignment_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("value",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXAssignmentRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XMemberFeatureCall_Group_1_0_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // => ({XMemberFeatureCall.memberCallTarget=current} ("." | nullSafe?="?." | spreading?="*.")) ("<" // typeArguments+=JvmArgumentTypeReference ("," typeArguments+=JvmArgumentTypeReference)* ">")? // feature=[types::JvmIdentifiableElement|ValidID] (=> explicitOperationCall?="(" (memberCallArguments+=XShortClosure | // memberCallArguments+=XExpression ("," memberCallArguments+=XExpression)*)? ")")? protected class XMemberFeatureCall_Group_1_1 extends GroupToken { public XMemberFeatureCall_Group_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_Group_1_1_3(lastRuleCallOrigin, this, 0, inst); case 1: return new XMemberFeatureCall_FeatureAssignment_1_1_2(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // => ({XMemberFeatureCall.memberCallTarget=current} ("." | nullSafe?="?." | spreading?="*.")) protected class XMemberFeatureCall_Group_1_1_0 extends GroupToken { public XMemberFeatureCall_Group_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_Group_1_1_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XMemberFeatureCall.memberCallTarget=current} ("." | nullSafe?="?." | spreading?="*.") protected class XMemberFeatureCall_Group_1_1_0_0 extends GroupToken { public XMemberFeatureCall_Group_1_1_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_Alternatives_1_1_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XMemberFeatureCall.memberCallTarget=current} protected class XMemberFeatureCall_XMemberFeatureCallMemberCallTargetAction_1_1_0_0_0 extends ActionToken { public XMemberFeatureCall_XMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_Alternatives_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XMemberFeatureCall_XPrimaryExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { Object val = eObjectConsumer.getConsumable("memberCallTarget", false); if(val == null) return null; if(!eObjectConsumer.isConsumedWithLastConsumtion("memberCallTarget")) return null; return createEObjectConsumer((EObject) val); } } // "." | nullSafe?="?." | spreading?="*." protected class XMemberFeatureCall_Alternatives_1_1_0_0_1 extends AlternativesToken { public XMemberFeatureCall_Alternatives_1_1_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_FullStopKeyword_1_1_0_0_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new XMemberFeatureCall_NullSafeAssignment_1_1_0_0_1_1(lastRuleCallOrigin, this, 1, inst); case 2: return new XMemberFeatureCall_SpreadingAssignment_1_1_0_0_1_2(lastRuleCallOrigin, this, 2, inst); default: return null; } } } // "." protected class XMemberFeatureCall_FullStopKeyword_1_1_0_0_1_0 extends KeywordToken { public XMemberFeatureCall_FullStopKeyword_1_1_0_0_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_XMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // nullSafe?="?." protected class XMemberFeatureCall_NullSafeAssignment_1_1_0_0_1_1 extends AssignmentToken { public XMemberFeatureCall_NullSafeAssignment_1_1_0_0_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_XMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("nullSafe",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("nullSafe"); if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl type = AssignmentType.KEYWORD; element = grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0(); return obj; } return null; } } // spreading?="*." protected class XMemberFeatureCall_SpreadingAssignment_1_1_0_0_1_2 extends AssignmentToken { public XMemberFeatureCall_SpreadingAssignment_1_1_0_0_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getSpreadingAssignment_1_1_0_0_1_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_XMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("spreading",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("spreading"); if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl type = AssignmentType.KEYWORD; element = grammarAccess.getXMemberFeatureCallAccess().getSpreadingAsteriskFullStopKeyword_1_1_0_0_1_2_0(); return obj; } return null; } } // ("<" typeArguments+=JvmArgumentTypeReference ("," typeArguments+=JvmArgumentTypeReference)* ">")? protected class XMemberFeatureCall_Group_1_1_1 extends GroupToken { public XMemberFeatureCall_Group_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_GreaterThanSignKeyword_1_1_1_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "<" protected class XMemberFeatureCall_LessThanSignKeyword_1_1_1_0 extends KeywordToken { public XMemberFeatureCall_LessThanSignKeyword_1_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_Group_1_1_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // typeArguments+=JvmArgumentTypeReference protected class XMemberFeatureCall_TypeArgumentsAssignment_1_1_1_1 extends AssignmentToken { public XMemberFeatureCall_TypeArgumentsAssignment_1_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmArgumentTypeReference_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("typeArguments",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("typeArguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmArgumentTypeReferenceRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XMemberFeatureCall_LessThanSignKeyword_1_1_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," typeArguments+=JvmArgumentTypeReference)* protected class XMemberFeatureCall_Group_1_1_1_2 extends GroupToken { public XMemberFeatureCall_Group_1_1_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_TypeArgumentsAssignment_1_1_1_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class XMemberFeatureCall_CommaKeyword_1_1_1_2_0 extends KeywordToken { public XMemberFeatureCall_CommaKeyword_1_1_1_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_Group_1_1_1_2(lastRuleCallOrigin, this, 0, inst); case 1: return new XMemberFeatureCall_TypeArgumentsAssignment_1_1_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // typeArguments+=JvmArgumentTypeReference protected class XMemberFeatureCall_TypeArgumentsAssignment_1_1_1_2_1 extends AssignmentToken { public XMemberFeatureCall_TypeArgumentsAssignment_1_1_1_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmArgumentTypeReference_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("typeArguments",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("typeArguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmArgumentTypeReferenceRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XMemberFeatureCall_CommaKeyword_1_1_1_2_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ">" protected class XMemberFeatureCall_GreaterThanSignKeyword_1_1_1_3 extends KeywordToken { public XMemberFeatureCall_GreaterThanSignKeyword_1_1_1_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_Group_1_1_1_2(lastRuleCallOrigin, this, 0, inst); case 1: return new XMemberFeatureCall_TypeArgumentsAssignment_1_1_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // feature=[types::JvmIdentifiableElement|ValidID] protected class XMemberFeatureCall_FeatureAssignment_1_1_2 extends AssignmentToken { public XMemberFeatureCall_FeatureAssignment_1_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_Group_1_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XMemberFeatureCall_Group_1_1_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("feature",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("feature"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0().getType().getClassifier()) && crossRefSerializer.isValid(obj.getEObject(), grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0(), (EObject)value , null)) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0(); return obj; } } return null; } } // (=> explicitOperationCall?="(" (memberCallArguments+=XShortClosure | memberCallArguments+=XExpression ("," // memberCallArguments+=XExpression)*)? ")")? protected class XMemberFeatureCall_Group_1_1_3 extends GroupToken { public XMemberFeatureCall_Group_1_1_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_RightParenthesisKeyword_1_1_3_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // => explicitOperationCall?="(" protected class XMemberFeatureCall_ExplicitOperationCallAssignment_1_1_3_0 extends AssignmentToken { public XMemberFeatureCall_ExplicitOperationCallAssignment_1_1_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_FeatureAssignment_1_1_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("explicitOperationCall",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("explicitOperationCall"); if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl type = AssignmentType.KEYWORD; element = grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0(); return obj; } return null; } } // (memberCallArguments+=XShortClosure | memberCallArguments+=XExpression ("," memberCallArguments+=XExpression)*)? protected class XMemberFeatureCall_Alternatives_1_1_3_1 extends AlternativesToken { public XMemberFeatureCall_Alternatives_1_1_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_MemberCallArgumentsAssignment_1_1_3_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new XMemberFeatureCall_Group_1_1_3_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // memberCallArguments+=XShortClosure protected class XMemberFeatureCall_MemberCallArgumentsAssignment_1_1_3_1_0 extends AssignmentToken { public XMemberFeatureCall_MemberCallArgumentsAssignment_1_1_3_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XShortClosure_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("memberCallArguments",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("memberCallArguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXShortClosureRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XMemberFeatureCall_ExplicitOperationCallAssignment_1_1_3_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // memberCallArguments+=XExpression ("," memberCallArguments+=XExpression)* protected class XMemberFeatureCall_Group_1_1_3_1_1 extends GroupToken { public XMemberFeatureCall_Group_1_1_3_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_Group_1_1_3_1_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XMemberFeatureCall_MemberCallArgumentsAssignment_1_1_3_1_1_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // memberCallArguments+=XExpression protected class XMemberFeatureCall_MemberCallArgumentsAssignment_1_1_3_1_1_0 extends AssignmentToken { public XMemberFeatureCall_MemberCallArgumentsAssignment_1_1_3_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("memberCallArguments",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("memberCallArguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XMemberFeatureCall_ExplicitOperationCallAssignment_1_1_3_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," memberCallArguments+=XExpression)* protected class XMemberFeatureCall_Group_1_1_3_1_1_1 extends GroupToken { public XMemberFeatureCall_Group_1_1_3_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_MemberCallArgumentsAssignment_1_1_3_1_1_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class XMemberFeatureCall_CommaKeyword_1_1_3_1_1_1_0 extends KeywordToken { public XMemberFeatureCall_CommaKeyword_1_1_3_1_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_Group_1_1_3_1_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XMemberFeatureCall_MemberCallArgumentsAssignment_1_1_3_1_1_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // memberCallArguments+=XExpression protected class XMemberFeatureCall_MemberCallArgumentsAssignment_1_1_3_1_1_1_1 extends AssignmentToken { public XMemberFeatureCall_MemberCallArgumentsAssignment_1_1_3_1_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("memberCallArguments",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("memberCallArguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XMemberFeatureCall_CommaKeyword_1_1_3_1_1_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class XMemberFeatureCall_RightParenthesisKeyword_1_1_3_2 extends KeywordToken { public XMemberFeatureCall_RightParenthesisKeyword_1_1_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XMemberFeatureCall_Alternatives_1_1_3_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XMemberFeatureCall_ExplicitOperationCallAssignment_1_1_3_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule XMemberFeatureCall ****************/ /************ begin Rule XLiteral **************** * * XLiteral returns XExpression: * XClosure | XBooleanLiteral | XIntLiteral | XNullLiteral | XStringLiteral | XTypeLiteral; * **/ // XClosure | XBooleanLiteral | XIntLiteral | XNullLiteral | XStringLiteral | XTypeLiteral protected class XLiteral_Alternatives extends AlternativesToken { public XLiteral_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getXLiteralAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XLiteral_XClosureParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new XLiteral_XBooleanLiteralParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); case 2: return new XLiteral_XIntLiteralParserRuleCall_2(lastRuleCallOrigin, this, 2, inst); case 3: return new XLiteral_XNullLiteralParserRuleCall_3(lastRuleCallOrigin, this, 3, inst); case 4: return new XLiteral_XStringLiteralParserRuleCall_4(lastRuleCallOrigin, this, 4, inst); case 5: return new XLiteral_XTypeLiteralParserRuleCall_5(lastRuleCallOrigin, this, 5, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // XClosure protected class XLiteral_XClosureParserRuleCall_0 extends RuleCallToken { public XLiteral_XClosureParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XClosure_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier()) return null; if(checkForRecursion(XClosure_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XBooleanLiteral protected class XLiteral_XBooleanLiteralParserRuleCall_1 extends RuleCallToken { public XLiteral_XBooleanLiteralParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XBooleanLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier()) return null; if(checkForRecursion(XBooleanLiteral_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XIntLiteral protected class XLiteral_XIntLiteralParserRuleCall_2 extends RuleCallToken { public XLiteral_XIntLiteralParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXLiteralAccess().getXIntLiteralParserRuleCall_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XIntLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier()) return null; if(checkForRecursion(XIntLiteral_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XNullLiteral protected class XLiteral_XNullLiteralParserRuleCall_3 extends RuleCallToken { public XLiteral_XNullLiteralParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XNullLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier()) return null; if(checkForRecursion(XNullLiteral_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XStringLiteral protected class XLiteral_XStringLiteralParserRuleCall_4 extends RuleCallToken { public XLiteral_XStringLiteralParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XStringLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier()) return null; if(checkForRecursion(XStringLiteral_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XTypeLiteral protected class XLiteral_XTypeLiteralParserRuleCall_5 extends RuleCallToken { public XLiteral_XTypeLiteralParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XTypeLiteral_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier()) return null; if(checkForRecursion(XTypeLiteral_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } /************ end Rule XLiteral ****************/ /************ begin Rule XClosure **************** * * XClosure returns XExpression: * {XClosure} "[" (formalParameters+=JvmFormalParameter ("," formalParameters+=JvmFormalParameter)*)? "|" * expression=XExpression "]"; * **/ // {XClosure} "[" (formalParameters+=JvmFormalParameter ("," formalParameters+=JvmFormalParameter)*)? "|" // expression=XExpression "]" protected class XClosure_Group extends GroupToken { public XClosure_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXClosureAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XClosure_RightSquareBracketKeyword_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XClosure} protected class XClosure_XClosureAction_0 extends ActionToken { public XClosure_XClosureAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXClosureAccess().getXClosureAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "[" protected class XClosure_LeftSquareBracketKeyword_1 extends KeywordToken { public XClosure_LeftSquareBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XClosure_XClosureAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // (formalParameters+=JvmFormalParameter ("," formalParameters+=JvmFormalParameter)*)? protected class XClosure_Group_2 extends GroupToken { public XClosure_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXClosureAccess().getGroup_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XClosure_Group_2_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XClosure_FormalParametersAssignment_2_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // formalParameters+=JvmFormalParameter protected class XClosure_FormalParametersAssignment_2_0 extends AssignmentToken { public XClosure_FormalParametersAssignment_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXClosureAccess().getFormalParametersAssignment_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmFormalParameter_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("formalParameters",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("formalParameters"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmFormalParameterRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXClosureAccess().getFormalParametersJvmFormalParameterParserRuleCall_2_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XClosure_LeftSquareBracketKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," formalParameters+=JvmFormalParameter)* protected class XClosure_Group_2_1 extends GroupToken { public XClosure_Group_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXClosureAccess().getGroup_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XClosure_FormalParametersAssignment_2_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class XClosure_CommaKeyword_2_1_0 extends KeywordToken { public XClosure_CommaKeyword_2_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXClosureAccess().getCommaKeyword_2_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XClosure_Group_2_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XClosure_FormalParametersAssignment_2_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // formalParameters+=JvmFormalParameter protected class XClosure_FormalParametersAssignment_2_1_1 extends AssignmentToken { public XClosure_FormalParametersAssignment_2_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXClosureAccess().getFormalParametersAssignment_2_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmFormalParameter_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("formalParameters",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("formalParameters"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmFormalParameterRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXClosureAccess().getFormalParametersJvmFormalParameterParserRuleCall_2_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XClosure_CommaKeyword_2_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "|" protected class XClosure_VerticalLineKeyword_3 extends KeywordToken { public XClosure_VerticalLineKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXClosureAccess().getVerticalLineKeyword_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XClosure_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new XClosure_LeftSquareBracketKeyword_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // expression=XExpression protected class XClosure_ExpressionAssignment_4 extends AssignmentToken { public XClosure_ExpressionAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXClosureAccess().getExpressionAssignment_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("expression",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expression"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXClosureAccess().getExpressionXExpressionParserRuleCall_4_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XClosure_VerticalLineKeyword_3(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "]" protected class XClosure_RightSquareBracketKeyword_5 extends KeywordToken { public XClosure_RightSquareBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XClosure_ExpressionAssignment_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule XClosure ****************/ /************ begin Rule XShortClosure **************** * * XShortClosure returns XExpression: * => ({XClosure} (formalParameters+=JvmFormalParameter ("," formalParameters+=JvmFormalParameter)*)? "|") * expression=XExpression; * **/ // => ({XClosure} (formalParameters+=JvmFormalParameter ("," formalParameters+=JvmFormalParameter)*)? "|") // expression=XExpression protected class XShortClosure_Group extends GroupToken { public XShortClosure_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXShortClosureAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XShortClosure_ExpressionAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0().getType().getClassifier()) return null; return eObjectConsumer; } } // => ({XClosure} (formalParameters+=JvmFormalParameter ("," formalParameters+=JvmFormalParameter)*)? "|") protected class XShortClosure_Group_0 extends GroupToken { public XShortClosure_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXShortClosureAccess().getGroup_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XShortClosure_Group_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XClosure} (formalParameters+=JvmFormalParameter ("," formalParameters+=JvmFormalParameter)*)? "|" protected class XShortClosure_Group_0_0 extends GroupToken { public XShortClosure_Group_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXShortClosureAccess().getGroup_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XShortClosure_VerticalLineKeyword_0_0_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // {XClosure} protected class XShortClosure_XClosureAction_0_0_0 extends ActionToken { public XShortClosure_XClosureAction_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // (formalParameters+=JvmFormalParameter ("," formalParameters+=JvmFormalParameter)*)? protected class XShortClosure_Group_0_0_1 extends GroupToken { public XShortClosure_Group_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXShortClosureAccess().getGroup_0_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XShortClosure_Group_0_0_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XShortClosure_FormalParametersAssignment_0_0_1_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // formalParameters+=JvmFormalParameter protected class XShortClosure_FormalParametersAssignment_0_0_1_0 extends AssignmentToken { public XShortClosure_FormalParametersAssignment_0_0_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXShortClosureAccess().getFormalParametersAssignment_0_0_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmFormalParameter_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("formalParameters",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("formalParameters"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmFormalParameterRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXShortClosureAccess().getFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XShortClosure_XClosureAction_0_0_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," formalParameters+=JvmFormalParameter)* protected class XShortClosure_Group_0_0_1_1 extends GroupToken { public XShortClosure_Group_0_0_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XShortClosure_FormalParametersAssignment_0_0_1_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class XShortClosure_CommaKeyword_0_0_1_1_0 extends KeywordToken { public XShortClosure_CommaKeyword_0_0_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XShortClosure_Group_0_0_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XShortClosure_FormalParametersAssignment_0_0_1_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // formalParameters+=JvmFormalParameter protected class XShortClosure_FormalParametersAssignment_0_0_1_1_1 extends AssignmentToken { public XShortClosure_FormalParametersAssignment_0_0_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXShortClosureAccess().getFormalParametersAssignment_0_0_1_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmFormalParameter_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("formalParameters",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("formalParameters"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmFormalParameterRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXShortClosureAccess().getFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XShortClosure_CommaKeyword_0_0_1_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "|" protected class XShortClosure_VerticalLineKeyword_0_0_2 extends KeywordToken { public XShortClosure_VerticalLineKeyword_0_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXShortClosureAccess().getVerticalLineKeyword_0_0_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XShortClosure_Group_0_0_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XShortClosure_XClosureAction_0_0_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // expression=XExpression protected class XShortClosure_ExpressionAssignment_1 extends AssignmentToken { public XShortClosure_ExpressionAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXShortClosureAccess().getExpressionAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("expression",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expression"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XShortClosure_Group_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XShortClosure ****************/ /************ begin Rule XParenthesizedExpression **************** * * XParenthesizedExpression returns XExpression: * "(" XExpression ")"; * **/ // "(" XExpression ")" protected class XParenthesizedExpression_Group extends GroupToken { public XParenthesizedExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXParenthesizedExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XParenthesizedExpression_RightParenthesisKeyword_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNewEObjectRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // "(" protected class XParenthesizedExpression_LeftParenthesisKeyword_0 extends KeywordToken { public XParenthesizedExpression_LeftParenthesisKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // XExpression protected class XParenthesizedExpression_XExpressionParserRuleCall_1 extends RuleCallToken { public XParenthesizedExpression_XExpressionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(checkForRecursion(XExpression_XAssignmentParserRuleCall.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { case 0: return new XParenthesizedExpression_LeftParenthesisKeyword_0(lastRuleCallOrigin, next, actIndex, inst); default: return null; } } } // ")" protected class XParenthesizedExpression_RightParenthesisKeyword_2 extends KeywordToken { public XParenthesizedExpression_RightParenthesisKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XParenthesizedExpression_XExpressionParserRuleCall_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule XParenthesizedExpression ****************/ /************ begin Rule XIfExpression **************** * * XIfExpression returns XExpression: * {XIfExpression} "if" "(" if=XExpression ")" then=XExpression ("else" else=XExpression)?; * **/ // {XIfExpression} "if" "(" if=XExpression ")" then=XExpression ("else" else=XExpression)? protected class XIfExpression_Group extends GroupToken { public XIfExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXIfExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XIfExpression_Group_6(lastRuleCallOrigin, this, 0, inst); case 1: return new XIfExpression_ThenAssignment_5(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XIfExpression} protected class XIfExpression_XIfExpressionAction_0 extends ActionToken { public XIfExpression_XIfExpressionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "if" protected class XIfExpression_IfKeyword_1 extends KeywordToken { public XIfExpression_IfKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXIfExpressionAccess().getIfKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XIfExpression_XIfExpressionAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "(" protected class XIfExpression_LeftParenthesisKeyword_2 extends KeywordToken { public XIfExpression_LeftParenthesisKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XIfExpression_IfKeyword_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // if=XExpression protected class XIfExpression_IfAssignment_3 extends AssignmentToken { public XIfExpression_IfAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXIfExpressionAccess().getIfAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("if",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("if"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XIfExpression_LeftParenthesisKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class XIfExpression_RightParenthesisKeyword_4 extends KeywordToken { public XIfExpression_RightParenthesisKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XIfExpression_IfAssignment_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // then=XExpression protected class XIfExpression_ThenAssignment_5 extends AssignmentToken { public XIfExpression_ThenAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXIfExpressionAccess().getThenAssignment_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("then",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("then"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XIfExpression_RightParenthesisKeyword_4(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // (=> "else" else=XExpression)? protected class XIfExpression_Group_6 extends GroupToken { public XIfExpression_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXIfExpressionAccess().getGroup_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XIfExpression_ElseAssignment_6_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // => "else" protected class XIfExpression_ElseKeyword_6_0 extends KeywordToken { public XIfExpression_ElseKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XIfExpression_ThenAssignment_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // else=XExpression protected class XIfExpression_ElseAssignment_6_1 extends AssignmentToken { public XIfExpression_ElseAssignment_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("else",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("else"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XIfExpression_ElseKeyword_6_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XIfExpression ****************/ /************ begin Rule XSwitchExpression **************** * * XSwitchExpression returns XExpression: * {XSwitchExpression} "switch" (localVarName=ValidID ":")? switch=XExpression "{" cases+=XCasePart+ ("default" ":" * default=XExpression)? "}"; * **/ // {XSwitchExpression} "switch" (localVarName=ValidID ":")? switch=XExpression "{" cases+=XCasePart+ ("default" ":" // default=XExpression)? "}" protected class XSwitchExpression_Group extends GroupToken { public XSwitchExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXSwitchExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XSwitchExpression_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XSwitchExpression} protected class XSwitchExpression_XSwitchExpressionAction_0 extends ActionToken { public XSwitchExpression_XSwitchExpressionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "switch" protected class XSwitchExpression_SwitchKeyword_1 extends KeywordToken { public XSwitchExpression_SwitchKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XSwitchExpression_XSwitchExpressionAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // (localVarName=ValidID ":")? protected class XSwitchExpression_Group_2 extends GroupToken { public XSwitchExpression_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXSwitchExpressionAccess().getGroup_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XSwitchExpression_ColonKeyword_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // localVarName=ValidID protected class XSwitchExpression_LocalVarNameAssignment_2_0 extends AssignmentToken { public XSwitchExpression_LocalVarNameAssignment_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXSwitchExpressionAccess().getLocalVarNameAssignment_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XSwitchExpression_SwitchKeyword_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("localVarName",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("localVarName"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getXSwitchExpressionAccess().getLocalVarNameValidIDParserRuleCall_2_0_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getXSwitchExpressionAccess().getLocalVarNameValidIDParserRuleCall_2_0_0(); return obj; } return null; } } // ":" protected class XSwitchExpression_ColonKeyword_2_1 extends KeywordToken { public XSwitchExpression_ColonKeyword_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XSwitchExpression_LocalVarNameAssignment_2_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // switch=XExpression protected class XSwitchExpression_SwitchAssignment_3 extends AssignmentToken { public XSwitchExpression_SwitchAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("switch",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("switch"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_3_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XSwitchExpression_Group_2(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new XSwitchExpression_SwitchKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "{" protected class XSwitchExpression_LeftCurlyBracketKeyword_4 extends KeywordToken { public XSwitchExpression_LeftCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XSwitchExpression_SwitchAssignment_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // cases+=XCasePart+ protected class XSwitchExpression_CasesAssignment_5 extends AssignmentToken { public XSwitchExpression_CasesAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XCasePart_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("cases",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("cases"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXCasePartRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_5_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XSwitchExpression_CasesAssignment_5(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new XSwitchExpression_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("default" ":" default=XExpression)? protected class XSwitchExpression_Group_6 extends GroupToken { public XSwitchExpression_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXSwitchExpressionAccess().getGroup_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XSwitchExpression_DefaultAssignment_6_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "default" protected class XSwitchExpression_DefaultKeyword_6_0 extends KeywordToken { public XSwitchExpression_DefaultKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_6_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XSwitchExpression_CasesAssignment_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // ":" protected class XSwitchExpression_ColonKeyword_6_1 extends KeywordToken { public XSwitchExpression_ColonKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXSwitchExpressionAccess().getColonKeyword_6_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XSwitchExpression_DefaultKeyword_6_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // default=XExpression protected class XSwitchExpression_DefaultAssignment_6_2 extends AssignmentToken { public XSwitchExpression_DefaultAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_6_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("default",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("default"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_6_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XSwitchExpression_ColonKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class XSwitchExpression_RightCurlyBracketKeyword_7 extends KeywordToken { public XSwitchExpression_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_7(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XSwitchExpression_Group_6(lastRuleCallOrigin, this, 0, inst); case 1: return new XSwitchExpression_CasesAssignment_5(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule XSwitchExpression ****************/ /************ begin Rule XCasePart **************** * * XCasePart: * typeGuard=JvmTypeReference? ("case" case=XExpression)? ":" then=XExpression; * **/ // typeGuard=JvmTypeReference? ("case" case=XExpression)? ":" then=XExpression protected class XCasePart_Group extends GroupToken { public XCasePart_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXCasePartAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XCasePart_ThenAssignment_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXCasePartRule().getType().getClassifier()) return null; return eObjectConsumer; } } // typeGuard=JvmTypeReference? protected class XCasePart_TypeGuardAssignment_0 extends AssignmentToken { public XCasePart_TypeGuardAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXCasePartAccess().getTypeGuardAssignment_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmTypeReference_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("typeGuard",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("typeGuard"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmTypeReferenceRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed); } } } // ("case" case=XExpression)? protected class XCasePart_Group_1 extends GroupToken { public XCasePart_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXCasePartAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XCasePart_CaseAssignment_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "case" protected class XCasePart_CaseKeyword_1_0 extends KeywordToken { public XCasePart_CaseKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXCasePartAccess().getCaseKeyword_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XCasePart_TypeGuardAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst); } } } // case=XExpression protected class XCasePart_CaseAssignment_1_1 extends AssignmentToken { public XCasePart_CaseAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXCasePartAccess().getCaseAssignment_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("case",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("case"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XCasePart_CaseKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ":" protected class XCasePart_ColonKeyword_2 extends KeywordToken { public XCasePart_ColonKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXCasePartAccess().getColonKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XCasePart_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XCasePart_TypeGuardAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 2, inst); } } } // then=XExpression protected class XCasePart_ThenAssignment_3 extends AssignmentToken { public XCasePart_ThenAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXCasePartAccess().getThenAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("then",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("then"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XCasePart_ColonKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XCasePart ****************/ /************ begin Rule XForLoopExpression **************** * * XForLoopExpression returns XExpression: * {XForLoopExpression} "for" "(" declaredParam=JvmFormalParameter ":" forExpression=XExpression ")" * eachExpression=XExpression; * **/ // {XForLoopExpression} "for" "(" declaredParam=JvmFormalParameter ":" forExpression=XExpression ")" // eachExpression=XExpression protected class XForLoopExpression_Group extends GroupToken { public XForLoopExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXForLoopExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XForLoopExpression_EachExpressionAssignment_7(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XForLoopExpression} protected class XForLoopExpression_XForLoopExpressionAction_0 extends ActionToken { public XForLoopExpression_XForLoopExpressionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "for" protected class XForLoopExpression_ForKeyword_1 extends KeywordToken { public XForLoopExpression_ForKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXForLoopExpressionAccess().getForKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XForLoopExpression_XForLoopExpressionAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "(" protected class XForLoopExpression_LeftParenthesisKeyword_2 extends KeywordToken { public XForLoopExpression_LeftParenthesisKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XForLoopExpression_ForKeyword_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // declaredParam=JvmFormalParameter protected class XForLoopExpression_DeclaredParamAssignment_3 extends AssignmentToken { public XForLoopExpression_DeclaredParamAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmFormalParameter_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("declaredParam",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("declaredParam"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmFormalParameterRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_3_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XForLoopExpression_LeftParenthesisKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ":" protected class XForLoopExpression_ColonKeyword_4 extends KeywordToken { public XForLoopExpression_ColonKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXForLoopExpressionAccess().getColonKeyword_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XForLoopExpression_DeclaredParamAssignment_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // forExpression=XExpression protected class XForLoopExpression_ForExpressionAssignment_5 extends AssignmentToken { public XForLoopExpression_ForExpressionAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("forExpression",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("forExpression"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_5_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XForLoopExpression_ColonKeyword_4(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class XForLoopExpression_RightParenthesisKeyword_6 extends KeywordToken { public XForLoopExpression_RightParenthesisKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XForLoopExpression_ForExpressionAssignment_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // eachExpression=XExpression protected class XForLoopExpression_EachExpressionAssignment_7 extends AssignmentToken { public XForLoopExpression_EachExpressionAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_7(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("eachExpression",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("eachExpression"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_7_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XForLoopExpression_RightParenthesisKeyword_6(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XForLoopExpression ****************/ /************ begin Rule XWhileExpression **************** * * XWhileExpression returns XExpression: * {XWhileExpression} "while" "(" predicate=XExpression ")" body=XExpression; * **/ // {XWhileExpression} "while" "(" predicate=XExpression ")" body=XExpression protected class XWhileExpression_Group extends GroupToken { public XWhileExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXWhileExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XWhileExpression_BodyAssignment_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XWhileExpression} protected class XWhileExpression_XWhileExpressionAction_0 extends ActionToken { public XWhileExpression_XWhileExpressionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "while" protected class XWhileExpression_WhileKeyword_1 extends KeywordToken { public XWhileExpression_WhileKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XWhileExpression_XWhileExpressionAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "(" protected class XWhileExpression_LeftParenthesisKeyword_2 extends KeywordToken { public XWhileExpression_LeftParenthesisKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XWhileExpression_WhileKeyword_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // predicate=XExpression protected class XWhileExpression_PredicateAssignment_3 extends AssignmentToken { public XWhileExpression_PredicateAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("predicate",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predicate"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XWhileExpression_LeftParenthesisKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class XWhileExpression_RightParenthesisKeyword_4 extends KeywordToken { public XWhileExpression_RightParenthesisKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XWhileExpression_PredicateAssignment_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // body=XExpression protected class XWhileExpression_BodyAssignment_5 extends AssignmentToken { public XWhileExpression_BodyAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("body",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("body"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XWhileExpression_RightParenthesisKeyword_4(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XWhileExpression ****************/ /************ begin Rule XDoWhileExpression **************** * * XDoWhileExpression returns XExpression: * {XDoWhileExpression} "do" body=XExpression "while" "(" predicate=XExpression ")"; * **/ // {XDoWhileExpression} "do" body=XExpression "while" "(" predicate=XExpression ")" protected class XDoWhileExpression_Group extends GroupToken { public XDoWhileExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXDoWhileExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XDoWhileExpression_RightParenthesisKeyword_6(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XDoWhileExpression} protected class XDoWhileExpression_XDoWhileExpressionAction_0 extends ActionToken { public XDoWhileExpression_XDoWhileExpressionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "do" protected class XDoWhileExpression_DoKeyword_1 extends KeywordToken { public XDoWhileExpression_DoKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XDoWhileExpression_XDoWhileExpressionAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // body=XExpression protected class XDoWhileExpression_BodyAssignment_2 extends AssignmentToken { public XDoWhileExpression_BodyAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("body",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("body"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XDoWhileExpression_DoKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "while" protected class XDoWhileExpression_WhileKeyword_3 extends KeywordToken { public XDoWhileExpression_WhileKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XDoWhileExpression_BodyAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "(" protected class XDoWhileExpression_LeftParenthesisKeyword_4 extends KeywordToken { public XDoWhileExpression_LeftParenthesisKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XDoWhileExpression_WhileKeyword_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // predicate=XExpression protected class XDoWhileExpression_PredicateAssignment_5 extends AssignmentToken { public XDoWhileExpression_PredicateAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("predicate",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predicate"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XDoWhileExpression_LeftParenthesisKeyword_4(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class XDoWhileExpression_RightParenthesisKeyword_6 extends KeywordToken { public XDoWhileExpression_RightParenthesisKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XDoWhileExpression_PredicateAssignment_5(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule XDoWhileExpression ****************/ /************ begin Rule XBlockExpression **************** * * XBlockExpression returns XExpression: * {XBlockExpression} "{" (expressions+=XExpressionInsideBlock ";"?)* "}"; * **/ // {XBlockExpression} "{" (expressions+=XExpressionInsideBlock ";"?)* "}" protected class XBlockExpression_Group extends GroupToken { public XBlockExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXBlockExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XBlockExpression_RightCurlyBracketKeyword_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XBlockExpression} protected class XBlockExpression_XBlockExpressionAction_0 extends ActionToken { public XBlockExpression_XBlockExpressionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "{" protected class XBlockExpression_LeftCurlyBracketKeyword_1 extends KeywordToken { public XBlockExpression_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XBlockExpression_XBlockExpressionAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // (expressions+=XExpressionInsideBlock ";"?)* protected class XBlockExpression_Group_2 extends GroupToken { public XBlockExpression_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXBlockExpressionAccess().getGroup_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XBlockExpression_ExpressionsAssignment_2_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // expressions+=XExpressionInsideBlock protected class XBlockExpression_ExpressionsAssignment_2_0 extends AssignmentToken { public XBlockExpression_ExpressionsAssignment_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpressionInsideBlock_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("expressions",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expressions"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionInsideBlockRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionInsideBlockParserRuleCall_2_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XBlockExpression_Group_2(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new XBlockExpression_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "}" protected class XBlockExpression_RightCurlyBracketKeyword_3 extends KeywordToken { public XBlockExpression_RightCurlyBracketKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XBlockExpression_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new XBlockExpression_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule XBlockExpression ****************/ /************ begin Rule XExpressionInsideBlock **************** * * XExpressionInsideBlock returns XExpression: * XVariableDeclaration | XExpression; * **/ // XVariableDeclaration | XExpression protected class XExpressionInsideBlock_Alternatives extends AlternativesToken { public XExpressionInsideBlock_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getXExpressionInsideBlockAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpressionInsideBlock_XVariableDeclarationParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new XExpressionInsideBlock_XExpressionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNewEObjectRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // XVariableDeclaration protected class XExpressionInsideBlock_XVariableDeclarationParserRuleCall_0 extends RuleCallToken { public XExpressionInsideBlock_XVariableDeclarationParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXExpressionInsideBlockAccess().getXVariableDeclarationParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XVariableDeclaration_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0().getType().getClassifier()) return null; if(checkForRecursion(XVariableDeclaration_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XExpression protected class XExpressionInsideBlock_XExpressionParserRuleCall_1 extends RuleCallToken { public XExpressionInsideBlock_XExpressionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getXExpressionInsideBlockAccess().getXExpressionParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXClosureAccess().getXClosureAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNewEObjectRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0().getType().getClassifier()) return null; if(checkForRecursion(XExpression_XAssignmentParserRuleCall.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } /************ end Rule XExpressionInsideBlock ****************/ /************ begin Rule XVariableDeclaration **************** * * XVariableDeclaration returns XExpression: * {XVariableDeclaration} (writeable?="var" | "val") (=> (type=JvmTypeReference name=ValidID) | name=ValidID) ("=" * right=XExpression)?; * **/ // {XVariableDeclaration} (writeable?="var" | "val") (=> (type=JvmTypeReference name=ValidID) | name=ValidID) ("=" // right=XExpression)? protected class XVariableDeclaration_Group extends GroupToken { public XVariableDeclaration_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXVariableDeclarationAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XVariableDeclaration_Group_3(lastRuleCallOrigin, this, 0, inst); case 1: return new XVariableDeclaration_Alternatives_2(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XVariableDeclaration} protected class XVariableDeclaration_XVariableDeclarationAction_0 extends ActionToken { public XVariableDeclaration_XVariableDeclarationAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // writeable?="var" | "val" protected class XVariableDeclaration_Alternatives_1 extends AlternativesToken { public XVariableDeclaration_Alternatives_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getXVariableDeclarationAccess().getAlternatives_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XVariableDeclaration_WriteableAssignment_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new XVariableDeclaration_ValKeyword_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // writeable?="var" protected class XVariableDeclaration_WriteableAssignment_1_0 extends AssignmentToken { public XVariableDeclaration_WriteableAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XVariableDeclaration_XVariableDeclarationAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("writeable",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("writeable"); if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl type = AssignmentType.KEYWORD; element = grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0(); return obj; } return null; } } // "val" protected class XVariableDeclaration_ValKeyword_1_1 extends KeywordToken { public XVariableDeclaration_ValKeyword_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XVariableDeclaration_XVariableDeclarationAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // => (type=JvmTypeReference name=ValidID) | name=ValidID protected class XVariableDeclaration_Alternatives_2 extends AlternativesToken { public XVariableDeclaration_Alternatives_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getXVariableDeclarationAccess().getAlternatives_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XVariableDeclaration_Group_2_0(lastRuleCallOrigin, this, 0, inst); case 1: return new XVariableDeclaration_NameAssignment_2_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // => (type=JvmTypeReference name=ValidID) protected class XVariableDeclaration_Group_2_0 extends GroupToken { public XVariableDeclaration_Group_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXVariableDeclarationAccess().getGroup_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XVariableDeclaration_Group_2_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // type=JvmTypeReference name=ValidID protected class XVariableDeclaration_Group_2_0_0 extends GroupToken { public XVariableDeclaration_Group_2_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XVariableDeclaration_NameAssignment_2_0_0_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // type=JvmTypeReference protected class XVariableDeclaration_TypeAssignment_2_0_0_0 extends AssignmentToken { public XVariableDeclaration_TypeAssignment_2_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmTypeReference_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("type",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmTypeReferenceRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XVariableDeclaration_Alternatives_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // name=ValidID protected class XVariableDeclaration_NameAssignment_2_0_0_1 extends AssignmentToken { public XVariableDeclaration_NameAssignment_2_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XVariableDeclaration_TypeAssignment_2_0_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0(); return obj; } return null; } } // name=ValidID protected class XVariableDeclaration_NameAssignment_2_1 extends AssignmentToken { public XVariableDeclaration_NameAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XVariableDeclaration_Alternatives_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0(); return obj; } return null; } } // ("=" right=XExpression)? protected class XVariableDeclaration_Group_3 extends GroupToken { public XVariableDeclaration_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXVariableDeclarationAccess().getGroup_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XVariableDeclaration_RightAssignment_3_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "=" protected class XVariableDeclaration_EqualsSignKeyword_3_0 extends KeywordToken { public XVariableDeclaration_EqualsSignKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XVariableDeclaration_Alternatives_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // right=XExpression protected class XVariableDeclaration_RightAssignment_3_1 extends AssignmentToken { public XVariableDeclaration_RightAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("right",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XVariableDeclaration_EqualsSignKeyword_3_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XVariableDeclaration ****************/ /************ begin Rule JvmFormalParameter **************** * * JvmFormalParameter returns types::JvmFormalParameter: * parameterType=JvmTypeReference? name=ValidID; * **/ // parameterType=JvmTypeReference? name=ValidID protected class JvmFormalParameter_Group extends GroupToken { public JvmFormalParameter_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getJvmFormalParameterAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmFormalParameter_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getJvmFormalParameterRule().getType().getClassifier()) return null; return eObjectConsumer; } } // parameterType=JvmTypeReference? protected class JvmFormalParameter_ParameterTypeAssignment_0 extends AssignmentToken { public JvmFormalParameter_ParameterTypeAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmTypeReference_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("parameterType",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parameterType"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmTypeReferenceRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed); } } } // name=ValidID protected class JvmFormalParameter_NameAssignment_1 extends AssignmentToken { public JvmFormalParameter_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmFormalParameter_ParameterTypeAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst); } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0(); return obj; } return null; } } /************ end Rule JvmFormalParameter ****************/ /************ begin Rule XFeatureCall **************** * * XFeatureCall returns XExpression: * {XFeatureCall} declaringType=[types::JvmDeclaredType|StaticQualifier]? ("<" typeArguments+=JvmArgumentTypeReference * ("," typeArguments+=JvmArgumentTypeReference)* ">")? feature=[types::JvmIdentifiableElement|IdOrSuper] (=> * explicitOperationCall?="(" (featureCallArguments+=XShortClosure | featureCallArguments+=XExpression ("," * featureCallArguments+=XExpression)*)? ")")?; * **/ // {XFeatureCall} declaringType=[types::JvmDeclaredType|StaticQualifier]? ("<" typeArguments+=JvmArgumentTypeReference ("," // typeArguments+=JvmArgumentTypeReference)* ">")? feature=[types::JvmIdentifiableElement|IdOrSuper] (=> // explicitOperationCall?="(" (featureCallArguments+=XShortClosure | featureCallArguments+=XExpression ("," // featureCallArguments+=XExpression)*)? ")")? protected class XFeatureCall_Group extends GroupToken { public XFeatureCall_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFeatureCall_Group_4(lastRuleCallOrigin, this, 0, inst); case 1: return new XFeatureCall_FeatureAssignment_3(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XFeatureCall} protected class XFeatureCall_XFeatureCallAction_0 extends ActionToken { public XFeatureCall_XFeatureCallAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // declaringType=[types::JvmDeclaredType|StaticQualifier]? protected class XFeatureCall_DeclaringTypeAssignment_1 extends AssignmentToken { public XFeatureCall_DeclaringTypeAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getDeclaringTypeAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFeatureCall_XFeatureCallAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("declaringType",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("declaringType"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXFeatureCallAccess().getDeclaringTypeJvmDeclaredTypeCrossReference_1_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getXFeatureCallAccess().getDeclaringTypeJvmDeclaredTypeCrossReference_1_0(); return obj; } } return null; } } // ("<" typeArguments+=JvmArgumentTypeReference ("," typeArguments+=JvmArgumentTypeReference)* ">")? protected class XFeatureCall_Group_2 extends GroupToken { public XFeatureCall_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getGroup_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFeatureCall_GreaterThanSignKeyword_2_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "<" protected class XFeatureCall_LessThanSignKeyword_2_0 extends KeywordToken { public XFeatureCall_LessThanSignKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFeatureCall_DeclaringTypeAssignment_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XFeatureCall_XFeatureCallAction_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // typeArguments+=JvmArgumentTypeReference protected class XFeatureCall_TypeArgumentsAssignment_2_1 extends AssignmentToken { public XFeatureCall_TypeArgumentsAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmArgumentTypeReference_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("typeArguments",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("typeArguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmArgumentTypeReferenceRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XFeatureCall_LessThanSignKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," typeArguments+=JvmArgumentTypeReference)* protected class XFeatureCall_Group_2_2 extends GroupToken { public XFeatureCall_Group_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getGroup_2_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFeatureCall_TypeArgumentsAssignment_2_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class XFeatureCall_CommaKeyword_2_2_0 extends KeywordToken { public XFeatureCall_CommaKeyword_2_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getCommaKeyword_2_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFeatureCall_Group_2_2(lastRuleCallOrigin, this, 0, inst); case 1: return new XFeatureCall_TypeArgumentsAssignment_2_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // typeArguments+=JvmArgumentTypeReference protected class XFeatureCall_TypeArgumentsAssignment_2_2_1 extends AssignmentToken { public XFeatureCall_TypeArgumentsAssignment_2_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_2_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmArgumentTypeReference_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("typeArguments",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("typeArguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmArgumentTypeReferenceRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_2_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XFeatureCall_CommaKeyword_2_2_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ">" protected class XFeatureCall_GreaterThanSignKeyword_2_3 extends KeywordToken { public XFeatureCall_GreaterThanSignKeyword_2_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_2_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFeatureCall_Group_2_2(lastRuleCallOrigin, this, 0, inst); case 1: return new XFeatureCall_TypeArgumentsAssignment_2_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // feature=[types::JvmIdentifiableElement|IdOrSuper] protected class XFeatureCall_FeatureAssignment_3 extends AssignmentToken { public XFeatureCall_FeatureAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getFeatureAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFeatureCall_Group_2(lastRuleCallOrigin, this, 0, inst); case 1: return new XFeatureCall_DeclaringTypeAssignment_1(lastRuleCallOrigin, this, 1, inst); case 2: return new XFeatureCall_XFeatureCallAction_0(lastRuleCallOrigin, this, 2, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("feature",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("feature"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_3_0().getType().getClassifier()) && crossRefSerializer.isValid(obj.getEObject(), grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_3_0(), (EObject)value , null)) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_3_0(); return obj; } } return null; } } // (=> explicitOperationCall?="(" (featureCallArguments+=XShortClosure | featureCallArguments+=XExpression ("," // featureCallArguments+=XExpression)*)? ")")? protected class XFeatureCall_Group_4 extends GroupToken { public XFeatureCall_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getGroup_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFeatureCall_RightParenthesisKeyword_4_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // => explicitOperationCall?="(" protected class XFeatureCall_ExplicitOperationCallAssignment_4_0 extends AssignmentToken { public XFeatureCall_ExplicitOperationCallAssignment_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_4_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFeatureCall_FeatureAssignment_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("explicitOperationCall",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("explicitOperationCall"); if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl type = AssignmentType.KEYWORD; element = grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_4_0_0(); return obj; } return null; } } // (featureCallArguments+=XShortClosure | featureCallArguments+=XExpression ("," featureCallArguments+=XExpression)*)? protected class XFeatureCall_Alternatives_4_1 extends AlternativesToken { public XFeatureCall_Alternatives_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getAlternatives_4_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFeatureCall_FeatureCallArgumentsAssignment_4_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new XFeatureCall_Group_4_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // featureCallArguments+=XShortClosure protected class XFeatureCall_FeatureCallArgumentsAssignment_4_1_0 extends AssignmentToken { public XFeatureCall_FeatureCallArgumentsAssignment_4_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XShortClosure_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("featureCallArguments",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("featureCallArguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXShortClosureRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_4_1_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XFeatureCall_ExplicitOperationCallAssignment_4_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // featureCallArguments+=XExpression ("," featureCallArguments+=XExpression)* protected class XFeatureCall_Group_4_1_1 extends GroupToken { public XFeatureCall_Group_4_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getGroup_4_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFeatureCall_Group_4_1_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XFeatureCall_FeatureCallArgumentsAssignment_4_1_1_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // featureCallArguments+=XExpression protected class XFeatureCall_FeatureCallArgumentsAssignment_4_1_1_0 extends AssignmentToken { public XFeatureCall_FeatureCallArgumentsAssignment_4_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4_1_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("featureCallArguments",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("featureCallArguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_4_1_1_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XFeatureCall_ExplicitOperationCallAssignment_4_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," featureCallArguments+=XExpression)* protected class XFeatureCall_Group_4_1_1_1 extends GroupToken { public XFeatureCall_Group_4_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getGroup_4_1_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFeatureCall_FeatureCallArgumentsAssignment_4_1_1_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class XFeatureCall_CommaKeyword_4_1_1_1_0 extends KeywordToken { public XFeatureCall_CommaKeyword_4_1_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getCommaKeyword_4_1_1_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFeatureCall_Group_4_1_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XFeatureCall_FeatureCallArgumentsAssignment_4_1_1_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // featureCallArguments+=XExpression protected class XFeatureCall_FeatureCallArgumentsAssignment_4_1_1_1_1 extends AssignmentToken { public XFeatureCall_FeatureCallArgumentsAssignment_4_1_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4_1_1_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("featureCallArguments",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("featureCallArguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_4_1_1_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XFeatureCall_CommaKeyword_4_1_1_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class XFeatureCall_RightParenthesisKeyword_4_2 extends KeywordToken { public XFeatureCall_RightParenthesisKeyword_4_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_4_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFeatureCall_Alternatives_4_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XFeatureCall_ExplicitOperationCallAssignment_4_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule XFeatureCall ****************/ /************ begin Rule XConstructorCall **************** * * XConstructorCall returns XExpression: * {XConstructorCall} "new" constructor=[types::JvmConstructor|QualifiedName] ("<" * typeArguments+=JvmArgumentTypeReference ("," typeArguments+=JvmArgumentTypeReference)* ">")? "(" * (arguments+=XShortClosure | arguments+=XExpression ("," arguments+=XExpression)*)? ")"; * **/ // {XConstructorCall} "new" constructor=[types::JvmConstructor|QualifiedName] ("<" typeArguments+=JvmArgumentTypeReference // ("," typeArguments+=JvmArgumentTypeReference)* ">")? "(" (arguments+=XShortClosure | arguments+=XExpression ("," // arguments+=XExpression)*)? ")" protected class XConstructorCall_Group extends GroupToken { public XConstructorCall_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XConstructorCall_RightParenthesisKeyword_6(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XConstructorCall} protected class XConstructorCall_XConstructorCallAction_0 extends ActionToken { public XConstructorCall_XConstructorCallAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "new" protected class XConstructorCall_NewKeyword_1 extends KeywordToken { public XConstructorCall_NewKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getNewKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XConstructorCall_XConstructorCallAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // constructor=[types::JvmConstructor|QualifiedName] protected class XConstructorCall_ConstructorAssignment_2 extends AssignmentToken { public XConstructorCall_ConstructorAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XConstructorCall_NewKeyword_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("constructor",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("constructor"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0(); return obj; } } return null; } } // ("<" typeArguments+=JvmArgumentTypeReference ("," typeArguments+=JvmArgumentTypeReference)* ">")? protected class XConstructorCall_Group_3 extends GroupToken { public XConstructorCall_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getGroup_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XConstructorCall_GreaterThanSignKeyword_3_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "<" protected class XConstructorCall_LessThanSignKeyword_3_0 extends KeywordToken { public XConstructorCall_LessThanSignKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XConstructorCall_ConstructorAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // typeArguments+=JvmArgumentTypeReference protected class XConstructorCall_TypeArgumentsAssignment_3_1 extends AssignmentToken { public XConstructorCall_TypeArgumentsAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmArgumentTypeReference_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("typeArguments",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("typeArguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmArgumentTypeReferenceRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XConstructorCall_LessThanSignKeyword_3_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," typeArguments+=JvmArgumentTypeReference)* protected class XConstructorCall_Group_3_2 extends GroupToken { public XConstructorCall_Group_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getGroup_3_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XConstructorCall_TypeArgumentsAssignment_3_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class XConstructorCall_CommaKeyword_3_2_0 extends KeywordToken { public XConstructorCall_CommaKeyword_3_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XConstructorCall_Group_3_2(lastRuleCallOrigin, this, 0, inst); case 1: return new XConstructorCall_TypeArgumentsAssignment_3_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // typeArguments+=JvmArgumentTypeReference protected class XConstructorCall_TypeArgumentsAssignment_3_2_1 extends AssignmentToken { public XConstructorCall_TypeArgumentsAssignment_3_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmArgumentTypeReference_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("typeArguments",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("typeArguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmArgumentTypeReferenceRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XConstructorCall_CommaKeyword_3_2_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ">" protected class XConstructorCall_GreaterThanSignKeyword_3_3 extends KeywordToken { public XConstructorCall_GreaterThanSignKeyword_3_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XConstructorCall_Group_3_2(lastRuleCallOrigin, this, 0, inst); case 1: return new XConstructorCall_TypeArgumentsAssignment_3_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "(" protected class XConstructorCall_LeftParenthesisKeyword_4 extends KeywordToken { public XConstructorCall_LeftParenthesisKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getLeftParenthesisKeyword_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XConstructorCall_Group_3(lastRuleCallOrigin, this, 0, inst); case 1: return new XConstructorCall_ConstructorAssignment_2(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // (arguments+=XShortClosure | arguments+=XExpression ("," arguments+=XExpression)*)? protected class XConstructorCall_Alternatives_5 extends AlternativesToken { public XConstructorCall_Alternatives_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getAlternatives_5(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XConstructorCall_ArgumentsAssignment_5_0(lastRuleCallOrigin, this, 0, inst); case 1: return new XConstructorCall_Group_5_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // arguments+=XShortClosure protected class XConstructorCall_ArgumentsAssignment_5_0 extends AssignmentToken { public XConstructorCall_ArgumentsAssignment_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XShortClosure_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("arguments",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("arguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXShortClosureRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_5_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XConstructorCall_LeftParenthesisKeyword_4(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // arguments+=XExpression ("," arguments+=XExpression)* protected class XConstructorCall_Group_5_1 extends GroupToken { public XConstructorCall_Group_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getGroup_5_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XConstructorCall_Group_5_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XConstructorCall_ArgumentsAssignment_5_1_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // arguments+=XExpression protected class XConstructorCall_ArgumentsAssignment_5_1_0 extends AssignmentToken { public XConstructorCall_ArgumentsAssignment_5_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("arguments",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("arguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_5_1_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XConstructorCall_LeftParenthesisKeyword_4(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," arguments+=XExpression)* protected class XConstructorCall_Group_5_1_1 extends GroupToken { public XConstructorCall_Group_5_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getGroup_5_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XConstructorCall_ArgumentsAssignment_5_1_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class XConstructorCall_CommaKeyword_5_1_1_0 extends KeywordToken { public XConstructorCall_CommaKeyword_5_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getCommaKeyword_5_1_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XConstructorCall_Group_5_1_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XConstructorCall_ArgumentsAssignment_5_1_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // arguments+=XExpression protected class XConstructorCall_ArgumentsAssignment_5_1_1_1 extends AssignmentToken { public XConstructorCall_ArgumentsAssignment_5_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5_1_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("arguments",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("arguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_5_1_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XConstructorCall_CommaKeyword_5_1_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class XConstructorCall_RightParenthesisKeyword_6 extends KeywordToken { public XConstructorCall_RightParenthesisKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_6(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XConstructorCall_Alternatives_5(lastRuleCallOrigin, this, 0, inst); case 1: return new XConstructorCall_LeftParenthesisKeyword_4(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule XConstructorCall ****************/ /************ begin Rule XBooleanLiteral **************** * * XBooleanLiteral returns XExpression: * {XBooleanLiteral} ("false" | isTrue?="true"); * **/ // {XBooleanLiteral} ("false" | isTrue?="true") protected class XBooleanLiteral_Group extends GroupToken { public XBooleanLiteral_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXBooleanLiteralAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XBooleanLiteral_Alternatives_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XBooleanLiteral} protected class XBooleanLiteral_XBooleanLiteralAction_0 extends ActionToken { public XBooleanLiteral_XBooleanLiteralAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "false" | isTrue?="true" protected class XBooleanLiteral_Alternatives_1 extends AlternativesToken { public XBooleanLiteral_Alternatives_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getXBooleanLiteralAccess().getAlternatives_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XBooleanLiteral_FalseKeyword_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new XBooleanLiteral_IsTrueAssignment_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "false" protected class XBooleanLiteral_FalseKeyword_1_0 extends KeywordToken { public XBooleanLiteral_FalseKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XBooleanLiteral_XBooleanLiteralAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // isTrue?="true" protected class XBooleanLiteral_IsTrueAssignment_1_1 extends AssignmentToken { public XBooleanLiteral_IsTrueAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XBooleanLiteral_XBooleanLiteralAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("isTrue",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("isTrue"); if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl type = AssignmentType.KEYWORD; element = grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0(); return obj; } return null; } } /************ end Rule XBooleanLiteral ****************/ /************ begin Rule XNullLiteral **************** * * XNullLiteral returns XExpression: * {XNullLiteral} "null"; * **/ // {XNullLiteral} "null" protected class XNullLiteral_Group extends GroupToken { public XNullLiteral_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXNullLiteralAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XNullLiteral_NullKeyword_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XNullLiteral} protected class XNullLiteral_XNullLiteralAction_0 extends ActionToken { public XNullLiteral_XNullLiteralAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "null" protected class XNullLiteral_NullKeyword_1 extends KeywordToken { public XNullLiteral_NullKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXNullLiteralAccess().getNullKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XNullLiteral_XNullLiteralAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule XNullLiteral ****************/ /************ begin Rule XIntLiteral **************** * * XIntLiteral returns XExpression: * {XIntLiteral} value=INT; * **/ // {XIntLiteral} value=INT protected class XIntLiteral_Group extends GroupToken { public XIntLiteral_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXIntLiteralAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XIntLiteral_ValueAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XIntLiteral} protected class XIntLiteral_XIntLiteralAction_0 extends ActionToken { public XIntLiteral_XIntLiteralAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXIntLiteralAccess().getXIntLiteralAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // value=INT protected class XIntLiteral_ValueAssignment_1 extends AssignmentToken { public XIntLiteral_ValueAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXIntLiteralAccess().getValueAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XIntLiteral_XIntLiteralAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("value",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getXIntLiteralAccess().getValueINTTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getXIntLiteralAccess().getValueINTTerminalRuleCall_1_0(); return obj; } return null; } } /************ end Rule XIntLiteral ****************/ /************ begin Rule XStringLiteral **************** * * XStringLiteral returns XExpression: * {XStringLiteral} value=STRING; * **/ // {XStringLiteral} value=STRING protected class XStringLiteral_Group extends GroupToken { public XStringLiteral_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXStringLiteralAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XStringLiteral_ValueAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XStringLiteral} protected class XStringLiteral_XStringLiteralAction_0 extends ActionToken { public XStringLiteral_XStringLiteralAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // value=STRING protected class XStringLiteral_ValueAssignment_1 extends AssignmentToken { public XStringLiteral_ValueAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXStringLiteralAccess().getValueAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XStringLiteral_XStringLiteralAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("value",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0(), value, null)) { type = AssignmentType.TERMINAL_RULE_CALL; element = grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0(); return obj; } return null; } } /************ end Rule XStringLiteral ****************/ /************ begin Rule XTypeLiteral **************** * * XTypeLiteral returns XExpression: * {XTypeLiteral} "typeof" "(" type=[types::JvmType|QualifiedName] ")"; * **/ // {XTypeLiteral} "typeof" "(" type=[types::JvmType|QualifiedName] ")" protected class XTypeLiteral_Group extends GroupToken { public XTypeLiteral_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXTypeLiteralAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XTypeLiteral_RightParenthesisKeyword_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XTypeLiteral} protected class XTypeLiteral_XTypeLiteralAction_0 extends ActionToken { public XTypeLiteral_XTypeLiteralAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "typeof" protected class XTypeLiteral_TypeofKeyword_1 extends KeywordToken { public XTypeLiteral_TypeofKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XTypeLiteral_XTypeLiteralAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "(" protected class XTypeLiteral_LeftParenthesisKeyword_2 extends KeywordToken { public XTypeLiteral_LeftParenthesisKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XTypeLiteral_TypeofKeyword_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // type=[types::JvmType|QualifiedName] protected class XTypeLiteral_TypeAssignment_3 extends AssignmentToken { public XTypeLiteral_TypeAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XTypeLiteral_LeftParenthesisKeyword_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("type",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0(); return obj; } } return null; } } // ")" protected class XTypeLiteral_RightParenthesisKeyword_4 extends KeywordToken { public XTypeLiteral_RightParenthesisKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XTypeLiteral_TypeAssignment_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } /************ end Rule XTypeLiteral ****************/ /************ begin Rule XThrowExpression **************** * * XThrowExpression returns XExpression: * {XThrowExpression} "throw" expression=XExpression; * **/ // {XThrowExpression} "throw" expression=XExpression protected class XThrowExpression_Group extends GroupToken { public XThrowExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXThrowExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XThrowExpression_ExpressionAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XThrowExpression} protected class XThrowExpression_XThrowExpressionAction_0 extends ActionToken { public XThrowExpression_XThrowExpressionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "throw" protected class XThrowExpression_ThrowKeyword_1 extends KeywordToken { public XThrowExpression_ThrowKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XThrowExpression_XThrowExpressionAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // expression=XExpression protected class XThrowExpression_ExpressionAssignment_2 extends AssignmentToken { public XThrowExpression_ExpressionAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("expression",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expression"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XThrowExpression_ThrowKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XThrowExpression ****************/ /************ begin Rule XReturnExpression **************** * * XReturnExpression returns XExpression: * {XReturnExpression} "return" => expression=XExpression?; * **/ // {XReturnExpression} "return" => expression=XExpression? protected class XReturnExpression_Group extends GroupToken { public XReturnExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXReturnExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XReturnExpression_ExpressionAssignment_2(lastRuleCallOrigin, this, 0, inst); case 1: return new XReturnExpression_ReturnKeyword_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XReturnExpression} protected class XReturnExpression_XReturnExpressionAction_0 extends ActionToken { public XReturnExpression_XReturnExpressionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "return" protected class XReturnExpression_ReturnKeyword_1 extends KeywordToken { public XReturnExpression_ReturnKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XReturnExpression_XReturnExpressionAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // => expression=XExpression? protected class XReturnExpression_ExpressionAssignment_2 extends AssignmentToken { public XReturnExpression_ExpressionAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("expression",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expression"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XReturnExpression_ReturnKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XReturnExpression ****************/ /************ begin Rule XTryCatchFinallyExpression **************** * * XTryCatchFinallyExpression returns XExpression: * {XTryCatchFinallyExpression} "try" expression=XExpression (catchClauses+=XCatchClause+ ("finally" * finallyExpression=XExpression)? | "finally" finallyExpression=XExpression); * **/ // {XTryCatchFinallyExpression} "try" expression=XExpression (catchClauses+=XCatchClause+ ("finally" // finallyExpression=XExpression)? | "finally" finallyExpression=XExpression) protected class XTryCatchFinallyExpression_Group extends GroupToken { public XTryCatchFinallyExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XTryCatchFinallyExpression_Alternatives_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {XTryCatchFinallyExpression} protected class XTryCatchFinallyExpression_XTryCatchFinallyExpressionAction_0 extends ActionToken { public XTryCatchFinallyExpression_XTryCatchFinallyExpressionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "try" protected class XTryCatchFinallyExpression_TryKeyword_1 extends KeywordToken { public XTryCatchFinallyExpression_TryKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XTryCatchFinallyExpression_XTryCatchFinallyExpressionAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // expression=XExpression protected class XTryCatchFinallyExpression_ExpressionAssignment_2 extends AssignmentToken { public XTryCatchFinallyExpression_ExpressionAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("expression",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expression"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XTryCatchFinallyExpression_TryKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // catchClauses+=XCatchClause+ ("finally" finallyExpression=XExpression)? | "finally" finallyExpression=XExpression protected class XTryCatchFinallyExpression_Alternatives_3 extends AlternativesToken { public XTryCatchFinallyExpression_Alternatives_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XTryCatchFinallyExpression_Group_3_0(lastRuleCallOrigin, this, 0, inst); case 1: return new XTryCatchFinallyExpression_Group_3_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // catchClauses+=XCatchClause+ ("finally" finallyExpression=XExpression)? protected class XTryCatchFinallyExpression_Group_3_0 extends GroupToken { public XTryCatchFinallyExpression_Group_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XTryCatchFinallyExpression_Group_3_0_1(lastRuleCallOrigin, this, 0, inst); case 1: return new XTryCatchFinallyExpression_CatchClausesAssignment_3_0_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // catchClauses+=XCatchClause+ protected class XTryCatchFinallyExpression_CatchClausesAssignment_3_0_0 extends AssignmentToken { public XTryCatchFinallyExpression_CatchClausesAssignment_3_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XCatchClause_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("catchClauses",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("catchClauses"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXCatchClauseRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XTryCatchFinallyExpression_CatchClausesAssignment_3_0_0(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new XTryCatchFinallyExpression_ExpressionAssignment_2(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // (=> "finally" finallyExpression=XExpression)? protected class XTryCatchFinallyExpression_Group_3_0_1 extends GroupToken { public XTryCatchFinallyExpression_Group_3_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XTryCatchFinallyExpression_FinallyExpressionAssignment_3_0_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // => "finally" protected class XTryCatchFinallyExpression_FinallyKeyword_3_0_1_0 extends KeywordToken { public XTryCatchFinallyExpression_FinallyKeyword_3_0_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XTryCatchFinallyExpression_CatchClausesAssignment_3_0_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // finallyExpression=XExpression protected class XTryCatchFinallyExpression_FinallyExpressionAssignment_3_0_1_1 extends AssignmentToken { public XTryCatchFinallyExpression_FinallyExpressionAssignment_3_0_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("finallyExpression",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("finallyExpression"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XTryCatchFinallyExpression_FinallyKeyword_3_0_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // "finally" finallyExpression=XExpression protected class XTryCatchFinallyExpression_Group_3_1 extends GroupToken { public XTryCatchFinallyExpression_Group_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XTryCatchFinallyExpression_FinallyExpressionAssignment_3_1_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "finally" protected class XTryCatchFinallyExpression_FinallyKeyword_3_1_0 extends KeywordToken { public XTryCatchFinallyExpression_FinallyKeyword_3_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XTryCatchFinallyExpression_ExpressionAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // finallyExpression=XExpression protected class XTryCatchFinallyExpression_FinallyExpressionAssignment_3_1_1 extends AssignmentToken { public XTryCatchFinallyExpression_FinallyExpressionAssignment_3_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("finallyExpression",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("finallyExpression"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XTryCatchFinallyExpression_FinallyKeyword_3_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XTryCatchFinallyExpression ****************/ /************ begin Rule XCatchClause **************** * * XCatchClause: * "catch" "(" declaredParam=JvmFormalParameter ")" expression=XExpression; * **/ // => "catch" "(" declaredParam=JvmFormalParameter ")" expression=XExpression protected class XCatchClause_Group extends GroupToken { public XCatchClause_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXCatchClauseAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XCatchClause_ExpressionAssignment_4(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXCatchClauseRule().getType().getClassifier()) return null; return eObjectConsumer; } } // => "catch" protected class XCatchClause_CatchKeyword_0 extends KeywordToken { public XCatchClause_CatchKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXCatchClauseAccess().getCatchKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // "(" protected class XCatchClause_LeftParenthesisKeyword_1 extends KeywordToken { public XCatchClause_LeftParenthesisKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XCatchClause_CatchKeyword_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // declaredParam=JvmFormalParameter protected class XCatchClause_DeclaredParamAssignment_2 extends AssignmentToken { public XCatchClause_DeclaredParamAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmFormalParameter_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("declaredParam",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("declaredParam"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmFormalParameterRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXCatchClauseAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XCatchClause_LeftParenthesisKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class XCatchClause_RightParenthesisKeyword_3 extends KeywordToken { public XCatchClause_RightParenthesisKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XCatchClause_DeclaredParamAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // expression=XExpression protected class XCatchClause_ExpressionAssignment_4 extends AssignmentToken { public XCatchClause_ExpressionAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XExpression_XAssignmentParserRuleCall(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("expression",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expression"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getXExpressionRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XCatchClause_RightParenthesisKeyword_3(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XCatchClause ****************/ /************ begin Rule JvmTypeReference **************** * * JvmTypeReference returns JvmParameterizedTypeReference: * JvmParameterizedTypeReference | XFunctionTypeRef; * **/ // JvmParameterizedTypeReference | XFunctionTypeRef protected class JvmTypeReference_Alternatives extends AlternativesToken { public JvmTypeReference_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getJvmTypeReferenceAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmTypeReference_JvmParameterizedTypeReferenceParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new JvmTypeReference_XFunctionTypeRefParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getJvmParameterizedTypeReferenceRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXFunctionTypeRefRule().getType().getClassifier()) return null; return eObjectConsumer; } } // JvmParameterizedTypeReference protected class JvmTypeReference_JvmParameterizedTypeReferenceParserRuleCall_0 extends RuleCallToken { public JvmTypeReference_JvmParameterizedTypeReferenceParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmParameterizedTypeReference_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getJvmParameterizedTypeReferenceRule().getType().getClassifier()) return null; if(checkForRecursion(JvmParameterizedTypeReference_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // XFunctionTypeRef protected class JvmTypeReference_XFunctionTypeRefParserRuleCall_1 extends RuleCallToken { public JvmTypeReference_XFunctionTypeRefParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFunctionTypeRef_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXFunctionTypeRefRule().getType().getClassifier()) return null; if(checkForRecursion(XFunctionTypeRef_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } /************ end Rule JvmTypeReference ****************/ /************ begin Rule XFunctionTypeRef **************** * * XFunctionTypeRef: * ("(" paramTypes+=JvmTypeReference ("," paramTypes+=JvmTypeReference)* ")")? "=>" returnType=JvmTypeReference; * **/ // ("(" paramTypes+=JvmTypeReference ("," paramTypes+=JvmTypeReference)* ")")? "=>" returnType=JvmTypeReference protected class XFunctionTypeRef_Group extends GroupToken { public XFunctionTypeRef_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXFunctionTypeRefAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFunctionTypeRef_ReturnTypeAssignment_2(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getXFunctionTypeRefRule().getType().getClassifier()) return null; return eObjectConsumer; } } // ("(" paramTypes+=JvmTypeReference ("," paramTypes+=JvmTypeReference)* ")")? protected class XFunctionTypeRef_Group_0 extends GroupToken { public XFunctionTypeRef_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXFunctionTypeRefAccess().getGroup_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFunctionTypeRef_RightParenthesisKeyword_0_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "(" protected class XFunctionTypeRef_LeftParenthesisKeyword_0_0 extends KeywordToken { public XFunctionTypeRef_LeftParenthesisKeyword_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // paramTypes+=JvmTypeReference protected class XFunctionTypeRef_ParamTypesAssignment_0_1 extends AssignmentToken { public XFunctionTypeRef_ParamTypesAssignment_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmTypeReference_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("paramTypes",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("paramTypes"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmTypeReferenceRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XFunctionTypeRef_LeftParenthesisKeyword_0_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," paramTypes+=JvmTypeReference)* protected class XFunctionTypeRef_Group_0_2 extends GroupToken { public XFunctionTypeRef_Group_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getXFunctionTypeRefAccess().getGroup_0_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFunctionTypeRef_ParamTypesAssignment_0_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class XFunctionTypeRef_CommaKeyword_0_2_0 extends KeywordToken { public XFunctionTypeRef_CommaKeyword_0_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFunctionTypeRef_Group_0_2(lastRuleCallOrigin, this, 0, inst); case 1: return new XFunctionTypeRef_ParamTypesAssignment_0_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // paramTypes+=JvmTypeReference protected class XFunctionTypeRef_ParamTypesAssignment_0_2_1 extends AssignmentToken { public XFunctionTypeRef_ParamTypesAssignment_0_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmTypeReference_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("paramTypes",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("paramTypes"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmTypeReferenceRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XFunctionTypeRef_CommaKeyword_0_2_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ")" protected class XFunctionTypeRef_RightParenthesisKeyword_0_3 extends KeywordToken { public XFunctionTypeRef_RightParenthesisKeyword_0_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFunctionTypeRef_Group_0_2(lastRuleCallOrigin, this, 0, inst); case 1: return new XFunctionTypeRef_ParamTypesAssignment_0_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // "=>" protected class XFunctionTypeRef_EqualsSignGreaterThanSignKeyword_1 extends KeywordToken { public XFunctionTypeRef_EqualsSignGreaterThanSignKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new XFunctionTypeRef_Group_0(lastRuleCallOrigin, this, 0, inst); default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst); } } } // returnType=JvmTypeReference protected class XFunctionTypeRef_ReturnTypeAssignment_2 extends AssignmentToken { public XFunctionTypeRef_ReturnTypeAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmTypeReference_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("returnType",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("returnType"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmTypeReferenceRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new XFunctionTypeRef_EqualsSignGreaterThanSignKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule XFunctionTypeRef ****************/ /************ begin Rule JvmParameterizedTypeReference **************** * * JvmParameterizedTypeReference: * type=[JvmType|QualifiedName] ("<" arguments+=JvmArgumentTypeReference ("," arguments+=JvmArgumentTypeReference)* * ">")?; * **/ // type=[JvmType|QualifiedName] ("<" arguments+=JvmArgumentTypeReference ("," arguments+=JvmArgumentTypeReference)* ">")? protected class JvmParameterizedTypeReference_Group extends GroupToken { public JvmParameterizedTypeReference_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmParameterizedTypeReference_Group_1(lastRuleCallOrigin, this, 0, inst); case 1: return new JvmParameterizedTypeReference_TypeAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getJvmParameterizedTypeReferenceRule().getType().getClassifier()) return null; return eObjectConsumer; } } // type=[JvmType|QualifiedName] protected class JvmParameterizedTypeReference_TypeAssignment_0 extends AssignmentToken { public JvmParameterizedTypeReference_TypeAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("type",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type"); if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0().getType().getClassifier())) { type = AssignmentType.CROSS_REFERENCE; element = grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0(); return obj; } } return null; } } // (=> "<" arguments+=JvmArgumentTypeReference ("," arguments+=JvmArgumentTypeReference)* ">")? protected class JvmParameterizedTypeReference_Group_1 extends GroupToken { public JvmParameterizedTypeReference_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmParameterizedTypeReference_GreaterThanSignKeyword_1_3(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // => "<" protected class JvmParameterizedTypeReference_LessThanSignKeyword_1_0 extends KeywordToken { public JvmParameterizedTypeReference_LessThanSignKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmParameterizedTypeReference_TypeAssignment_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // arguments+=JvmArgumentTypeReference protected class JvmParameterizedTypeReference_ArgumentsAssignment_1_1 extends AssignmentToken { public JvmParameterizedTypeReference_ArgumentsAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmArgumentTypeReference_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("arguments",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("arguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmArgumentTypeReferenceRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new JvmParameterizedTypeReference_LessThanSignKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ("," arguments+=JvmArgumentTypeReference)* protected class JvmParameterizedTypeReference_Group_1_2 extends GroupToken { public JvmParameterizedTypeReference_Group_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmParameterizedTypeReference_ArgumentsAssignment_1_2_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // "," protected class JvmParameterizedTypeReference_CommaKeyword_1_2_0 extends KeywordToken { public JvmParameterizedTypeReference_CommaKeyword_1_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmParameterizedTypeReference_Group_1_2(lastRuleCallOrigin, this, 0, inst); case 1: return new JvmParameterizedTypeReference_ArgumentsAssignment_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // arguments+=JvmArgumentTypeReference protected class JvmParameterizedTypeReference_ArgumentsAssignment_1_2_1 extends AssignmentToken { public JvmParameterizedTypeReference_ArgumentsAssignment_1_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmArgumentTypeReference_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("arguments",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("arguments"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmArgumentTypeReferenceRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new JvmParameterizedTypeReference_CommaKeyword_1_2_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // ">" protected class JvmParameterizedTypeReference_GreaterThanSignKeyword_1_3 extends KeywordToken { public JvmParameterizedTypeReference_GreaterThanSignKeyword_1_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmParameterizedTypeReference_Group_1_2(lastRuleCallOrigin, this, 0, inst); case 1: return new JvmParameterizedTypeReference_ArgumentsAssignment_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } /************ end Rule JvmParameterizedTypeReference ****************/ /************ begin Rule JvmArgumentTypeReference **************** * * JvmArgumentTypeReference returns JvmTypeReference: * JvmTypeReference | JvmWildcardTypeReference; * **/ // JvmTypeReference | JvmWildcardTypeReference protected class JvmArgumentTypeReference_Alternatives extends AlternativesToken { public JvmArgumentTypeReference_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmArgumentTypeReference_JvmTypeReferenceParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); case 1: return new JvmArgumentTypeReference_JvmWildcardTypeReferenceParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getJvmParameterizedTypeReferenceRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXFunctionTypeRefRule().getType().getClassifier()) return null; return eObjectConsumer; } } // JvmTypeReference protected class JvmArgumentTypeReference_JvmTypeReferenceParserRuleCall_0 extends RuleCallToken { public JvmArgumentTypeReference_JvmTypeReferenceParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmTypeReference_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getJvmParameterizedTypeReferenceRule().getType().getClassifier() && getEObject().eClass() != grammarAccess.getXFunctionTypeRefRule().getType().getClassifier()) return null; if(checkForRecursion(JvmTypeReference_Alternatives.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } // JvmWildcardTypeReference protected class JvmArgumentTypeReference_JvmWildcardTypeReferenceParserRuleCall_1 extends RuleCallToken { public JvmArgumentTypeReference_JvmWildcardTypeReferenceParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public RuleCall getGrammarElement() { return grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmWildcardTypeReference_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0().getType().getClassifier()) return null; if(checkForRecursion(JvmWildcardTypeReference_Group.class, eObjectConsumer)) return null; return eObjectConsumer; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); } } } /************ end Rule JvmArgumentTypeReference ****************/ /************ begin Rule JvmWildcardTypeReference **************** * * JvmWildcardTypeReference: * {JvmWildcardTypeReference} "?" (constraints+=JvmUpperBound | constraints+=JvmLowerBound)?; * **/ // {JvmWildcardTypeReference} "?" (constraints+=JvmUpperBound | constraints+=JvmLowerBound)? protected class JvmWildcardTypeReference_Group extends GroupToken { public JvmWildcardTypeReference_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmWildcardTypeReference_Alternatives_2(lastRuleCallOrigin, this, 0, inst); case 1: return new JvmWildcardTypeReference_QuestionMarkKeyword_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0().getType().getClassifier()) return null; return eObjectConsumer; } } // {JvmWildcardTypeReference} protected class JvmWildcardTypeReference_JvmWildcardTypeReferenceAction_0 extends ActionToken { public JvmWildcardTypeReference_JvmWildcardTypeReferenceAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Action getGrammarElement() { return grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if(!eObjectConsumer.isConsumed()) return null; return eObjectConsumer; } } // "?" protected class JvmWildcardTypeReference_QuestionMarkKeyword_1 extends KeywordToken { public JvmWildcardTypeReference_QuestionMarkKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmWildcardTypeReference_JvmWildcardTypeReferenceAction_0(lastRuleCallOrigin, this, 0, inst); default: return null; } } } // (constraints+=JvmUpperBound | constraints+=JvmLowerBound)? protected class JvmWildcardTypeReference_Alternatives_2 extends AlternativesToken { public JvmWildcardTypeReference_Alternatives_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmWildcardTypeReference_ConstraintsAssignment_2_0(lastRuleCallOrigin, this, 0, inst); case 1: return new JvmWildcardTypeReference_ConstraintsAssignment_2_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // constraints+=JvmUpperBound protected class JvmWildcardTypeReference_ConstraintsAssignment_2_0 extends AssignmentToken { public JvmWildcardTypeReference_ConstraintsAssignment_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmUpperBound_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("constraints",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("constraints"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmUpperBoundRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new JvmWildcardTypeReference_QuestionMarkKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // constraints+=JvmLowerBound protected class JvmWildcardTypeReference_ConstraintsAssignment_2_1 extends AssignmentToken { public JvmWildcardTypeReference_ConstraintsAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmLowerBound_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("constraints",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("constraints"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmLowerBoundRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new JvmWildcardTypeReference_QuestionMarkKeyword_1(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule JvmWildcardTypeReference ****************/ /************ begin Rule JvmUpperBound **************** * * JvmUpperBound: * "extends" typeReference=JvmTypeReference; * **/ // "extends" typeReference=JvmTypeReference protected class JvmUpperBound_Group extends GroupToken { public JvmUpperBound_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getJvmUpperBoundAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmUpperBound_TypeReferenceAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getJvmUpperBoundRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "extends" protected class JvmUpperBound_ExtendsKeyword_0 extends KeywordToken { public JvmUpperBound_ExtendsKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // typeReference=JvmTypeReference protected class JvmUpperBound_TypeReferenceAssignment_1 extends AssignmentToken { public JvmUpperBound_TypeReferenceAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmTypeReference_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("typeReference",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("typeReference"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmTypeReferenceRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new JvmUpperBound_ExtendsKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule JvmUpperBound ****************/ /************ begin Rule JvmUpperBoundAnded **************** * * JvmUpperBoundAnded returns JvmUpperBound: * "&" typeReference=JvmTypeReference; * **/ // "&" typeReference=JvmTypeReference protected class JvmUpperBoundAnded_Group extends GroupToken { public JvmUpperBoundAnded_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getJvmUpperBoundAndedAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmUpperBoundAnded_TypeReferenceAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getJvmUpperBoundAndedRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "&" protected class JvmUpperBoundAnded_AmpersandKeyword_0 extends KeywordToken { public JvmUpperBoundAnded_AmpersandKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // typeReference=JvmTypeReference protected class JvmUpperBoundAnded_TypeReferenceAssignment_1 extends AssignmentToken { public JvmUpperBoundAnded_TypeReferenceAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmTypeReference_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("typeReference",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("typeReference"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmTypeReferenceRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new JvmUpperBoundAnded_AmpersandKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule JvmUpperBoundAnded ****************/ /************ begin Rule JvmLowerBound **************** * * JvmLowerBound: * "super" typeReference=JvmTypeReference; * **/ // "super" typeReference=JvmTypeReference protected class JvmLowerBound_Group extends GroupToken { public JvmLowerBound_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getJvmLowerBoundAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmLowerBound_TypeReferenceAssignment_1(lastRuleCallOrigin, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getJvmLowerBoundRule().getType().getClassifier()) return null; return eObjectConsumer; } } // "super" protected class JvmLowerBound_SuperKeyword_0 extends KeywordToken { public JvmLowerBound_SuperKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Keyword getGrammarElement() { return grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } } // typeReference=JvmTypeReference protected class JvmLowerBound_TypeReferenceAssignment_1 extends AssignmentToken { public JvmLowerBound_TypeReferenceAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmTypeReference_Alternatives(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("typeReference",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("typeReference"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmTypeReferenceRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new JvmLowerBound_SuperKeyword_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule JvmLowerBound ****************/ /************ begin Rule JvmTypeParameter **************** * * JvmTypeParameter: * name=ValidID (constraints+=JvmUpperBound constraints+=JvmUpperBoundAnded* | constraints+=JvmLowerBound)?; * **/ // name=ValidID (constraints+=JvmUpperBound constraints+=JvmUpperBoundAnded* | constraints+=JvmLowerBound)? protected class JvmTypeParameter_Group extends GroupToken { public JvmTypeParameter_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getJvmTypeParameterAccess().getGroup(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmTypeParameter_Alternatives_1(lastRuleCallOrigin, this, 0, inst); case 1: return new JvmTypeParameter_NameAssignment_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if(getEObject().eClass() != grammarAccess.getJvmTypeParameterRule().getType().getClassifier()) return null; return eObjectConsumer; } } // name=ValidID protected class JvmTypeParameter_NameAssignment_0 extends AssignmentToken { public JvmTypeParameter_NameAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getJvmTypeParameterAccess().getNameAssignment_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getJvmTypeParameterAccess().getNameValidIDParserRuleCall_0_0(), value, null)) { type = AssignmentType.DATATYPE_RULE_CALL; element = grammarAccess.getJvmTypeParameterAccess().getNameValidIDParserRuleCall_0_0(); return obj; } return null; } } // (constraints+=JvmUpperBound constraints+=JvmUpperBoundAnded* | constraints+=JvmLowerBound)? protected class JvmTypeParameter_Alternatives_1 extends AlternativesToken { public JvmTypeParameter_Alternatives_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Alternatives getGrammarElement() { return grammarAccess.getJvmTypeParameterAccess().getAlternatives_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmTypeParameter_Group_1_0(lastRuleCallOrigin, this, 0, inst); case 1: return new JvmTypeParameter_ConstraintsAssignment_1_1(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // constraints+=JvmUpperBound constraints+=JvmUpperBoundAnded* protected class JvmTypeParameter_Group_1_0 extends GroupToken { public JvmTypeParameter_Group_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Group getGrammarElement() { return grammarAccess.getJvmTypeParameterAccess().getGroup_1_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmTypeParameter_ConstraintsAssignment_1_0_1(lastRuleCallOrigin, this, 0, inst); case 1: return new JvmTypeParameter_ConstraintsAssignment_1_0_0(lastRuleCallOrigin, this, 1, inst); default: return null; } } } // constraints+=JvmUpperBound protected class JvmTypeParameter_ConstraintsAssignment_1_0_0 extends AssignmentToken { public JvmTypeParameter_ConstraintsAssignment_1_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_0_0(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmUpperBound_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("constraints",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("constraints"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmUpperBoundRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getJvmTypeParameterAccess().getConstraintsJvmUpperBoundParserRuleCall_1_0_0_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new JvmTypeParameter_NameAssignment_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // constraints+=JvmUpperBoundAnded* protected class JvmTypeParameter_ConstraintsAssignment_1_0_1 extends AssignmentToken { public JvmTypeParameter_ConstraintsAssignment_1_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_0_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmUpperBoundAnded_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("constraints",false)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("constraints"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmUpperBoundAndedRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getJvmTypeParameterAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_1_0_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new JvmTypeParameter_ConstraintsAssignment_1_0_1(lastRuleCallOrigin, next, actIndex, consumed); case 1: return new JvmTypeParameter_ConstraintsAssignment_1_0_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } // constraints+=JvmLowerBound protected class JvmTypeParameter_ConstraintsAssignment_1_1 extends AssignmentToken { public JvmTypeParameter_ConstraintsAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); } @Override public Assignment getGrammarElement() { return grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_1(); } @Override public AbstractToken createFollower(int index, IEObjectConsumer inst) { switch(index) { case 0: return new JvmLowerBound_Group(this, this, 0, inst); default: return null; } } @Override public IEObjectConsumer tryConsume() { if((value = eObjectConsumer.getConsumable("constraints",true)) == null) return null; IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("constraints"); if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl IEObjectConsumer param = createEObjectConsumer((EObject)value); if(param.isInstanceOf(grammarAccess.getJvmLowerBoundRule().getType().getClassifier())) { type = AssignmentType.PARSER_RULE_CALL; element = grammarAccess.getJvmTypeParameterAccess().getConstraintsJvmLowerBoundParserRuleCall_1_1_0(); consumed = obj; return param; } } return null; } @Override public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { if(value == inst.getEObject() && !inst.isConsumed()) return null; switch(index) { case 0: return new JvmTypeParameter_NameAssignment_0(lastRuleCallOrigin, next, actIndex, consumed); default: return null; } } } /************ end Rule JvmTypeParameter ****************/ }