blob: c257756b429c333a8eddafafef2df81e47379aaa [file] [log] [blame]
/*
* generated by Xtext
*/
package org.eclipse.net4j.tools.workingset.parseTreeConstruction;
import org.eclipse.emf.ecore.*;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parsetree.reconstr.IEObjectConsumer;
import org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor;
import org.eclipse.net4j.tools.workingset.services.DslGrammarAccess;
import com.google.inject.Inject;
@SuppressWarnings("all")
public class DslParsetreeConstructor extends AbstractParseTreeConstructor {
@Inject
private DslGrammarAccess 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 BooleanExpression_OrExpressionParserRuleCall(this, this, 0, inst);
case 1: return new OrExpression_Group(this, this, 1, inst);
case 2: return new XorExpression_Group(this, this, 2, inst);
case 3: return new AndExpression_Group(this, this, 3, inst);
case 4: return new ComparisonExpression_Alternatives(this, this, 4, inst);
case 5: return new PrimaryExpression_Alternatives(this, this, 5, inst);
case 6: return new BooleanLiteral_ValueAssignment(this, this, 6, inst);
case 7: return new NotExpression_Group(this, this, 7, inst);
case 8: return new IsExpression_Group(this, this, 8, inst);
case 9: return new HasExpression_Group(this, this, 9, inst);
case 10: return new TestExpression_Group(this, this, 10, inst);
case 11: return new ConcatExpression_Group(this, this, 11, inst);
case 12: return new StringExpression_Alternatives(this, this, 12, inst);
case 13: return new StringLiteral_ValueAssignment(this, this, 13, inst);
case 14: return new PropertyAccess_PropertyAssignment(this, this, 14, inst);
default: return null;
}
}
}
/************ begin Rule BooleanExpression ****************
*
* BooleanExpression:
* OrExpression;
*
**/
// OrExpression
protected class BooleanExpression_OrExpressionParserRuleCall extends RuleCallToken {
public BooleanExpression_OrExpressionParserRuleCall(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getBooleanExpressionAccess().getOrExpressionParserRuleCall();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new OrExpression_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAndExpressionAccess().getAndExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getBooleanComparisonLeftAction_0_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getBooleanLiteralRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getHasExpressionAccess().getHasExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getIsExpressionAccess().getIsExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getNotExpressionAccess().getNotExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getOrExpressionAccess().getOrExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getStringComparisonLeftAction_1_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getTestExpressionAccess().getTestExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getXorExpressionAccess().getXorExpressionLeftAction_1_0().getType().getClassifier())
return null;
if(checkForRecursion(OrExpression_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 BooleanExpression ****************/
/************ begin Rule OrExpression ****************
*
* OrExpression returns BooleanExpression:
* XorExpression ({OrExpression.left=current} OrOperator right=XorExpression)*;
*
**/
// XorExpression ({OrExpression.left=current} OrOperator right=XorExpression)*
protected class OrExpression_Group extends GroupToken {
public OrExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getOrExpressionAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new OrExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new OrExpression_XorExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAndExpressionAccess().getAndExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getBooleanComparisonLeftAction_0_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getBooleanLiteralRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getHasExpressionAccess().getHasExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getIsExpressionAccess().getIsExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getNotExpressionAccess().getNotExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getOrExpressionAccess().getOrExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getStringComparisonLeftAction_1_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getTestExpressionAccess().getTestExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getXorExpressionAccess().getXorExpressionLeftAction_1_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// XorExpression
protected class OrExpression_XorExpressionParserRuleCall_0 extends RuleCallToken {
public OrExpression_XorExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getOrExpressionAccess().getXorExpressionParserRuleCall_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);
}
}
}
// ({OrExpression.left=current} OrOperator right=XorExpression)*
protected class OrExpression_Group_1 extends GroupToken {
public OrExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getOrExpressionAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new OrExpression_RightAssignment_1_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getOrExpressionAccess().getOrExpressionLeftAction_1_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {OrExpression.left=current}
protected class OrExpression_OrExpressionLeftAction_1_0 extends ActionToken {
public OrExpression_OrExpressionLeftAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getOrExpressionAccess().getOrExpressionLeftAction_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new OrExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new OrExpression_XorExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
Object val = eObjectConsumer.getConsumable("left", false);
if(val == null) return null;
if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null;
return createEObjectConsumer((EObject) val);
}
}
// OrOperator
protected class OrExpression_OrOperatorParserRuleCall_1_1 extends UnassignedTextToken {
public OrExpression_OrOperatorParserRuleCall_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getOrExpressionAccess().getOrOperatorParserRuleCall_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new OrExpression_OrExpressionLeftAction_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// right=XorExpression
protected class OrExpression_RightAssignment_1_2 extends AssignmentToken {
public OrExpression_RightAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getOrExpressionAccess().getRightAssignment_1_2();
}
@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((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.getXorExpressionRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getOrExpressionAccess().getRightXorExpressionParserRuleCall_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 OrExpression_OrOperatorParserRuleCall_1_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule OrExpression ****************/
/************ begin Rule XorExpression ****************
*
* XorExpression returns BooleanExpression:
* AndExpression ({XorExpression.left=current} XorOperator right=AndExpression)*;
*
**/
// AndExpression ({XorExpression.left=current} XorOperator right=AndExpression)*
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_AndExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAndExpressionAccess().getAndExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getBooleanComparisonLeftAction_0_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getBooleanLiteralRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getHasExpressionAccess().getHasExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getIsExpressionAccess().getIsExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getNotExpressionAccess().getNotExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getOrExpressionAccess().getOrExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getStringComparisonLeftAction_1_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getTestExpressionAccess().getTestExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getXorExpressionAccess().getXorExpressionLeftAction_1_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// AndExpression
protected class XorExpression_AndExpressionParserRuleCall_0 extends RuleCallToken {
public XorExpression_AndExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getXorExpressionAccess().getAndExpressionParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new AndExpression_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(AndExpression_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);
}
}
}
// ({XorExpression.left=current} XorOperator right=AndExpression)*
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_RightAssignment_1_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getXorExpressionAccess().getXorExpressionLeftAction_1_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {XorExpression.left=current}
protected class XorExpression_XorExpressionLeftAction_1_0 extends ActionToken {
public XorExpression_XorExpressionLeftAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getXorExpressionAccess().getXorExpressionLeftAction_1_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_AndExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
Object val = eObjectConsumer.getConsumable("left", false);
if(val == null) return null;
if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null;
return createEObjectConsumer((EObject) val);
}
}
// XorOperator
protected class XorExpression_XorOperatorParserRuleCall_1_1 extends UnassignedTextToken {
public XorExpression_XorOperatorParserRuleCall_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getXorExpressionAccess().getXorOperatorParserRuleCall_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new XorExpression_XorExpressionLeftAction_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// right=AndExpression
protected class XorExpression_RightAssignment_1_2 extends AssignmentToken {
public XorExpression_RightAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getXorExpressionAccess().getRightAssignment_1_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new AndExpression_Group(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.getAndExpressionRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getXorExpressionAccess().getRightAndExpressionParserRuleCall_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 XorExpression_XorOperatorParserRuleCall_1_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule XorExpression ****************/
/************ begin Rule AndExpression ****************
*
* AndExpression returns BooleanExpression:
* ComparisonExpression ({AndExpression.left=current} AndOperator right=ComparisonExpression)*;
*
**/
// ComparisonExpression ({AndExpression.left=current} AndOperator right=ComparisonExpression)*
protected class AndExpression_Group extends GroupToken {
public AndExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getAndExpressionAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new AndExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new AndExpression_ComparisonExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAndExpressionAccess().getAndExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getBooleanComparisonLeftAction_0_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getBooleanLiteralRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getHasExpressionAccess().getHasExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getIsExpressionAccess().getIsExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getNotExpressionAccess().getNotExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getOrExpressionAccess().getOrExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getStringComparisonLeftAction_1_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getTestExpressionAccess().getTestExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getXorExpressionAccess().getXorExpressionLeftAction_1_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// ComparisonExpression
protected class AndExpression_ComparisonExpressionParserRuleCall_0 extends RuleCallToken {
public AndExpression_ComparisonExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAndExpressionAccess().getComparisonExpressionParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ComparisonExpression_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(ComparisonExpression_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);
}
}
}
// ({AndExpression.left=current} AndOperator right=ComparisonExpression)*
protected class AndExpression_Group_1 extends GroupToken {
public AndExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getAndExpressionAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new AndExpression_RightAssignment_1_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAndExpressionAccess().getAndExpressionLeftAction_1_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {AndExpression.left=current}
protected class AndExpression_AndExpressionLeftAction_1_0 extends ActionToken {
public AndExpression_AndExpressionLeftAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getAndExpressionAccess().getAndExpressionLeftAction_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new AndExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new AndExpression_ComparisonExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
Object val = eObjectConsumer.getConsumable("left", false);
if(val == null) return null;
if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null;
return createEObjectConsumer((EObject) val);
}
}
// AndOperator
protected class AndExpression_AndOperatorParserRuleCall_1_1 extends UnassignedTextToken {
public AndExpression_AndOperatorParserRuleCall_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAndExpressionAccess().getAndOperatorParserRuleCall_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new AndExpression_AndExpressionLeftAction_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// right=ComparisonExpression
protected class AndExpression_RightAssignment_1_2 extends AssignmentToken {
public AndExpression_RightAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAndExpressionAccess().getRightAssignment_1_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ComparisonExpression_Alternatives(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.getComparisonExpressionRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getAndExpressionAccess().getRightComparisonExpressionParserRuleCall_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 AndExpression_AndOperatorParserRuleCall_1_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule AndExpression ****************/
/************ begin Rule ComparisonExpression ****************
*
* ComparisonExpression returns BooleanExpression:
* PrimaryExpression ({BooleanComparison.left=current} operator=ComparisonOperator right=PrimaryExpression)* |
* ConcatExpression ({StringComparison.left=current} operator=StringOperator right=ConcatExpression)+;
*
**/
// PrimaryExpression ({BooleanComparison.left=current} operator=ComparisonOperator right=PrimaryExpression)* |
// ConcatExpression ({StringComparison.left=current} operator=StringOperator right=ConcatExpression)+
protected class ComparisonExpression_Alternatives extends AlternativesToken {
public ComparisonExpression_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getComparisonExpressionAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ComparisonExpression_Group_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new ComparisonExpression_Group_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAndExpressionAccess().getAndExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getBooleanComparisonLeftAction_0_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getBooleanLiteralRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getHasExpressionAccess().getHasExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getIsExpressionAccess().getIsExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getNotExpressionAccess().getNotExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getOrExpressionAccess().getOrExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getStringComparisonLeftAction_1_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getTestExpressionAccess().getTestExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getXorExpressionAccess().getXorExpressionLeftAction_1_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// PrimaryExpression ({BooleanComparison.left=current} operator=ComparisonOperator right=PrimaryExpression)*
protected class ComparisonExpression_Group_0 extends GroupToken {
public ComparisonExpression_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getComparisonExpressionAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ComparisonExpression_Group_0_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new ComparisonExpression_PrimaryExpressionParserRuleCall_0_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// PrimaryExpression
protected class ComparisonExpression_PrimaryExpressionParserRuleCall_0_0 extends RuleCallToken {
public ComparisonExpression_PrimaryExpressionParserRuleCall_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getComparisonExpressionAccess().getPrimaryExpressionParserRuleCall_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new PrimaryExpression_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(PrimaryExpression_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);
}
}
}
// ({BooleanComparison.left=current} operator=ComparisonOperator right=PrimaryExpression)*
protected class ComparisonExpression_Group_0_1 extends GroupToken {
public ComparisonExpression_Group_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getComparisonExpressionAccess().getGroup_0_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ComparisonExpression_RightAssignment_0_1_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getBooleanComparisonLeftAction_0_1_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {BooleanComparison.left=current}
protected class ComparisonExpression_BooleanComparisonLeftAction_0_1_0 extends ActionToken {
public ComparisonExpression_BooleanComparisonLeftAction_0_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getComparisonExpressionAccess().getBooleanComparisonLeftAction_0_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ComparisonExpression_Group_0_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new ComparisonExpression_PrimaryExpressionParserRuleCall_0_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
Object val = eObjectConsumer.getConsumable("left", false);
if(val == null) return null;
if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null;
return createEObjectConsumer((EObject) val);
}
}
// operator=ComparisonOperator
protected class ComparisonExpression_OperatorAssignment_0_1_1 extends AssignmentToken {
public ComparisonExpression_OperatorAssignment_0_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getComparisonExpressionAccess().getOperatorAssignment_0_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ComparisonExpression_BooleanComparisonLeftAction_0_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("operator",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operator");
if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getComparisonExpressionAccess().getOperatorComparisonOperatorEnumRuleCall_0_1_1_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getComparisonExpressionAccess().getOperatorComparisonOperatorEnumRuleCall_0_1_1_0();
return obj;
}
return null;
}
}
// right=PrimaryExpression
protected class ComparisonExpression_RightAssignment_0_1_2 extends AssignmentToken {
public ComparisonExpression_RightAssignment_0_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getComparisonExpressionAccess().getRightAssignment_0_1_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new PrimaryExpression_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("right",true)) == 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.getPrimaryExpressionRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getComparisonExpressionAccess().getRightPrimaryExpressionParserRuleCall_0_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 ComparisonExpression_OperatorAssignment_0_1_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// ConcatExpression ({StringComparison.left=current} operator=StringOperator right=ConcatExpression)+
protected class ComparisonExpression_Group_1 extends GroupToken {
public ComparisonExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getComparisonExpressionAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ComparisonExpression_Group_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getStringComparisonLeftAction_1_1_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// ConcatExpression
protected class ComparisonExpression_ConcatExpressionParserRuleCall_1_0 extends RuleCallToken {
public ComparisonExpression_ConcatExpressionParserRuleCall_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getComparisonExpressionAccess().getConcatExpressionParserRuleCall_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ConcatExpression_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getConcatExpressionAccess().getConcatExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getPropertyAccessRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getStringLiteralRule().getType().getClassifier())
return null;
if(checkForRecursion(ConcatExpression_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);
}
}
}
// ({StringComparison.left=current} operator=StringOperator right=ConcatExpression)+
protected class ComparisonExpression_Group_1_1 extends GroupToken {
public ComparisonExpression_Group_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getComparisonExpressionAccess().getGroup_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ComparisonExpression_RightAssignment_1_1_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// {StringComparison.left=current}
protected class ComparisonExpression_StringComparisonLeftAction_1_1_0 extends ActionToken {
public ComparisonExpression_StringComparisonLeftAction_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getComparisonExpressionAccess().getStringComparisonLeftAction_1_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ComparisonExpression_Group_1_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new ComparisonExpression_ConcatExpressionParserRuleCall_1_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
Object val = eObjectConsumer.getConsumable("left", false);
if(val == null) return null;
if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null;
return createEObjectConsumer((EObject) val);
}
}
// operator=StringOperator
protected class ComparisonExpression_OperatorAssignment_1_1_1 extends AssignmentToken {
public ComparisonExpression_OperatorAssignment_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getComparisonExpressionAccess().getOperatorAssignment_1_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ComparisonExpression_StringComparisonLeftAction_1_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("operator",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operator");
if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getComparisonExpressionAccess().getOperatorStringOperatorEnumRuleCall_1_1_1_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getComparisonExpressionAccess().getOperatorStringOperatorEnumRuleCall_1_1_1_0();
return obj;
}
return null;
}
}
// right=ConcatExpression
protected class ComparisonExpression_RightAssignment_1_1_2 extends AssignmentToken {
public ComparisonExpression_RightAssignment_1_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getComparisonExpressionAccess().getRightAssignment_1_1_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ConcatExpression_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("right",true)) == 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.getConcatExpressionRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getComparisonExpressionAccess().getRightConcatExpressionParserRuleCall_1_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 ComparisonExpression_OperatorAssignment_1_1_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule ComparisonExpression ****************/
/************ begin Rule PrimaryExpression ****************
*
* PrimaryExpression returns BooleanExpression:
* BooleanLiteral | NotExpression | IsExpression | HasExpression | TestExpression | "(" OrExpression ")";
*
**/
// BooleanLiteral | NotExpression | IsExpression | HasExpression | TestExpression | "(" OrExpression ")"
protected class PrimaryExpression_Alternatives extends AlternativesToken {
public PrimaryExpression_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getPrimaryExpressionAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new PrimaryExpression_BooleanLiteralParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new PrimaryExpression_NotExpressionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
case 2: return new PrimaryExpression_IsExpressionParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
case 3: return new PrimaryExpression_HasExpressionParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
case 4: return new PrimaryExpression_TestExpressionParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
case 5: return new PrimaryExpression_Group_5(lastRuleCallOrigin, this, 5, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAndExpressionAccess().getAndExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getBooleanComparisonLeftAction_0_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getBooleanLiteralRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getHasExpressionAccess().getHasExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getIsExpressionAccess().getIsExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getNotExpressionAccess().getNotExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getOrExpressionAccess().getOrExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getComparisonExpressionAccess().getStringComparisonLeftAction_1_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getTestExpressionAccess().getTestExpressionAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getXorExpressionAccess().getXorExpressionLeftAction_1_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// BooleanLiteral
protected class PrimaryExpression_BooleanLiteralParserRuleCall_0 extends RuleCallToken {
public PrimaryExpression_BooleanLiteralParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getPrimaryExpressionAccess().getBooleanLiteralParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new BooleanLiteral_ValueAssignment(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getBooleanLiteralRule().getType().getClassifier())
return null;
if(checkForRecursion(BooleanLiteral_ValueAssignment.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);
}
}
}
// NotExpression
protected class PrimaryExpression_NotExpressionParserRuleCall_1 extends RuleCallToken {
public PrimaryExpression_NotExpressionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getPrimaryExpressionAccess().getNotExpressionParserRuleCall_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new NotExpression_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getNotExpressionAccess().getNotExpressionAction_0().getType().getClassifier())
return null;
if(checkForRecursion(NotExpression_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);
}
}
}
// IsExpression
protected class PrimaryExpression_IsExpressionParserRuleCall_2 extends RuleCallToken {
public PrimaryExpression_IsExpressionParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getPrimaryExpressionAccess().getIsExpressionParserRuleCall_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new IsExpression_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getIsExpressionAccess().getIsExpressionAction_0().getType().getClassifier())
return null;
if(checkForRecursion(IsExpression_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);
}
}
}
// HasExpression
protected class PrimaryExpression_HasExpressionParserRuleCall_3 extends RuleCallToken {
public PrimaryExpression_HasExpressionParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getPrimaryExpressionAccess().getHasExpressionParserRuleCall_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new HasExpression_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getHasExpressionAccess().getHasExpressionAction_0().getType().getClassifier())
return null;
if(checkForRecursion(HasExpression_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);
}
}
}
// TestExpression
protected class PrimaryExpression_TestExpressionParserRuleCall_4 extends RuleCallToken {
public PrimaryExpression_TestExpressionParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getPrimaryExpressionAccess().getTestExpressionParserRuleCall_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new TestExpression_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getTestExpressionAccess().getTestExpressionAction_0().getType().getClassifier())
return null;
if(checkForRecursion(TestExpression_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);
}
}
}
// "(" OrExpression ")"
protected class PrimaryExpression_Group_5 extends GroupToken {
public PrimaryExpression_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getPrimaryExpressionAccess().getGroup_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new PrimaryExpression_RightParenthesisKeyword_5_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "("
protected class PrimaryExpression_LeftParenthesisKeyword_5_0 extends KeywordToken {
public PrimaryExpression_LeftParenthesisKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getPrimaryExpressionAccess().getLeftParenthesisKeyword_5_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// OrExpression
protected class PrimaryExpression_OrExpressionParserRuleCall_5_1 extends RuleCallToken {
public PrimaryExpression_OrExpressionParserRuleCall_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getPrimaryExpressionAccess().getOrExpressionParserRuleCall_5_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new OrExpression_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(OrExpression_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new PrimaryExpression_LeftParenthesisKeyword_5_0(lastRuleCallOrigin, next, actIndex, inst);
default: return null;
}
}
}
// ")"
protected class PrimaryExpression_RightParenthesisKeyword_5_2 extends KeywordToken {
public PrimaryExpression_RightParenthesisKeyword_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getPrimaryExpressionAccess().getRightParenthesisKeyword_5_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new PrimaryExpression_OrExpressionParserRuleCall_5_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
/************ end Rule PrimaryExpression ****************/
/************ begin Rule BooleanLiteral ****************
*
* BooleanLiteral:
* value=BOOLEAN;
*
**/
// value=BOOLEAN
protected class BooleanLiteral_ValueAssignment extends AssignmentToken {
public BooleanLiteral_ValueAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBooleanLiteralAccess().getValueAssignment();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getBooleanLiteralRule().getType().getClassifier())
return null;
if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getBooleanLiteralAccess().getValueBOOLEANTerminalRuleCall_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getBooleanLiteralAccess().getValueBOOLEANTerminalRuleCall_0();
return obj;
}
return null;
}
}
/************ end Rule BooleanLiteral ****************/
/************ begin Rule NotExpression ****************
*
* NotExpression returns BooleanExpression:
* {NotExpression} NotOperator right=PrimaryExpression;
*
**/
// {NotExpression} NotOperator right=PrimaryExpression
protected class NotExpression_Group extends GroupToken {
public NotExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getNotExpressionAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new NotExpression_RightAssignment_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getNotExpressionAccess().getNotExpressionAction_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {NotExpression}
protected class NotExpression_NotExpressionAction_0 extends ActionToken {
public NotExpression_NotExpressionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getNotExpressionAccess().getNotExpressionAction_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;
}
}
// NotOperator
protected class NotExpression_NotOperatorParserRuleCall_1 extends UnassignedTextToken {
public NotExpression_NotOperatorParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getNotExpressionAccess().getNotOperatorParserRuleCall_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new NotExpression_NotExpressionAction_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// right=PrimaryExpression
protected class NotExpression_RightAssignment_2 extends AssignmentToken {
public NotExpression_RightAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getNotExpressionAccess().getRightAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new PrimaryExpression_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("right",true)) == 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.getPrimaryExpressionRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getNotExpressionAccess().getRightPrimaryExpressionParserRuleCall_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 NotExpression_NotOperatorParserRuleCall_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule NotExpression ****************/
/************ begin Rule IsExpression ****************
*
* IsExpression returns BooleanExpression:
* {IsExpression} "is" type=Type;
*
**/
// {IsExpression} "is" type=Type
protected class IsExpression_Group extends GroupToken {
public IsExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getIsExpressionAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new IsExpression_TypeAssignment_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getIsExpressionAccess().getIsExpressionAction_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {IsExpression}
protected class IsExpression_IsExpressionAction_0 extends ActionToken {
public IsExpression_IsExpressionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getIsExpressionAccess().getIsExpressionAction_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;
}
}
// "is"
protected class IsExpression_IsKeyword_1 extends KeywordToken {
public IsExpression_IsKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getIsExpressionAccess().getIsKeyword_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new IsExpression_IsExpressionAction_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// type=Type
protected class IsExpression_TypeAssignment_2 extends AssignmentToken {
public IsExpression_TypeAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getIsExpressionAccess().getTypeAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new IsExpression_IsKeyword_1(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(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getIsExpressionAccess().getTypeTypeEnumRuleCall_2_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getIsExpressionAccess().getTypeTypeEnumRuleCall_2_0();
return obj;
}
return null;
}
}
/************ end Rule IsExpression ****************/
/************ begin Rule HasExpression ****************
*
* HasExpression returns BooleanExpression:
* {HasExpression} "has" kind=Kind what=ConcatExpression;
*
**/
// {HasExpression} "has" kind=Kind what=ConcatExpression
protected class HasExpression_Group extends GroupToken {
public HasExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getHasExpressionAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new HasExpression_WhatAssignment_3(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getHasExpressionAccess().getHasExpressionAction_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {HasExpression}
protected class HasExpression_HasExpressionAction_0 extends ActionToken {
public HasExpression_HasExpressionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getHasExpressionAccess().getHasExpressionAction_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;
}
}
// "has"
protected class HasExpression_HasKeyword_1 extends KeywordToken {
public HasExpression_HasKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getHasExpressionAccess().getHasKeyword_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new HasExpression_HasExpressionAction_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// kind=Kind
protected class HasExpression_KindAssignment_2 extends AssignmentToken {
public HasExpression_KindAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getHasExpressionAccess().getKindAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new HasExpression_HasKeyword_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getHasExpressionAccess().getKindKindEnumRuleCall_2_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getHasExpressionAccess().getKindKindEnumRuleCall_2_0();
return obj;
}
return null;
}
}
// what=ConcatExpression
protected class HasExpression_WhatAssignment_3 extends AssignmentToken {
public HasExpression_WhatAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getHasExpressionAccess().getWhatAssignment_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ConcatExpression_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("what",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("what");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getConcatExpressionRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getHasExpressionAccess().getWhatConcatExpressionParserRuleCall_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 HasExpression_KindAssignment_2(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule HasExpression ****************/
/************ begin Rule TestExpression ****************
*
* TestExpression returns BooleanExpression:
* {TestExpression} property+=ID ("." property+=ID)* "(" args+=ConcatExpression ("," args+=ConcatExpression)* ")" "is"
* expected=ConcatExpression;
*
**/
// {TestExpression} property+=ID ("." property+=ID)* "(" args+=ConcatExpression ("," args+=ConcatExpression)* ")" "is"
// expected=ConcatExpression
protected class TestExpression_Group extends GroupToken {
public TestExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTestExpressionAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new TestExpression_ExpectedAssignment_8(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getTestExpressionAccess().getTestExpressionAction_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {TestExpression}
protected class TestExpression_TestExpressionAction_0 extends ActionToken {
public TestExpression_TestExpressionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getTestExpressionAccess().getTestExpressionAction_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;
}
}
// property+=ID
protected class TestExpression_PropertyAssignment_1 extends AssignmentToken {
public TestExpression_PropertyAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTestExpressionAccess().getPropertyAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new TestExpression_TestExpressionAction_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("property",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("property");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getTestExpressionAccess().getPropertyIDTerminalRuleCall_1_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getTestExpressionAccess().getPropertyIDTerminalRuleCall_1_0();
return obj;
}
return null;
}
}
// ("." property+=ID)*
protected class TestExpression_Group_2 extends GroupToken {
public TestExpression_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTestExpressionAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new TestExpression_PropertyAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "."
protected class TestExpression_FullStopKeyword_2_0 extends KeywordToken {
public TestExpression_FullStopKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTestExpressionAccess().getFullStopKeyword_2_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new TestExpression_Group_2(lastRuleCallOrigin, this, 0, inst);
case 1: return new TestExpression_PropertyAssignment_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// property+=ID
protected class TestExpression_PropertyAssignment_2_1 extends AssignmentToken {
public TestExpression_PropertyAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTestExpressionAccess().getPropertyAssignment_2_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new TestExpression_FullStopKeyword_2_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("property",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("property");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getTestExpressionAccess().getPropertyIDTerminalRuleCall_2_1_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getTestExpressionAccess().getPropertyIDTerminalRuleCall_2_1_0();
return obj;
}
return null;
}
}
// "("
protected class TestExpression_LeftParenthesisKeyword_3 extends KeywordToken {
public TestExpression_LeftParenthesisKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTestExpressionAccess().getLeftParenthesisKeyword_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new TestExpression_Group_2(lastRuleCallOrigin, this, 0, inst);
case 1: return new TestExpression_PropertyAssignment_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// args+=ConcatExpression
protected class TestExpression_ArgsAssignment_4 extends AssignmentToken {
public TestExpression_ArgsAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTestExpressionAccess().getArgsAssignment_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ConcatExpression_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("args",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("args");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getConcatExpressionRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTestExpressionAccess().getArgsConcatExpressionParserRuleCall_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 TestExpression_LeftParenthesisKeyword_3(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// ("," args+=ConcatExpression)*
protected class TestExpression_Group_5 extends GroupToken {
public TestExpression_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTestExpressionAccess().getGroup_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new TestExpression_ArgsAssignment_5_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ","
protected class TestExpression_CommaKeyword_5_0 extends KeywordToken {
public TestExpression_CommaKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTestExpressionAccess().getCommaKeyword_5_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new TestExpression_Group_5(lastRuleCallOrigin, this, 0, inst);
case 1: return new TestExpression_ArgsAssignment_4(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// args+=ConcatExpression
protected class TestExpression_ArgsAssignment_5_1 extends AssignmentToken {
public TestExpression_ArgsAssignment_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTestExpressionAccess().getArgsAssignment_5_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ConcatExpression_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("args",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("args");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getConcatExpressionRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTestExpressionAccess().getArgsConcatExpressionParserRuleCall_5_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new TestExpression_CommaKeyword_5_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// ")"
protected class TestExpression_RightParenthesisKeyword_6 extends KeywordToken {
public TestExpression_RightParenthesisKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTestExpressionAccess().getRightParenthesisKeyword_6();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new TestExpression_Group_5(lastRuleCallOrigin, this, 0, inst);
case 1: return new TestExpression_ArgsAssignment_4(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// "is"
protected class TestExpression_IsKeyword_7 extends KeywordToken {
public TestExpression_IsKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTestExpressionAccess().getIsKeyword_7();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new TestExpression_RightParenthesisKeyword_6(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// expected=ConcatExpression
protected class TestExpression_ExpectedAssignment_8 extends AssignmentToken {
public TestExpression_ExpectedAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTestExpressionAccess().getExpectedAssignment_8();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ConcatExpression_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("expected",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expected");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getConcatExpressionRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTestExpressionAccess().getExpectedConcatExpressionParserRuleCall_8_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new TestExpression_IsKeyword_7(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule TestExpression ****************/
/************ begin Rule ConcatExpression ****************
*
* ConcatExpression returns StringExpression:
* StringExpression ({ConcatExpression.left=current} "+" right=StringExpression)*;
*
**/
// StringExpression ({ConcatExpression.left=current} "+" right=StringExpression)*
protected class ConcatExpression_Group extends GroupToken {
public ConcatExpression_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getConcatExpressionAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ConcatExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new ConcatExpression_StringExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getConcatExpressionAccess().getConcatExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getPropertyAccessRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getStringLiteralRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// StringExpression
protected class ConcatExpression_StringExpressionParserRuleCall_0 extends RuleCallToken {
public ConcatExpression_StringExpressionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getConcatExpressionAccess().getStringExpressionParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new StringExpression_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getPropertyAccessRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getStringLiteralRule().getType().getClassifier())
return null;
if(checkForRecursion(StringExpression_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);
}
}
}
// ({ConcatExpression.left=current} "+" right=StringExpression)*
protected class ConcatExpression_Group_1 extends GroupToken {
public ConcatExpression_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getConcatExpressionAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ConcatExpression_RightAssignment_1_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getConcatExpressionAccess().getConcatExpressionLeftAction_1_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {ConcatExpression.left=current}
protected class ConcatExpression_ConcatExpressionLeftAction_1_0 extends ActionToken {
public ConcatExpression_ConcatExpressionLeftAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getConcatExpressionAccess().getConcatExpressionLeftAction_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ConcatExpression_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new ConcatExpression_StringExpressionParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
Object val = eObjectConsumer.getConsumable("left", false);
if(val == null) return null;
if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null;
return createEObjectConsumer((EObject) val);
}
}
// "+"
protected class ConcatExpression_PlusSignKeyword_1_1 extends KeywordToken {
public ConcatExpression_PlusSignKeyword_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getConcatExpressionAccess().getPlusSignKeyword_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ConcatExpression_ConcatExpressionLeftAction_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// right=StringExpression
protected class ConcatExpression_RightAssignment_1_2 extends AssignmentToken {
public ConcatExpression_RightAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getConcatExpressionAccess().getRightAssignment_1_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new StringExpression_Alternatives(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.getStringExpressionRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getConcatExpressionAccess().getRightStringExpressionParserRuleCall_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 ConcatExpression_PlusSignKeyword_1_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule ConcatExpression ****************/
/************ begin Rule StringExpression ****************
*
* StringExpression:
* StringLiteral | PropertyAccess;
*
**/
// StringLiteral | PropertyAccess
protected class StringExpression_Alternatives extends AlternativesToken {
public StringExpression_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getStringExpressionAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new StringExpression_StringLiteralParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new StringExpression_PropertyAccessParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getPropertyAccessRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getStringLiteralRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// StringLiteral
protected class StringExpression_StringLiteralParserRuleCall_0 extends RuleCallToken {
public StringExpression_StringLiteralParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getStringExpressionAccess().getStringLiteralParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new StringLiteral_ValueAssignment(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getStringLiteralRule().getType().getClassifier())
return null;
if(checkForRecursion(StringLiteral_ValueAssignment.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);
}
}
}
// PropertyAccess
protected class StringExpression_PropertyAccessParserRuleCall_1 extends RuleCallToken {
public StringExpression_PropertyAccessParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getStringExpressionAccess().getPropertyAccessParserRuleCall_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new PropertyAccess_PropertyAssignment(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getPropertyAccessRule().getType().getClassifier())
return null;
if(checkForRecursion(PropertyAccess_PropertyAssignment.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 StringExpression ****************/
/************ begin Rule StringLiteral ****************
*
* StringLiteral:
* value=STRING;
*
**/
// value=STRING
protected class StringLiteral_ValueAssignment extends AssignmentToken {
public StringLiteral_ValueAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getStringLiteralAccess().getValueAssignment();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getStringLiteralRule().getType().getClassifier())
return null;
if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_0();
return obj;
}
return null;
}
}
/************ end Rule StringLiteral ****************/
/************ begin Rule PropertyAccess ****************
*
* PropertyAccess:
* property=ID;
*
**/
// property=ID
protected class PropertyAccess_PropertyAssignment extends AssignmentToken {
public PropertyAccess_PropertyAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getPropertyAccessAccess().getPropertyAssignment();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getPropertyAccessRule().getType().getClassifier())
return null;
if((value = eObjectConsumer.getConsumable("property",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("property");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPropertyAccessAccess().getPropertyIDTerminalRuleCall_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getPropertyAccessAccess().getPropertyIDTerminalRuleCall_0();
return obj;
}
return null;
}
}
/************ end Rule PropertyAccess ****************/
}