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