/*
* generated by Xtext
*/
package org.erlide.parseTreeConstruction;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.Action;
import org.eclipse.xtext.Alternatives;
import org.eclipse.xtext.Assignment;
import org.eclipse.xtext.Group;
import org.eclipse.xtext.Keyword;
import org.eclipse.xtext.RuleCall;
import org.eclipse.xtext.parsetree.reconstr.IEObjectConsumer;
import org.erlide.services.ErlangGrammarAccess;
import com.google.inject.Inject;
@SuppressWarnings("all")
public class ErlangParsetreeConstructor extends
org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor {
@Inject
private ErlangGrammarAccess grammarAccess;
@Override
protected AbstractToken getRootToken(final IEObjectConsumer inst) {
return new ThisRootNode(inst);
}
protected class ThisRootNode extends RootToken {
public ThisRootNode(final IEObjectConsumer inst) {
super(inst);
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Module_FormsAssignment(this, this, 0, inst);
case 1:
return new AtomRefTarget_Alternatives(this, this, 1, inst);
case 2:
return new Form_Alternatives(this, this, 2, inst);
case 3:
return new ConditionalFormBlock_Group(this, this, 3, inst);
case 4:
return new Attribute_Group(this, this, 4, inst);
case 5:
return new ConditionalAttribute_Alternatives(this, this, 5,
inst);
case 6:
return new AbstractDefineAttribute_Alternatives(this, this, 6,
inst);
case 7:
return new DefineAttribute_Group(this, this, 7, inst);
case 8:
return new UndefAttribute_Group(this, this, 8, inst);
case 9:
return new IfdefAttribute_Group(this, this, 9, inst);
case 10:
return new ElseAttribute_Group(this, this, 10, inst);
case 11:
return new EndifAttribute_Group(this, this, 11, inst);
case 12:
return new AbstractIncludeAttribute_Alternatives(this, this,
12, inst);
case 13:
return new IncludeAttribute_Group(this, this, 13, inst);
case 14:
return new IncludeLibAttribute_Group(this, this, 14, inst);
case 15:
return new FileAttribute_Group(this, this, 15, inst);
case 16:
return new ModuleAttribute_Group(this, this, 16, inst);
case 17:
return new EncodingAttribute_Group(this, this, 17, inst);
case 18:
return new RecordAttribute_Group(this, this, 18, inst);
case 19:
return new RecordFieldDef_Group(this, this, 19, inst);
case 20:
return new ExportAttribute_Group(this, this, 20, inst);
case 21:
return new ImportAttribute_Group(this, this, 21, inst);
case 22:
return new CompileAttribute_Group(this, this, 22, inst);
case 23:
return new AbstractTypeAttribute_Alternatives(this, this, 23,
inst);
case 24:
return new SpecAttribute_Group(this, this, 24, inst);
case 25:
return new TypeAttribute_Group(this, this, 25, inst);
case 26:
return new CustomAttribute_Group(this, this, 26, inst);
case 27:
return new Function_Group(this, this, 27, inst);
case 28:
return new FunctionClause_Group(this, this, 28, inst);
case 29:
return new Guard_Group(this, this, 29, inst);
case 30:
return new Expressions_Group(this, this, 30, inst);
case 31:
return new LExpression_Alternatives(this, this, 31, inst);
case 32:
return new Expression_Alternatives(this, this, 32, inst);
case 33:
return new Expr100_Group(this, this, 33, inst);
case 34:
return new Expr150_Group(this, this, 34, inst);
case 35:
return new Expr160_Group(this, this, 35, inst);
case 36:
return new Expr200_Group(this, this, 36, inst);
case 37:
return new Expr300_Group(this, this, 37, inst);
case 38:
return new Expr400_Group(this, this, 38, inst);
case 39:
return new Expr500_Group(this, this, 39, inst);
case 40:
return new UnaryExpr_Alternatives(this, this, 40, inst);
case 41:
return new Expr700_Group(this, this, 41, inst);
case 42:
return new Expr800_Group(this, this, 42, inst);
case 43:
return new ExprMax_Alternatives(this, this, 43, inst);
case 44:
return new TermExpression_Alternatives(this, this, 44, inst);
case 45:
return new MacroCall_Group(this, this, 45, inst);
case 46:
return new RecordExpr_Group(this, this, 46, inst);
case 47:
return new QueryExpr_Group(this, this, 47, inst);
case 48:
return new CondExpr_Group(this, this, 48, inst);
case 49:
return new LetExpr_Group(this, this, 49, inst);
case 50:
return new RecordTuple_Group(this, this, 50, inst);
case 51:
return new RecordFieldExpr_Group(this, this, 51, inst);
case 52:
return new LiteralExpressionNoNumber_Alternatives(this, this,
52, inst);
case 53:
return new ModuleRef_Group(this, this, 53, inst);
case 54:
return new FunctionRef_Group(this, this, 54, inst);
case 55:
return new RecordRef_Group(this, this, 55, inst);
case 56:
return new RecordFieldRef_Group(this, this, 56, inst);
case 57:
return new TypeRef_Group(this, this, 57, inst);
case 58:
return new MacroLiteral_Group(this, this, 58, inst);
case 59:
return new MacroRef_Group(this, this, 59, inst);
case 60:
return new VariableLiteral_Group(this, this, 60, inst);
case 61:
return new StringLiteral_Group(this, this, 61, inst);
case 62:
return new StringLiteralPart_Alternatives(this, this, 62, inst);
case 63:
return new StringLiteralLiteral_StringAssignment(this, this,
63, inst);
case 64:
return new LiteralExpression_Alternatives(this, this, 64, inst);
case 65:
return new IntegerLiteral_Group(this, this, 65, inst);
case 66:
return new PatternExpression_Group(this, this, 66, inst);
case 67:
return new IfExpr_Group(this, this, 67, inst);
case 68:
return new IfClause_Group(this, this, 68, inst);
case 69:
return new CaseExpr_Group(this, this, 69, inst);
case 70:
return new CrClause_Group(this, this, 70, inst);
case 71:
return new ReceiveExpr_Group(this, this, 71, inst);
case 72:
return new FunExpr_Group(this, this, 72, inst);
case 73:
return new FunRef_Group(this, this, 73, inst);
case 74:
return new InlineFun_Group(this, this, 74, inst);
case 75:
return new TryExpr_Group(this, this, 75, inst);
case 76:
return new TryClause_Group(this, this, 76, inst);
case 77:
return new ListOrComprehension_Group(this, this, 77, inst);
case 78:
return new Tuple_Group(this, this, 78, inst);
case 79:
return new BinaryOrComprehension_Group(this, this, 79, inst);
case 80:
return new BinaryItem_Group(this, this, 80, inst);
case 81:
return new BitType_Group(this, this, 81, inst);
case 82:
return new UnaryExprMax_Alternatives(this, this, 82, inst);
case 83:
return new LCExpr_Group(this, this, 83, inst);
case 84:
return new ModuleVarMacro_Alternatives(this, this, 84, inst);
case 85:
return new FunctionVarMacro_Alternatives(this, this, 85, inst);
case 86:
return new RecordVarMacro_Alternatives(this, this, 86, inst);
case 87:
return new RecordFieldVarMacro_Alternatives(this, this, 87,
inst);
case 88:
return new TypeVarMacro_Alternatives(this, this, 88, inst);
case 89:
return new IntVarMacro_Alternatives(this, this, 89, inst);
case 90:
return new SpecFun_Group(this, this, 90, inst);
case 91:
return new TypeSig_Group(this, this, 91, inst);
case 92:
return new FunType_Group(this, this, 92, inst);
case 93:
return new TypeGuards_Group(this, this, 93, inst);
case 94:
return new TypeGuard_Alternatives(this, this, 94, inst);
case 95:
return new TopType_Group(this, this, 95, inst);
case 96:
return new Type100_Group(this, this, 96, inst);
case 97:
return new Type200_Group(this, this, 97, inst);
case 98:
return new Type300_Group(this, this, 98, inst);
case 99:
return new Type400_Group(this, this, 99, inst);
case 100:
return new Type500_Alternatives(this, this, 100, inst);
case 101:
return new Type_Alternatives(this, this, 101, inst);
case 102:
return new FieldType_Group(this, this, 102, inst);
case 103:
return new BinaryType_Group(this, this, 103, inst);
case 104:
return new BinBaseType_Group(this, this, 104, inst);
case 105:
return new BinUnitType_Group(this, this, 105, inst);
case 106:
return new FunType100_Group(this, this, 106, inst);
default:
return null;
}
}
}
/************
* begin Rule Module ****************
*
* Module: forms+=Form*;
*
**/
// forms+=Form*
protected class Module_FormsAssignment extends AssignmentToken {
public Module_FormsAssignment(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getModuleAccess().getFormsAssignment();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Form_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("forms", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("forms");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFormRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getModuleAccess()
.getFormsFormParserRuleCall_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Module_FormsAssignment(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index - 1, consumed);
}
}
}
/************ end Rule Module ****************/
/************
* begin Rule AtomRefTarget ****************
*
* // AtomRefTargets are the elements that an atom can refer to
* AtomRefTarget: Module | Function | RecordAttribute | RecordFieldDef |
* TypeAttribute;
*
**/
// Module | Function | RecordAttribute | RecordFieldDef | TypeAttribute
protected class AtomRefTarget_Alternatives extends AlternativesToken {
public AtomRefTarget_Alternatives(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getAtomRefTargetAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new AtomRefTarget_ModuleParserRuleCall_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new AtomRefTarget_FunctionParserRuleCall_1(
lastRuleCallOrigin, this, 1, inst);
case 2:
return new AtomRefTarget_RecordAttributeParserRuleCall_2(
lastRuleCallOrigin, this, 2, inst);
case 3:
return new AtomRefTarget_RecordFieldDefParserRuleCall_3(
lastRuleCallOrigin, this, 3, inst);
case 4:
return new AtomRefTarget_TypeAttributeParserRuleCall_4(
lastRuleCallOrigin, this, 4, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getFunctionRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getModuleRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordFieldDefRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getTypeAttributeRule().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// Module
protected class AtomRefTarget_ModuleParserRuleCall_0 extends RuleCallToken {
public AtomRefTarget_ModuleParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAtomRefTargetAccess()
.getModuleParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Module_FormsAssignment(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getModuleRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(Module_FormsAssignment.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// Function
protected class AtomRefTarget_FunctionParserRuleCall_1 extends
RuleCallToken {
public AtomRefTarget_FunctionParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAtomRefTargetAccess()
.getFunctionParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Function_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getFunctionRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(Function_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// RecordAttribute
protected class AtomRefTarget_RecordAttributeParserRuleCall_2 extends
RuleCallToken {
public AtomRefTarget_RecordAttributeParserRuleCall_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAtomRefTargetAccess()
.getRecordAttributeParserRuleCall_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getRecordAttributeRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(RecordAttribute_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// RecordFieldDef
protected class AtomRefTarget_RecordFieldDefParserRuleCall_3 extends
RuleCallToken {
public AtomRefTarget_RecordFieldDefParserRuleCall_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAtomRefTargetAccess()
.getRecordFieldDefParserRuleCall_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldDef_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getRecordFieldDefRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(RecordFieldDef_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// TypeAttribute
protected class AtomRefTarget_TypeAttributeParserRuleCall_4 extends
RuleCallToken {
public AtomRefTarget_TypeAttributeParserRuleCall_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAtomRefTargetAccess()
.getTypeAttributeParserRuleCall_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTypeAttributeRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(TypeAttribute_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
/************ end Rule AtomRefTarget ****************/
/************
* begin Rule Form ****************
*
* Form: Attribute | Function | ConditionalFormBlock | {MacroForm}
* call=MacroCall ".";
*
**/
// Attribute | Function | ConditionalFormBlock | {MacroForm} call=MacroCall
// "."
protected class Form_Alternatives extends AlternativesToken {
public Form_Alternatives(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getFormAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Form_AttributeParserRuleCall_0(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new Form_FunctionParserRuleCall_1(lastRuleCallOrigin,
this, 1, inst);
case 2:
return new Form_ConditionalFormBlockParserRuleCall_2(
lastRuleCallOrigin, this, 2, inst);
case 3:
return new Form_Group_3(lastRuleCallOrigin, this, 3, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getCompileAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getConditionalFormBlockRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getCustomAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getDefineAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getEncodingAttributeRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getExportAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getFileAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getFunctionRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getImportAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIncludeAttributeRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getIncludeLibAttributeRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getFormAccess()
.getMacroFormAction_3_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getModuleAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getSpecAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getTypeAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getUndefAttributeRule().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// Attribute
protected class Form_AttributeParserRuleCall_0 extends RuleCallToken {
public Form_AttributeParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getFormAccess().getAttributeParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Attribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getCompileAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getCustomAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getDefineAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getEncodingAttributeRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getExportAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getFileAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getImportAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIncludeAttributeRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getIncludeLibAttributeRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getModuleAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getSpecAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getTypeAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getUndefAttributeRule().getType().getClassifier()) {
return null;
}
if (checkForRecursion(Attribute_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// Function
protected class Form_FunctionParserRuleCall_1 extends RuleCallToken {
public Form_FunctionParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getFormAccess().getFunctionParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Function_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getFunctionRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(Function_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// ConditionalFormBlock
protected class Form_ConditionalFormBlockParserRuleCall_2 extends
RuleCallToken {
public Form_ConditionalFormBlockParserRuleCall_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getFormAccess()
.getConditionalFormBlockParserRuleCall_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ConditionalFormBlock_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getConditionalFormBlockRule().getType().getClassifier()) {
return null;
}
if (checkForRecursion(ConditionalFormBlock_Group.class,
eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// {MacroForm} call=MacroCall "."
protected class Form_Group_3 extends GroupToken {
public Form_Group_3(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getFormAccess().getGroup_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Form_FullStopKeyword_3_2(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getFormAccess()
.getMacroFormAction_3_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {MacroForm}
protected class Form_MacroFormAction_3_0 extends ActionToken {
public Form_MacroFormAction_3_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getFormAccess().getMacroFormAction_3_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// call=MacroCall
protected class Form_CallAssignment_3_1 extends AssignmentToken {
public Form_CallAssignment_3_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFormAccess().getCallAssignment_3_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroCall_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("call", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("call");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getMacroCallRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getFormAccess()
.getCallMacroCallParserRuleCall_3_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Form_MacroFormAction_3_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// "."
protected class Form_FullStopKeyword_3_2 extends KeywordToken {
public Form_FullStopKeyword_3_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFormAccess().getFullStopKeyword_3_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Form_CallAssignment_3_1(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
}
/************ end Rule Form ****************/
/************
* begin Rule ConditionalFormBlock ****************
*
* ConditionalFormBlock: condition=IfdefAttribute ifForms+=Form* (=>
* hasElse?=ElseAttribute elseForms+=Form*)? end=EndifAttribute;
*
**/
// condition=IfdefAttribute ifForms+=Form* (=> hasElse?=ElseAttribute
// elseForms+=Form*)? end=EndifAttribute
protected class ConditionalFormBlock_Group extends GroupToken {
public ConditionalFormBlock_Group(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getConditionalFormBlockAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ConditionalFormBlock_EndAssignment_3(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getConditionalFormBlockRule().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// condition=IfdefAttribute
protected class ConditionalFormBlock_ConditionAssignment_0 extends
AssignmentToken {
public ConditionalFormBlock_ConditionAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getConditionalFormBlockAccess()
.getConditionAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IfdefAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("condition", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("condition");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getIfdefAttributeRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getConditionalFormBlockAccess()
.getConditionIfdefAttributeParserRuleCall_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// ifForms+=Form*
protected class ConditionalFormBlock_IfFormsAssignment_1 extends
AssignmentToken {
public ConditionalFormBlock_IfFormsAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getConditionalFormBlockAccess()
.getIfFormsAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Form_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("ifForms", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("ifForms");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFormRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getConditionalFormBlockAccess()
.getIfFormsFormParserRuleCall_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ConditionalFormBlock_IfFormsAssignment_1(
lastRuleCallOrigin, next, actIndex, consumed);
case 1:
return new ConditionalFormBlock_ConditionAssignment_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// (=> hasElse?=ElseAttribute elseForms+=Form*)?
protected class ConditionalFormBlock_Group_2 extends GroupToken {
public ConditionalFormBlock_Group_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getConditionalFormBlockAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ConditionalFormBlock_ElseFormsAssignment_2_1(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new ConditionalFormBlock_HasElseAssignment_2_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// => hasElse?=ElseAttribute
protected class ConditionalFormBlock_HasElseAssignment_2_0 extends
AssignmentToken {
public ConditionalFormBlock_HasElseAssignment_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getConditionalFormBlockAccess()
.getHasElseAssignment_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ElseAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("hasElse", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("hasElse");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getElseAttributeRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getConditionalFormBlockAccess()
.getHasElseElseAttributeParserRuleCall_2_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ConditionalFormBlock_IfFormsAssignment_1(
lastRuleCallOrigin, next, actIndex, consumed);
case 1:
return new ConditionalFormBlock_ConditionAssignment_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// elseForms+=Form*
protected class ConditionalFormBlock_ElseFormsAssignment_2_1 extends
AssignmentToken {
public ConditionalFormBlock_ElseFormsAssignment_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getConditionalFormBlockAccess()
.getElseFormsAssignment_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Form_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("elseForms", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("elseForms");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFormRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getConditionalFormBlockAccess()
.getElseFormsFormParserRuleCall_2_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ConditionalFormBlock_ElseFormsAssignment_2_1(
lastRuleCallOrigin, next, actIndex, consumed);
case 1:
return new ConditionalFormBlock_HasElseAssignment_2_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// end=EndifAttribute
protected class ConditionalFormBlock_EndAssignment_3 extends
AssignmentToken {
public ConditionalFormBlock_EndAssignment_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getConditionalFormBlockAccess()
.getEndAssignment_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new EndifAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("end", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("end");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getEndifAttributeRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getConditionalFormBlockAccess()
.getEndEndifAttributeParserRuleCall_3_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ConditionalFormBlock_Group_2(lastRuleCallOrigin,
next, actIndex, consumed);
case 1:
return new ConditionalFormBlock_IfFormsAssignment_1(
lastRuleCallOrigin, next, actIndex, consumed);
case 2:
return new ConditionalFormBlock_ConditionAssignment_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule ConditionalFormBlock ****************/
/************
* begin Rule Attribute ****************
*
* // Attributes Attribute: "-" (ModuleAttribute | EncodingAttribute |
* AbstractDefineAttribute | AbstractIncludeAttribute | FileAttribute |
* RecordAttribute | AbstractTypeAttribute | ExportAttribute |
* ImportAttribute | CompileAttribute | CustomAttribute);
*
**/
// "-" (ModuleAttribute | EncodingAttribute | AbstractDefineAttribute |
// AbstractIncludeAttribute | FileAttribute |
// RecordAttribute | AbstractTypeAttribute | ExportAttribute |
// ImportAttribute | CompileAttribute | CustomAttribute)
protected class Attribute_Group extends GroupToken {
public Attribute_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getAttributeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Attribute_Alternatives_1(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getCompileAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getCustomAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getDefineAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getEncodingAttributeRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getExportAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getFileAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getImportAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIncludeAttributeRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getIncludeLibAttributeRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getModuleAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getSpecAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getTypeAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getUndefAttributeRule().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "-"
protected class Attribute_HyphenMinusKeyword_0 extends KeywordToken {
public Attribute_HyphenMinusKeyword_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getAttributeAccess().getHyphenMinusKeyword_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// ModuleAttribute | EncodingAttribute | AbstractDefineAttribute |
// AbstractIncludeAttribute | FileAttribute |
// RecordAttribute | AbstractTypeAttribute | ExportAttribute |
// ImportAttribute | CompileAttribute | CustomAttribute
protected class Attribute_Alternatives_1 extends AlternativesToken {
public Attribute_Alternatives_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getAttributeAccess().getAlternatives_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Attribute_ModuleAttributeParserRuleCall_1_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new Attribute_EncodingAttributeParserRuleCall_1_1(
lastRuleCallOrigin, this, 1, inst);
case 2:
return new Attribute_AbstractDefineAttributeParserRuleCall_1_2(
lastRuleCallOrigin, this, 2, inst);
case 3:
return new Attribute_AbstractIncludeAttributeParserRuleCall_1_3(
lastRuleCallOrigin, this, 3, inst);
case 4:
return new Attribute_FileAttributeParserRuleCall_1_4(
lastRuleCallOrigin, this, 4, inst);
case 5:
return new Attribute_RecordAttributeParserRuleCall_1_5(
lastRuleCallOrigin, this, 5, inst);
case 6:
return new Attribute_AbstractTypeAttributeParserRuleCall_1_6(
lastRuleCallOrigin, this, 6, inst);
case 7:
return new Attribute_ExportAttributeParserRuleCall_1_7(
lastRuleCallOrigin, this, 7, inst);
case 8:
return new Attribute_ImportAttributeParserRuleCall_1_8(
lastRuleCallOrigin, this, 8, inst);
case 9:
return new Attribute_CompileAttributeParserRuleCall_1_9(
lastRuleCallOrigin, this, 9, inst);
case 10:
return new Attribute_CustomAttributeParserRuleCall_1_10(
lastRuleCallOrigin, this, 10, inst);
default:
return null;
}
}
}
// ModuleAttribute
protected class Attribute_ModuleAttributeParserRuleCall_1_0 extends
RuleCallToken {
public Attribute_ModuleAttributeParserRuleCall_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAttributeAccess()
.getModuleAttributeParserRuleCall_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ModuleAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getModuleAttributeRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(ModuleAttribute_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin,
next, actIndex, inst);
default:
return null;
}
}
}
// EncodingAttribute
protected class Attribute_EncodingAttributeParserRuleCall_1_1 extends
RuleCallToken {
public Attribute_EncodingAttributeParserRuleCall_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAttributeAccess()
.getEncodingAttributeParserRuleCall_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new EncodingAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getEncodingAttributeRule().getType().getClassifier()) {
return null;
}
if (checkForRecursion(EncodingAttribute_Group.class,
eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin,
next, actIndex, inst);
default:
return null;
}
}
}
// AbstractDefineAttribute
protected class Attribute_AbstractDefineAttributeParserRuleCall_1_2 extends
RuleCallToken {
public Attribute_AbstractDefineAttributeParserRuleCall_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAttributeAccess()
.getAbstractDefineAttributeParserRuleCall_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new AbstractDefineAttribute_Alternatives(this, this, 0,
inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getDefineAttributeRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getUndefAttributeRule().getType().getClassifier()) {
return null;
}
if (checkForRecursion(AbstractDefineAttribute_Alternatives.class,
eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin,
next, actIndex, inst);
default:
return null;
}
}
}
// AbstractIncludeAttribute
protected class Attribute_AbstractIncludeAttributeParserRuleCall_1_3 extends
RuleCallToken {
public Attribute_AbstractIncludeAttributeParserRuleCall_1_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAttributeAccess()
.getAbstractIncludeAttributeParserRuleCall_1_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new AbstractIncludeAttribute_Alternatives(this, this, 0,
inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getIncludeAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIncludeLibAttributeRule().getType()
.getClassifier()) {
return null;
}
if (checkForRecursion(AbstractIncludeAttribute_Alternatives.class,
eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin,
next, actIndex, inst);
default:
return null;
}
}
}
// FileAttribute
protected class Attribute_FileAttributeParserRuleCall_1_4 extends
RuleCallToken {
public Attribute_FileAttributeParserRuleCall_1_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAttributeAccess()
.getFileAttributeParserRuleCall_1_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FileAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getFileAttributeRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(FileAttribute_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin,
next, actIndex, inst);
default:
return null;
}
}
}
// RecordAttribute
protected class Attribute_RecordAttributeParserRuleCall_1_5 extends
RuleCallToken {
public Attribute_RecordAttributeParserRuleCall_1_5(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAttributeAccess()
.getRecordAttributeParserRuleCall_1_5();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getRecordAttributeRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(RecordAttribute_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin,
next, actIndex, inst);
default:
return null;
}
}
}
// AbstractTypeAttribute
protected class Attribute_AbstractTypeAttributeParserRuleCall_1_6 extends
RuleCallToken {
public Attribute_AbstractTypeAttributeParserRuleCall_1_6(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAttributeAccess()
.getAbstractTypeAttributeParserRuleCall_1_6();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new AbstractTypeAttribute_Alternatives(this, this, 0,
inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getSpecAttributeRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getTypeAttributeRule().getType().getClassifier()) {
return null;
}
if (checkForRecursion(AbstractTypeAttribute_Alternatives.class,
eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin,
next, actIndex, inst);
default:
return null;
}
}
}
// ExportAttribute
protected class Attribute_ExportAttributeParserRuleCall_1_7 extends
RuleCallToken {
public Attribute_ExportAttributeParserRuleCall_1_7(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAttributeAccess()
.getExportAttributeParserRuleCall_1_7();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExportAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExportAttributeRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(ExportAttribute_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin,
next, actIndex, inst);
default:
return null;
}
}
}
// ImportAttribute
protected class Attribute_ImportAttributeParserRuleCall_1_8 extends
RuleCallToken {
public Attribute_ImportAttributeParserRuleCall_1_8(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAttributeAccess()
.getImportAttributeParserRuleCall_1_8();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ImportAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getImportAttributeRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(ImportAttribute_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin,
next, actIndex, inst);
default:
return null;
}
}
}
// CompileAttribute
protected class Attribute_CompileAttributeParserRuleCall_1_9 extends
RuleCallToken {
public Attribute_CompileAttributeParserRuleCall_1_9(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAttributeAccess()
.getCompileAttributeParserRuleCall_1_9();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CompileAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getCompileAttributeRule().getType().getClassifier()) {
return null;
}
if (checkForRecursion(CompileAttribute_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin,
next, actIndex, inst);
default:
return null;
}
}
}
// CustomAttribute
protected class Attribute_CustomAttributeParserRuleCall_1_10 extends
RuleCallToken {
public Attribute_CustomAttributeParserRuleCall_1_10(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAttributeAccess()
.getCustomAttributeParserRuleCall_1_10();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CustomAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getCustomAttributeRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(CustomAttribute_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Attribute_HyphenMinusKeyword_0(lastRuleCallOrigin,
next, actIndex, inst);
default:
return null;
}
}
}
/************ end Rule Attribute ****************/
/************
* begin Rule ConditionalAttribute ****************
*
* ConditionalAttribute: IfdefAttribute | ElseAttribute | EndifAttribute;
*
**/
// IfdefAttribute | ElseAttribute | EndifAttribute
protected class ConditionalAttribute_Alternatives extends AlternativesToken {
public ConditionalAttribute_Alternatives(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getConditionalAttributeAccess()
.getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ConditionalAttribute_IfdefAttributeParserRuleCall_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new ConditionalAttribute_ElseAttributeParserRuleCall_1(
lastRuleCallOrigin, this, 1, inst);
case 2:
return new ConditionalAttribute_EndifAttributeParserRuleCall_2(
lastRuleCallOrigin, this, 2, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getElseAttributeRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getEndifAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIfdefAttributeRule().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// IfdefAttribute
protected class ConditionalAttribute_IfdefAttributeParserRuleCall_0 extends
RuleCallToken {
public ConditionalAttribute_IfdefAttributeParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getConditionalAttributeAccess()
.getIfdefAttributeParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IfdefAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getIfdefAttributeRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(IfdefAttribute_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// ElseAttribute
protected class ConditionalAttribute_ElseAttributeParserRuleCall_1 extends
RuleCallToken {
public ConditionalAttribute_ElseAttributeParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getConditionalAttributeAccess()
.getElseAttributeParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ElseAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getElseAttributeRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(ElseAttribute_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// EndifAttribute
protected class ConditionalAttribute_EndifAttributeParserRuleCall_2 extends
RuleCallToken {
public ConditionalAttribute_EndifAttributeParserRuleCall_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getConditionalAttributeAccess()
.getEndifAttributeParserRuleCall_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new EndifAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getEndifAttributeRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(EndifAttribute_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
/************ end Rule ConditionalAttribute ****************/
/************
* begin Rule AbstractDefineAttribute ****************
*
* AbstractDefineAttribute: DefineAttribute | UndefAttribute;
*
**/
// DefineAttribute | UndefAttribute
protected class AbstractDefineAttribute_Alternatives extends
AlternativesToken {
public AbstractDefineAttribute_Alternatives(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getAbstractDefineAttributeAccess()
.getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new AbstractDefineAttribute_DefineAttributeParserRuleCall_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new AbstractDefineAttribute_UndefAttributeParserRuleCall_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getDefineAttributeRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getUndefAttributeRule().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// DefineAttribute
protected class AbstractDefineAttribute_DefineAttributeParserRuleCall_0
extends RuleCallToken {
public AbstractDefineAttribute_DefineAttributeParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAbstractDefineAttributeAccess()
.getDefineAttributeParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new DefineAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getDefineAttributeRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(DefineAttribute_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// UndefAttribute
protected class AbstractDefineAttribute_UndefAttributeParserRuleCall_1
extends RuleCallToken {
public AbstractDefineAttribute_UndefAttributeParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAbstractDefineAttributeAccess()
.getUndefAttributeParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new UndefAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getUndefAttributeRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(UndefAttribute_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
/************ end Rule AbstractDefineAttribute ****************/
/************
* begin Rule DefineAttribute ****************
*
* DefineAttribute: => tag="define" "(" macroName= // can't have feature
* 'name' because multiple defines with the same macro can exist NAMEVAR
* ("(" (args+=PatternExpression ("," args+=PatternExpression)*)? ")")? (","
* value=Guard?)? ")" ".";
*
**/
// => tag="define" "(" macroName= // can't have feature 'name' because
// multiple defines with the same macro can exist
// NAMEVAR ("(" (args+=PatternExpression ("," args+=PatternExpression)*)?
// ")")? ("," value=Guard?)? ")" "."
protected class DefineAttribute_Group extends GroupToken {
public DefineAttribute_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getDefineAttributeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new DefineAttribute_FullStopKeyword_6(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getDefineAttributeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => tag="define"
protected class DefineAttribute_TagAssignment_0 extends AssignmentToken {
public DefineAttribute_TagAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getDefineAttributeAccess()
.getTagAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("tag", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getDefineAttributeAccess().getTagDefineKeyword_0_0(),
value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getDefineAttributeAccess()
.getTagDefineKeyword_0_0();
return obj;
}
return null;
}
}
// "("
protected class DefineAttribute_LeftParenthesisKeyword_1 extends
KeywordToken {
public DefineAttribute_LeftParenthesisKeyword_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getDefineAttributeAccess()
.getLeftParenthesisKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new DefineAttribute_TagAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// macroName= // can't have feature 'name' because multiple defines with the
// same macro can exist
// NAMEVAR
protected class DefineAttribute_MacroNameAssignment_2 extends
AssignmentToken {
public DefineAttribute_MacroNameAssignment_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getDefineAttributeAccess()
.getMacroNameAssignment_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new DefineAttribute_LeftParenthesisKeyword_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("macroName", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("macroName");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getDefineAttributeAccess()
.getMacroNameNAMEVARParserRuleCall_2_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getDefineAttributeAccess()
.getMacroNameNAMEVARParserRuleCall_2_0();
return obj;
}
return null;
}
}
// ("(" (args+=PatternExpression ("," args+=PatternExpression)*)? ")")?
protected class DefineAttribute_Group_3 extends GroupToken {
public DefineAttribute_Group_3(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getDefineAttributeAccess().getGroup_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new DefineAttribute_RightParenthesisKeyword_3_2(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "("
protected class DefineAttribute_LeftParenthesisKeyword_3_0 extends
KeywordToken {
public DefineAttribute_LeftParenthesisKeyword_3_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getDefineAttributeAccess()
.getLeftParenthesisKeyword_3_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new DefineAttribute_MacroNameAssignment_2(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// (args+=PatternExpression ("," args+=PatternExpression)*)?
protected class DefineAttribute_Group_3_1 extends GroupToken {
public DefineAttribute_Group_3_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getDefineAttributeAccess().getGroup_3_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new DefineAttribute_Group_3_1_1(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new DefineAttribute_ArgsAssignment_3_1_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// args+=PatternExpression
protected class DefineAttribute_ArgsAssignment_3_1_0 extends
AssignmentToken {
public DefineAttribute_ArgsAssignment_3_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getDefineAttributeAccess()
.getArgsAssignment_3_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new PatternExpression_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("args", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("args");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getPatternExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getDefineAttributeAccess()
.getArgsPatternExpressionParserRuleCall_3_1_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new DefineAttribute_LeftParenthesisKeyword_3_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ("," args+=PatternExpression)*
protected class DefineAttribute_Group_3_1_1 extends GroupToken {
public DefineAttribute_Group_3_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getDefineAttributeAccess().getGroup_3_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new DefineAttribute_ArgsAssignment_3_1_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// ","
protected class DefineAttribute_CommaKeyword_3_1_1_0 extends KeywordToken {
public DefineAttribute_CommaKeyword_3_1_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getDefineAttributeAccess()
.getCommaKeyword_3_1_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new DefineAttribute_Group_3_1_1(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new DefineAttribute_ArgsAssignment_3_1_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// args+=PatternExpression
protected class DefineAttribute_ArgsAssignment_3_1_1_1 extends
AssignmentToken {
public DefineAttribute_ArgsAssignment_3_1_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getDefineAttributeAccess()
.getArgsAssignment_3_1_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new PatternExpression_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("args", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("args");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getPatternExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getDefineAttributeAccess()
.getArgsPatternExpressionParserRuleCall_3_1_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new DefineAttribute_CommaKeyword_3_1_1_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class DefineAttribute_RightParenthesisKeyword_3_2 extends
KeywordToken {
public DefineAttribute_RightParenthesisKeyword_3_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getDefineAttributeAccess()
.getRightParenthesisKeyword_3_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new DefineAttribute_Group_3_1(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
}
// ("," value=Guard?)?
protected class DefineAttribute_Group_4 extends GroupToken {
public DefineAttribute_Group_4(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getDefineAttributeAccess().getGroup_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new DefineAttribute_ValueAssignment_4_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// ","
protected class DefineAttribute_CommaKeyword_4_0 extends KeywordToken {
public DefineAttribute_CommaKeyword_4_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getDefineAttributeAccess()
.getCommaKeyword_4_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new DefineAttribute_Group_3(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new DefineAttribute_MacroNameAssignment_2(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// value=Guard?
protected class DefineAttribute_ValueAssignment_4_1 extends AssignmentToken {
public DefineAttribute_ValueAssignment_4_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getDefineAttributeAccess()
.getValueAssignment_4_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Guard_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("value", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("value");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getGuardRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getDefineAttributeAccess()
.getValueGuardParserRuleCall_4_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new DefineAttribute_CommaKeyword_4_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class DefineAttribute_RightParenthesisKeyword_5 extends
KeywordToken {
public DefineAttribute_RightParenthesisKeyword_5(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getDefineAttributeAccess()
.getRightParenthesisKeyword_5();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new DefineAttribute_Group_4(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new DefineAttribute_Group_3(lastRuleCallOrigin, this, 1,
inst);
case 2:
return new DefineAttribute_MacroNameAssignment_2(
lastRuleCallOrigin, this, 2, inst);
default:
return null;
}
}
}
// "."
protected class DefineAttribute_FullStopKeyword_6 extends KeywordToken {
public DefineAttribute_FullStopKeyword_6(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getDefineAttributeAccess()
.getFullStopKeyword_6();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new DefineAttribute_RightParenthesisKeyword_5(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
/************ end Rule DefineAttribute ****************/
/************
* begin Rule UndefAttribute ****************
*
* UndefAttribute: => tag="undef" "(" ref=MacroRef ")" ".";
*
**/
// => tag="undef" "(" ref=MacroRef ")" "."
protected class UndefAttribute_Group extends GroupToken {
public UndefAttribute_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getUndefAttributeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new UndefAttribute_FullStopKeyword_4(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getUndefAttributeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => tag="undef"
protected class UndefAttribute_TagAssignment_0 extends AssignmentToken {
public UndefAttribute_TagAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getUndefAttributeAccess().getTagAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("tag", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getUndefAttributeAccess().getTagUndefKeyword_0_0(), value,
null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getUndefAttributeAccess()
.getTagUndefKeyword_0_0();
return obj;
}
return null;
}
}
// "("
protected class UndefAttribute_LeftParenthesisKeyword_1 extends
KeywordToken {
public UndefAttribute_LeftParenthesisKeyword_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getUndefAttributeAccess()
.getLeftParenthesisKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new UndefAttribute_TagAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// ref=MacroRef
protected class UndefAttribute_RefAssignment_2 extends AssignmentToken {
public UndefAttribute_RefAssignment_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getUndefAttributeAccess().getRefAssignment_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroRef_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("ref", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ref");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getMacroRefRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getUndefAttributeAccess()
.getRefMacroRefParserRuleCall_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new UndefAttribute_LeftParenthesisKeyword_1(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class UndefAttribute_RightParenthesisKeyword_3 extends
KeywordToken {
public UndefAttribute_RightParenthesisKeyword_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getUndefAttributeAccess()
.getRightParenthesisKeyword_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new UndefAttribute_RefAssignment_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// "."
protected class UndefAttribute_FullStopKeyword_4 extends KeywordToken {
public UndefAttribute_FullStopKeyword_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getUndefAttributeAccess()
.getFullStopKeyword_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new UndefAttribute_RightParenthesisKeyword_3(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
/************ end Rule UndefAttribute ****************/
/************
* begin Rule IfdefAttribute ****************
*
* IfdefAttribute: "-" => tag=("ifdef" | "ifndef") "(" ref=MacroRef ")" ".";
*
**/
// "-" => tag=("ifdef" | "ifndef") "(" ref=MacroRef ")" "."
protected class IfdefAttribute_Group extends GroupToken {
public IfdefAttribute_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getIfdefAttributeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IfdefAttribute_FullStopKeyword_5(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getIfdefAttributeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "-"
protected class IfdefAttribute_HyphenMinusKeyword_0 extends KeywordToken {
public IfdefAttribute_HyphenMinusKeyword_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getIfdefAttributeAccess()
.getHyphenMinusKeyword_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// => tag=("ifdef" | "ifndef")
protected class IfdefAttribute_TagAssignment_1 extends AssignmentToken {
public IfdefAttribute_TagAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getIfdefAttributeAccess().getTagAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IfdefAttribute_HyphenMinusKeyword_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("tag", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getIfdefAttributeAccess().getTagIfdefKeyword_1_0_0(),
value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getIfdefAttributeAccess()
.getTagIfdefKeyword_1_0_0();
return obj;
}
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getIfdefAttributeAccess().getTagIfndefKeyword_1_0_1(),
value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getIfdefAttributeAccess()
.getTagIfndefKeyword_1_0_1();
return obj;
}
return null;
}
}
// "("
protected class IfdefAttribute_LeftParenthesisKeyword_2 extends
KeywordToken {
public IfdefAttribute_LeftParenthesisKeyword_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getIfdefAttributeAccess()
.getLeftParenthesisKeyword_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IfdefAttribute_TagAssignment_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// ref=MacroRef
protected class IfdefAttribute_RefAssignment_3 extends AssignmentToken {
public IfdefAttribute_RefAssignment_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getIfdefAttributeAccess().getRefAssignment_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroRef_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("ref", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ref");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getMacroRefRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getIfdefAttributeAccess()
.getRefMacroRefParserRuleCall_3_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new IfdefAttribute_LeftParenthesisKeyword_2(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class IfdefAttribute_RightParenthesisKeyword_4 extends
KeywordToken {
public IfdefAttribute_RightParenthesisKeyword_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getIfdefAttributeAccess()
.getRightParenthesisKeyword_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IfdefAttribute_RefAssignment_3(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// "."
protected class IfdefAttribute_FullStopKeyword_5 extends KeywordToken {
public IfdefAttribute_FullStopKeyword_5(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getIfdefAttributeAccess()
.getFullStopKeyword_5();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IfdefAttribute_RightParenthesisKeyword_4(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
/************ end Rule IfdefAttribute ****************/
/************
* begin Rule ElseAttribute ****************
*
* ElseAttribute: "-" => tag="else" ".";
*
**/
// "-" => tag="else" "."
protected class ElseAttribute_Group extends GroupToken {
public ElseAttribute_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getElseAttributeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ElseAttribute_FullStopKeyword_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getElseAttributeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "-"
protected class ElseAttribute_HyphenMinusKeyword_0 extends KeywordToken {
public ElseAttribute_HyphenMinusKeyword_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getElseAttributeAccess()
.getHyphenMinusKeyword_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// => tag="else"
protected class ElseAttribute_TagAssignment_1 extends AssignmentToken {
public ElseAttribute_TagAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getElseAttributeAccess().getTagAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ElseAttribute_HyphenMinusKeyword_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("tag", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getElseAttributeAccess().getTagElseKeyword_1_0(), value,
null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getElseAttributeAccess()
.getTagElseKeyword_1_0();
return obj;
}
return null;
}
}
// "."
protected class ElseAttribute_FullStopKeyword_2 extends KeywordToken {
public ElseAttribute_FullStopKeyword_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getElseAttributeAccess()
.getFullStopKeyword_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ElseAttribute_TagAssignment_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
/************ end Rule ElseAttribute ****************/
/************
* begin Rule EndifAttribute ****************
*
* EndifAttribute: "-" => tag="endif" ".";
*
**/
// "-" => tag="endif" "."
protected class EndifAttribute_Group extends GroupToken {
public EndifAttribute_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getEndifAttributeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new EndifAttribute_FullStopKeyword_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getEndifAttributeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "-"
protected class EndifAttribute_HyphenMinusKeyword_0 extends KeywordToken {
public EndifAttribute_HyphenMinusKeyword_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getEndifAttributeAccess()
.getHyphenMinusKeyword_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// => tag="endif"
protected class EndifAttribute_TagAssignment_1 extends AssignmentToken {
public EndifAttribute_TagAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getEndifAttributeAccess().getTagAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new EndifAttribute_HyphenMinusKeyword_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("tag", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getEndifAttributeAccess().getTagEndifKeyword_1_0(), value,
null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getEndifAttributeAccess()
.getTagEndifKeyword_1_0();
return obj;
}
return null;
}
}
// "."
protected class EndifAttribute_FullStopKeyword_2 extends KeywordToken {
public EndifAttribute_FullStopKeyword_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getEndifAttributeAccess()
.getFullStopKeyword_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new EndifAttribute_TagAssignment_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
/************ end Rule EndifAttribute ****************/
/************
* begin Rule AbstractIncludeAttribute ****************
*
* AbstractIncludeAttribute: IncludeAttribute | IncludeLibAttribute;
*
**/
// IncludeAttribute | IncludeLibAttribute
protected class AbstractIncludeAttribute_Alternatives extends
AlternativesToken {
public AbstractIncludeAttribute_Alternatives(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getAbstractIncludeAttributeAccess()
.getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new AbstractIncludeAttribute_IncludeAttributeParserRuleCall_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new AbstractIncludeAttribute_IncludeLibAttributeParserRuleCall_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getIncludeAttributeRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIncludeLibAttributeRule().getType()
.getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// IncludeAttribute
protected class AbstractIncludeAttribute_IncludeAttributeParserRuleCall_0
extends RuleCallToken {
public AbstractIncludeAttribute_IncludeAttributeParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAbstractIncludeAttributeAccess()
.getIncludeAttributeParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IncludeAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getIncludeAttributeRule().getType().getClassifier()) {
return null;
}
if (checkForRecursion(IncludeAttribute_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// IncludeLibAttribute
protected class AbstractIncludeAttribute_IncludeLibAttributeParserRuleCall_1
extends RuleCallToken {
public AbstractIncludeAttribute_IncludeLibAttributeParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAbstractIncludeAttributeAccess()
.getIncludeLibAttributeParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IncludeLibAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getIncludeLibAttributeRule().getType().getClassifier()) {
return null;
}
if (checkForRecursion(IncludeLibAttribute_Group.class,
eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
/************ end Rule AbstractIncludeAttribute ****************/
/************
* begin Rule IncludeAttribute ****************
*
* IncludeAttribute: => tag="include" "(" importURI=STRING ")" ".";
*
**/
// => tag="include" "(" importURI=STRING ")" "."
protected class IncludeAttribute_Group extends GroupToken {
public IncludeAttribute_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getIncludeAttributeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IncludeAttribute_FullStopKeyword_4(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getIncludeAttributeRule().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => tag="include"
protected class IncludeAttribute_TagAssignment_0 extends AssignmentToken {
public IncludeAttribute_TagAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getIncludeAttributeAccess()
.getTagAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("tag", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getIncludeAttributeAccess().getTagIncludeKeyword_0_0(),
value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getIncludeAttributeAccess()
.getTagIncludeKeyword_0_0();
return obj;
}
return null;
}
}
// "("
protected class IncludeAttribute_LeftParenthesisKeyword_1 extends
KeywordToken {
public IncludeAttribute_LeftParenthesisKeyword_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getIncludeAttributeAccess()
.getLeftParenthesisKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IncludeAttribute_TagAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// importURI=STRING
protected class IncludeAttribute_ImportURIAssignment_2 extends
AssignmentToken {
public IncludeAttribute_ImportURIAssignment_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getIncludeAttributeAccess()
.getImportURIAssignment_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IncludeAttribute_LeftParenthesisKeyword_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("importURI", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("importURI");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getIncludeAttributeAccess()
.getImportURISTRINGTerminalRuleCall_2_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getIncludeAttributeAccess()
.getImportURISTRINGTerminalRuleCall_2_0();
return obj;
}
return null;
}
}
// ")"
protected class IncludeAttribute_RightParenthesisKeyword_3 extends
KeywordToken {
public IncludeAttribute_RightParenthesisKeyword_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getIncludeAttributeAccess()
.getRightParenthesisKeyword_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IncludeAttribute_ImportURIAssignment_2(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "."
protected class IncludeAttribute_FullStopKeyword_4 extends KeywordToken {
public IncludeAttribute_FullStopKeyword_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getIncludeAttributeAccess()
.getFullStopKeyword_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IncludeAttribute_RightParenthesisKeyword_3(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
/************ end Rule IncludeAttribute ****************/
/************
* begin Rule IncludeLibAttribute ****************
*
* IncludeLibAttribute: => tag="include_lib" "(" importURI=STRING ")" ".";
*
**/
// => tag="include_lib" "(" importURI=STRING ")" "."
protected class IncludeLibAttribute_Group extends GroupToken {
public IncludeLibAttribute_Group(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getIncludeLibAttributeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IncludeLibAttribute_FullStopKeyword_4(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getIncludeLibAttributeRule().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => tag="include_lib"
protected class IncludeLibAttribute_TagAssignment_0 extends AssignmentToken {
public IncludeLibAttribute_TagAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getIncludeLibAttributeAccess()
.getTagAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("tag", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getIncludeLibAttributeAccess()
.getTagInclude_libKeyword_0_0(), value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getIncludeLibAttributeAccess()
.getTagInclude_libKeyword_0_0();
return obj;
}
return null;
}
}
// "("
protected class IncludeLibAttribute_LeftParenthesisKeyword_1 extends
KeywordToken {
public IncludeLibAttribute_LeftParenthesisKeyword_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getIncludeLibAttributeAccess()
.getLeftParenthesisKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IncludeLibAttribute_TagAssignment_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// importURI=STRING
protected class IncludeLibAttribute_ImportURIAssignment_2 extends
AssignmentToken {
public IncludeLibAttribute_ImportURIAssignment_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getIncludeLibAttributeAccess()
.getImportURIAssignment_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IncludeLibAttribute_LeftParenthesisKeyword_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("importURI", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("importURI");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getIncludeLibAttributeAccess()
.getImportURISTRINGTerminalRuleCall_2_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getIncludeLibAttributeAccess()
.getImportURISTRINGTerminalRuleCall_2_0();
return obj;
}
return null;
}
}
// ")"
protected class IncludeLibAttribute_RightParenthesisKeyword_3 extends
KeywordToken {
public IncludeLibAttribute_RightParenthesisKeyword_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getIncludeLibAttributeAccess()
.getRightParenthesisKeyword_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IncludeLibAttribute_ImportURIAssignment_2(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "."
protected class IncludeLibAttribute_FullStopKeyword_4 extends KeywordToken {
public IncludeLibAttribute_FullStopKeyword_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getIncludeLibAttributeAccess()
.getFullStopKeyword_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IncludeLibAttribute_RightParenthesisKeyword_3(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
/************ end Rule IncludeLibAttribute ****************/
/************
* begin Rule FileAttribute ****************
*
* FileAttribute: => tag="file" "(" file=STRING "," line=INTEGER ")" ".";
*
**/
// => tag="file" "(" file=STRING "," line=INTEGER ")" "."
protected class FileAttribute_Group extends GroupToken {
public FileAttribute_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getFileAttributeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FileAttribute_FullStopKeyword_6(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getFileAttributeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => tag="file"
protected class FileAttribute_TagAssignment_0 extends AssignmentToken {
public FileAttribute_TagAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFileAttributeAccess().getTagAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("tag", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getFileAttributeAccess().getTagFileKeyword_0_0(), value,
null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getFileAttributeAccess()
.getTagFileKeyword_0_0();
return obj;
}
return null;
}
}
// "("
protected class FileAttribute_LeftParenthesisKeyword_1 extends KeywordToken {
public FileAttribute_LeftParenthesisKeyword_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFileAttributeAccess()
.getLeftParenthesisKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FileAttribute_TagAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// file=STRING
protected class FileAttribute_FileAssignment_2 extends AssignmentToken {
public FileAttribute_FileAssignment_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFileAttributeAccess().getFileAssignment_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FileAttribute_LeftParenthesisKeyword_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("file", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("file");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getFileAttributeAccess()
.getFileSTRINGTerminalRuleCall_2_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getFileAttributeAccess()
.getFileSTRINGTerminalRuleCall_2_0();
return obj;
}
return null;
}
}
// ","
protected class FileAttribute_CommaKeyword_3 extends KeywordToken {
public FileAttribute_CommaKeyword_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFileAttributeAccess().getCommaKeyword_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FileAttribute_FileAssignment_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// line=INTEGER
protected class FileAttribute_LineAssignment_4 extends AssignmentToken {
public FileAttribute_LineAssignment_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFileAttributeAccess().getLineAssignment_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FileAttribute_CommaKeyword_3(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("line", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("line");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getFileAttributeAccess()
.getLineINTEGERParserRuleCall_4_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getFileAttributeAccess()
.getLineINTEGERParserRuleCall_4_0();
return obj;
}
return null;
}
}
// ")"
protected class FileAttribute_RightParenthesisKeyword_5 extends
KeywordToken {
public FileAttribute_RightParenthesisKeyword_5(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFileAttributeAccess()
.getRightParenthesisKeyword_5();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FileAttribute_LineAssignment_4(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// "."
protected class FileAttribute_FullStopKeyword_6 extends KeywordToken {
public FileAttribute_FullStopKeyword_6(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFileAttributeAccess()
.getFullStopKeyword_6();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FileAttribute_RightParenthesisKeyword_5(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
/************ end Rule FileAttribute ****************/
/************
* begin Rule ModuleAttribute ****************
*
* ModuleAttribute: => tag="module" "(" moduleName=NAME ")" ".";
*
**/
// => tag="module" "(" moduleName=NAME ")" "."
protected class ModuleAttribute_Group extends GroupToken {
public ModuleAttribute_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getModuleAttributeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ModuleAttribute_FullStopKeyword_4(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getModuleAttributeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => tag="module"
protected class ModuleAttribute_TagAssignment_0 extends AssignmentToken {
public ModuleAttribute_TagAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getModuleAttributeAccess()
.getTagAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("tag", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getModuleAttributeAccess().getTagModuleKeyword_0_0(),
value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getModuleAttributeAccess()
.getTagModuleKeyword_0_0();
return obj;
}
return null;
}
}
// "("
protected class ModuleAttribute_LeftParenthesisKeyword_1 extends
KeywordToken {
public ModuleAttribute_LeftParenthesisKeyword_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getModuleAttributeAccess()
.getLeftParenthesisKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ModuleAttribute_TagAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// moduleName=NAME
protected class ModuleAttribute_ModuleNameAssignment_2 extends
AssignmentToken {
public ModuleAttribute_ModuleNameAssignment_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getModuleAttributeAccess()
.getModuleNameAssignment_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ModuleAttribute_LeftParenthesisKeyword_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("moduleName", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("moduleName");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getModuleAttributeAccess()
.getModuleNameNAMEParserRuleCall_2_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getModuleAttributeAccess()
.getModuleNameNAMEParserRuleCall_2_0();
return obj;
}
return null;
}
}
// ")"
protected class ModuleAttribute_RightParenthesisKeyword_3 extends
KeywordToken {
public ModuleAttribute_RightParenthesisKeyword_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getModuleAttributeAccess()
.getRightParenthesisKeyword_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ModuleAttribute_ModuleNameAssignment_2(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "."
protected class ModuleAttribute_FullStopKeyword_4 extends KeywordToken {
public ModuleAttribute_FullStopKeyword_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getModuleAttributeAccess()
.getFullStopKeyword_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ModuleAttribute_RightParenthesisKeyword_3(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
/************ end Rule ModuleAttribute ****************/
/************
* begin Rule EncodingAttribute ****************
*
* EncodingAttribute: => tag="encoding" ("(" charset=NAME ")" |
* charset=NAME) ".";
*
**/
// => tag="encoding" ("(" charset=NAME ")" | charset=NAME) "."
protected class EncodingAttribute_Group extends GroupToken {
public EncodingAttribute_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getEncodingAttributeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new EncodingAttribute_FullStopKeyword_2(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getEncodingAttributeRule().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => tag="encoding"
protected class EncodingAttribute_TagAssignment_0 extends AssignmentToken {
public EncodingAttribute_TagAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getEncodingAttributeAccess()
.getTagAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("tag", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getEncodingAttributeAccess().getTagEncodingKeyword_0_0(),
value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getEncodingAttributeAccess()
.getTagEncodingKeyword_0_0();
return obj;
}
return null;
}
}
// "(" charset=NAME ")" | charset=NAME
protected class EncodingAttribute_Alternatives_1 extends AlternativesToken {
public EncodingAttribute_Alternatives_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getEncodingAttributeAccess()
.getAlternatives_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new EncodingAttribute_Group_1_0(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new EncodingAttribute_CharsetAssignment_1_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// "(" charset=NAME ")"
protected class EncodingAttribute_Group_1_0 extends GroupToken {
public EncodingAttribute_Group_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getEncodingAttributeAccess().getGroup_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new EncodingAttribute_RightParenthesisKeyword_1_0_2(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "("
protected class EncodingAttribute_LeftParenthesisKeyword_1_0_0 extends
KeywordToken {
public EncodingAttribute_LeftParenthesisKeyword_1_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getEncodingAttributeAccess()
.getLeftParenthesisKeyword_1_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new EncodingAttribute_TagAssignment_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// charset=NAME
protected class EncodingAttribute_CharsetAssignment_1_0_1 extends
AssignmentToken {
public EncodingAttribute_CharsetAssignment_1_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getEncodingAttributeAccess()
.getCharsetAssignment_1_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new EncodingAttribute_LeftParenthesisKeyword_1_0_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("charset", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("charset");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getEncodingAttributeAccess()
.getCharsetNAMEParserRuleCall_1_0_1_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getEncodingAttributeAccess()
.getCharsetNAMEParserRuleCall_1_0_1_0();
return obj;
}
return null;
}
}
// ")"
protected class EncodingAttribute_RightParenthesisKeyword_1_0_2 extends
KeywordToken {
public EncodingAttribute_RightParenthesisKeyword_1_0_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getEncodingAttributeAccess()
.getRightParenthesisKeyword_1_0_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new EncodingAttribute_CharsetAssignment_1_0_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// charset=NAME
protected class EncodingAttribute_CharsetAssignment_1_1 extends
AssignmentToken {
public EncodingAttribute_CharsetAssignment_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getEncodingAttributeAccess()
.getCharsetAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new EncodingAttribute_TagAssignment_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("charset", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("charset");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getEncodingAttributeAccess()
.getCharsetNAMEParserRuleCall_1_1_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getEncodingAttributeAccess()
.getCharsetNAMEParserRuleCall_1_1_0();
return obj;
}
return null;
}
}
// "."
protected class EncodingAttribute_FullStopKeyword_2 extends KeywordToken {
public EncodingAttribute_FullStopKeyword_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getEncodingAttributeAccess()
.getFullStopKeyword_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new EncodingAttribute_Alternatives_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
/************ end Rule EncodingAttribute ****************/
/************
* begin Rule RecordAttribute ****************
*
* RecordAttribute: => tag="record" "(" name=NAMEMACRO "," ("{"
* (fields+=RecordFieldDef ("," fields+=RecordFieldDef)*)? "}" |
* recordMacro=MacroCall) ")" ".";
*
**/
// => tag="record" "(" name=NAMEMACRO "," ("{" (fields+=RecordFieldDef (","
// fields+=RecordFieldDef)*)? "}" |
// recordMacro=MacroCall) ")" "."
protected class RecordAttribute_Group extends GroupToken {
public RecordAttribute_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getRecordAttributeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordAttribute_FullStopKeyword_6(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getRecordAttributeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => tag="record"
protected class RecordAttribute_TagAssignment_0 extends AssignmentToken {
public RecordAttribute_TagAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRecordAttributeAccess()
.getTagAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("tag", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getRecordAttributeAccess().getTagRecordKeyword_0_0(),
value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getRecordAttributeAccess()
.getTagRecordKeyword_0_0();
return obj;
}
return null;
}
}
// "("
protected class RecordAttribute_LeftParenthesisKeyword_1 extends
KeywordToken {
public RecordAttribute_LeftParenthesisKeyword_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRecordAttributeAccess()
.getLeftParenthesisKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordAttribute_TagAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// name=NAMEMACRO
protected class RecordAttribute_NameAssignment_2 extends AssignmentToken {
public RecordAttribute_NameAssignment_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRecordAttributeAccess()
.getNameAssignment_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordAttribute_LeftParenthesisKeyword_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("name", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("name");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getRecordAttributeAccess()
.getNameNAMEMACROParserRuleCall_2_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getRecordAttributeAccess()
.getNameNAMEMACROParserRuleCall_2_0();
return obj;
}
return null;
}
}
// ","
protected class RecordAttribute_CommaKeyword_3 extends KeywordToken {
public RecordAttribute_CommaKeyword_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRecordAttributeAccess().getCommaKeyword_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordAttribute_NameAssignment_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// "{" (fields+=RecordFieldDef ("," fields+=RecordFieldDef)*)? "}" |
// recordMacro=MacroCall
protected class RecordAttribute_Alternatives_4 extends AlternativesToken {
public RecordAttribute_Alternatives_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getRecordAttributeAccess().getAlternatives_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordAttribute_Group_4_0(lastRuleCallOrigin, this,
0, inst);
case 1:
return new RecordAttribute_RecordMacroAssignment_4_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// "{" (fields+=RecordFieldDef ("," fields+=RecordFieldDef)*)? "}"
protected class RecordAttribute_Group_4_0 extends GroupToken {
public RecordAttribute_Group_4_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getRecordAttributeAccess().getGroup_4_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordAttribute_RightCurlyBracketKeyword_4_0_2(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "{"
protected class RecordAttribute_LeftCurlyBracketKeyword_4_0_0 extends
KeywordToken {
public RecordAttribute_LeftCurlyBracketKeyword_4_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRecordAttributeAccess()
.getLeftCurlyBracketKeyword_4_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordAttribute_CommaKeyword_3(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// (fields+=RecordFieldDef ("," fields+=RecordFieldDef)*)?
protected class RecordAttribute_Group_4_0_1 extends GroupToken {
public RecordAttribute_Group_4_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getRecordAttributeAccess().getGroup_4_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordAttribute_Group_4_0_1_1(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new RecordAttribute_FieldsAssignment_4_0_1_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// fields+=RecordFieldDef
protected class RecordAttribute_FieldsAssignment_4_0_1_0 extends
AssignmentToken {
public RecordAttribute_FieldsAssignment_4_0_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRecordAttributeAccess()
.getFieldsAssignment_4_0_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldDef_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("fields", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("fields");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getRecordFieldDefRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getRecordAttributeAccess()
.getFieldsRecordFieldDefParserRuleCall_4_0_1_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new RecordAttribute_LeftCurlyBracketKeyword_4_0_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ("," fields+=RecordFieldDef)*
protected class RecordAttribute_Group_4_0_1_1 extends GroupToken {
public RecordAttribute_Group_4_0_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getRecordAttributeAccess().getGroup_4_0_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordAttribute_FieldsAssignment_4_0_1_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// ","
protected class RecordAttribute_CommaKeyword_4_0_1_1_0 extends KeywordToken {
public RecordAttribute_CommaKeyword_4_0_1_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRecordAttributeAccess()
.getCommaKeyword_4_0_1_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordAttribute_Group_4_0_1_1(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new RecordAttribute_FieldsAssignment_4_0_1_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// fields+=RecordFieldDef
protected class RecordAttribute_FieldsAssignment_4_0_1_1_1 extends
AssignmentToken {
public RecordAttribute_FieldsAssignment_4_0_1_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRecordAttributeAccess()
.getFieldsAssignment_4_0_1_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldDef_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("fields", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("fields");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getRecordFieldDefRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess
.getRecordAttributeAccess()
.getFieldsRecordFieldDefParserRuleCall_4_0_1_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new RecordAttribute_CommaKeyword_4_0_1_1_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// "}"
protected class RecordAttribute_RightCurlyBracketKeyword_4_0_2 extends
KeywordToken {
public RecordAttribute_RightCurlyBracketKeyword_4_0_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRecordAttributeAccess()
.getRightCurlyBracketKeyword_4_0_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordAttribute_Group_4_0_1(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new RecordAttribute_LeftCurlyBracketKeyword_4_0_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// recordMacro=MacroCall
protected class RecordAttribute_RecordMacroAssignment_4_1 extends
AssignmentToken {
public RecordAttribute_RecordMacroAssignment_4_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRecordAttributeAccess()
.getRecordMacroAssignment_4_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroCall_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("recordMacro", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("recordMacro");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getMacroCallRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getRecordAttributeAccess()
.getRecordMacroMacroCallParserRuleCall_4_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new RecordAttribute_CommaKeyword_3(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class RecordAttribute_RightParenthesisKeyword_5 extends
KeywordToken {
public RecordAttribute_RightParenthesisKeyword_5(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRecordAttributeAccess()
.getRightParenthesisKeyword_5();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordAttribute_Alternatives_4(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// "."
protected class RecordAttribute_FullStopKeyword_6 extends KeywordToken {
public RecordAttribute_FullStopKeyword_6(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRecordAttributeAccess()
.getFullStopKeyword_6();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordAttribute_RightParenthesisKeyword_5(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
/************ end Rule RecordAttribute ****************/
/************
* begin Rule RecordFieldDef ****************
*
* RecordFieldDef: name=NAMEVAR ("=" value=Expression)? ("::"
* type=TopType)?;
*
**/
// name=NAMEVAR ("=" value=Expression)? ("::" type=TopType)?
protected class RecordFieldDef_Group extends GroupToken {
public RecordFieldDef_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getRecordFieldDefAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldDef_Group_2(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new RecordFieldDef_Group_1(lastRuleCallOrigin, this, 1,
inst);
case 2:
return new RecordFieldDef_NameAssignment_0(lastRuleCallOrigin,
this, 2, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getRecordFieldDefRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// name=NAMEVAR
protected class RecordFieldDef_NameAssignment_0 extends AssignmentToken {
public RecordFieldDef_NameAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRecordFieldDefAccess()
.getNameAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("name", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("name");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getRecordFieldDefAccess()
.getNameNAMEVARParserRuleCall_0_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getRecordFieldDefAccess()
.getNameNAMEVARParserRuleCall_0_0();
return obj;
}
return null;
}
}
// ("=" value=Expression)?
protected class RecordFieldDef_Group_1 extends GroupToken {
public RecordFieldDef_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getRecordFieldDefAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldDef_ValueAssignment_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "="
protected class RecordFieldDef_EqualsSignKeyword_1_0 extends KeywordToken {
public RecordFieldDef_EqualsSignKeyword_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRecordFieldDefAccess()
.getEqualsSignKeyword_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldDef_NameAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// value=Expression
protected class RecordFieldDef_ValueAssignment_1_1 extends AssignmentToken {
public RecordFieldDef_ValueAssignment_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRecordFieldDefAccess()
.getValueAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("value", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("value");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getRecordFieldDefAccess()
.getValueExpressionParserRuleCall_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new RecordFieldDef_EqualsSignKeyword_1_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ("::" type=TopType)?
protected class RecordFieldDef_Group_2 extends GroupToken {
public RecordFieldDef_Group_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getRecordFieldDefAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldDef_TypeAssignment_2_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "::"
protected class RecordFieldDef_ColonColonKeyword_2_0 extends KeywordToken {
public RecordFieldDef_ColonColonKeyword_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRecordFieldDefAccess()
.getColonColonKeyword_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldDef_Group_1(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new RecordFieldDef_NameAssignment_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// type=TopType
protected class RecordFieldDef_TypeAssignment_2_1 extends AssignmentToken {
public RecordFieldDef_TypeAssignment_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRecordFieldDefAccess()
.getTypeAssignment_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("type", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("type");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getRecordFieldDefAccess()
.getTypeTopTypeParserRuleCall_2_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new RecordFieldDef_ColonColonKeyword_2_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule RecordFieldDef ****************/
/************
* begin Rule ExportAttribute ****************
*
* ExportAttribute: => tag="export" "(" "[" (funs+=FunRef (","
* funs+=FunRef)*)? "]" ")" ".";
*
**/
// => tag="export" "(" "[" (funs+=FunRef ("," funs+=FunRef)*)? "]" ")" "."
protected class ExportAttribute_Group extends GroupToken {
public ExportAttribute_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExportAttributeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExportAttribute_FullStopKeyword_6(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExportAttributeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => tag="export"
protected class ExportAttribute_TagAssignment_0 extends AssignmentToken {
public ExportAttribute_TagAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExportAttributeAccess()
.getTagAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("tag", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getExportAttributeAccess().getTagExportKeyword_0_0(),
value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getExportAttributeAccess()
.getTagExportKeyword_0_0();
return obj;
}
return null;
}
}
// "("
protected class ExportAttribute_LeftParenthesisKeyword_1 extends
KeywordToken {
public ExportAttribute_LeftParenthesisKeyword_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExportAttributeAccess()
.getLeftParenthesisKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExportAttribute_TagAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// "["
protected class ExportAttribute_LeftSquareBracketKeyword_2 extends
KeywordToken {
public ExportAttribute_LeftSquareBracketKeyword_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExportAttributeAccess()
.getLeftSquareBracketKeyword_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExportAttribute_LeftParenthesisKeyword_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// (funs+=FunRef ("," funs+=FunRef)*)?
protected class ExportAttribute_Group_3 extends GroupToken {
public ExportAttribute_Group_3(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExportAttributeAccess().getGroup_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExportAttribute_Group_3_1(lastRuleCallOrigin, this,
0, inst);
case 1:
return new ExportAttribute_FunsAssignment_3_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// funs+=FunRef
protected class ExportAttribute_FunsAssignment_3_0 extends AssignmentToken {
public ExportAttribute_FunsAssignment_3_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExportAttributeAccess()
.getFunsAssignment_3_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunRef_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("funs", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("funs");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFunRefRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExportAttributeAccess()
.getFunsFunRefParserRuleCall_3_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ExportAttribute_LeftSquareBracketKeyword_2(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ("," funs+=FunRef)*
protected class ExportAttribute_Group_3_1 extends GroupToken {
public ExportAttribute_Group_3_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExportAttributeAccess().getGroup_3_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExportAttribute_FunsAssignment_3_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// ","
protected class ExportAttribute_CommaKeyword_3_1_0 extends KeywordToken {
public ExportAttribute_CommaKeyword_3_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExportAttributeAccess()
.getCommaKeyword_3_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExportAttribute_Group_3_1(lastRuleCallOrigin, this,
0, inst);
case 1:
return new ExportAttribute_FunsAssignment_3_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// funs+=FunRef
protected class ExportAttribute_FunsAssignment_3_1_1 extends
AssignmentToken {
public ExportAttribute_FunsAssignment_3_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExportAttributeAccess()
.getFunsAssignment_3_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunRef_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("funs", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("funs");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFunRefRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExportAttributeAccess()
.getFunsFunRefParserRuleCall_3_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ExportAttribute_CommaKeyword_3_1_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// "]"
protected class ExportAttribute_RightSquareBracketKeyword_4 extends
KeywordToken {
public ExportAttribute_RightSquareBracketKeyword_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExportAttributeAccess()
.getRightSquareBracketKeyword_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExportAttribute_Group_3(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new ExportAttribute_LeftSquareBracketKeyword_2(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// ")"
protected class ExportAttribute_RightParenthesisKeyword_5 extends
KeywordToken {
public ExportAttribute_RightParenthesisKeyword_5(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExportAttributeAccess()
.getRightParenthesisKeyword_5();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExportAttribute_RightSquareBracketKeyword_4(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "."
protected class ExportAttribute_FullStopKeyword_6 extends KeywordToken {
public ExportAttribute_FullStopKeyword_6(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExportAttributeAccess()
.getFullStopKeyword_6();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExportAttribute_RightParenthesisKeyword_5(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
/************ end Rule ExportAttribute ****************/
/************
* begin Rule ImportAttribute ****************
*
* ImportAttribute: => tag="import" "(" module=ModuleVarMacro "," "["
* (funs+=FunRef ("," funs+=FunRef)*)? "]" ")" ".";
*
**/
// => tag="import" "(" module=ModuleVarMacro "," "[" (funs+=FunRef (","
// funs+=FunRef)*)? "]" ")" "."
protected class ImportAttribute_Group extends GroupToken {
public ImportAttribute_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getImportAttributeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ImportAttribute_FullStopKeyword_8(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getImportAttributeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => tag="import"
protected class ImportAttribute_TagAssignment_0 extends AssignmentToken {
public ImportAttribute_TagAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getImportAttributeAccess()
.getTagAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("tag", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getImportAttributeAccess().getTagImportKeyword_0_0(),
value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getImportAttributeAccess()
.getTagImportKeyword_0_0();
return obj;
}
return null;
}
}
// "("
protected class ImportAttribute_LeftParenthesisKeyword_1 extends
KeywordToken {
public ImportAttribute_LeftParenthesisKeyword_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getImportAttributeAccess()
.getLeftParenthesisKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ImportAttribute_TagAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// module=ModuleVarMacro
protected class ImportAttribute_ModuleAssignment_2 extends AssignmentToken {
public ImportAttribute_ModuleAssignment_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getImportAttributeAccess()
.getModuleAssignment_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ModuleVarMacro_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("module", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("module");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getModuleVarMacroRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getImportAttributeAccess()
.getModuleModuleVarMacroParserRuleCall_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ImportAttribute_LeftParenthesisKeyword_1(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ","
protected class ImportAttribute_CommaKeyword_3 extends KeywordToken {
public ImportAttribute_CommaKeyword_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getImportAttributeAccess().getCommaKeyword_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ImportAttribute_ModuleAssignment_2(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "["
protected class ImportAttribute_LeftSquareBracketKeyword_4 extends
KeywordToken {
public ImportAttribute_LeftSquareBracketKeyword_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getImportAttributeAccess()
.getLeftSquareBracketKeyword_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ImportAttribute_CommaKeyword_3(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// (funs+=FunRef ("," funs+=FunRef)*)?
protected class ImportAttribute_Group_5 extends GroupToken {
public ImportAttribute_Group_5(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getImportAttributeAccess().getGroup_5();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ImportAttribute_Group_5_1(lastRuleCallOrigin, this,
0, inst);
case 1:
return new ImportAttribute_FunsAssignment_5_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// funs+=FunRef
protected class ImportAttribute_FunsAssignment_5_0 extends AssignmentToken {
public ImportAttribute_FunsAssignment_5_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getImportAttributeAccess()
.getFunsAssignment_5_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunRef_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("funs", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("funs");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFunRefRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getImportAttributeAccess()
.getFunsFunRefParserRuleCall_5_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ImportAttribute_LeftSquareBracketKeyword_4(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ("," funs+=FunRef)*
protected class ImportAttribute_Group_5_1 extends GroupToken {
public ImportAttribute_Group_5_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getImportAttributeAccess().getGroup_5_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ImportAttribute_FunsAssignment_5_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// ","
protected class ImportAttribute_CommaKeyword_5_1_0 extends KeywordToken {
public ImportAttribute_CommaKeyword_5_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getImportAttributeAccess()
.getCommaKeyword_5_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ImportAttribute_Group_5_1(lastRuleCallOrigin, this,
0, inst);
case 1:
return new ImportAttribute_FunsAssignment_5_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// funs+=FunRef
protected class ImportAttribute_FunsAssignment_5_1_1 extends
AssignmentToken {
public ImportAttribute_FunsAssignment_5_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getImportAttributeAccess()
.getFunsAssignment_5_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunRef_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("funs", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("funs");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFunRefRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getImportAttributeAccess()
.getFunsFunRefParserRuleCall_5_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ImportAttribute_CommaKeyword_5_1_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// "]"
protected class ImportAttribute_RightSquareBracketKeyword_6 extends
KeywordToken {
public ImportAttribute_RightSquareBracketKeyword_6(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getImportAttributeAccess()
.getRightSquareBracketKeyword_6();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ImportAttribute_Group_5(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new ImportAttribute_LeftSquareBracketKeyword_4(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// ")"
protected class ImportAttribute_RightParenthesisKeyword_7 extends
KeywordToken {
public ImportAttribute_RightParenthesisKeyword_7(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getImportAttributeAccess()
.getRightParenthesisKeyword_7();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ImportAttribute_RightSquareBracketKeyword_6(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "."
protected class ImportAttribute_FullStopKeyword_8 extends KeywordToken {
public ImportAttribute_FullStopKeyword_8(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getImportAttributeAccess()
.getFullStopKeyword_8();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ImportAttribute_RightParenthesisKeyword_7(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
/************ end Rule ImportAttribute ****************/
/************
* begin Rule CompileAttribute ****************
*
* CompileAttribute: => tag="compile" "(" options=Expression ")" ".";
*
**/
// => tag="compile" "(" options=Expression ")" "."
protected class CompileAttribute_Group extends GroupToken {
public CompileAttribute_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCompileAttributeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CompileAttribute_FullStopKeyword_4(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getCompileAttributeRule().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => tag="compile"
protected class CompileAttribute_TagAssignment_0 extends AssignmentToken {
public CompileAttribute_TagAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCompileAttributeAccess()
.getTagAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("tag", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getCompileAttributeAccess().getTagCompileKeyword_0_0(),
value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getCompileAttributeAccess()
.getTagCompileKeyword_0_0();
return obj;
}
return null;
}
}
// "("
protected class CompileAttribute_LeftParenthesisKeyword_1 extends
KeywordToken {
public CompileAttribute_LeftParenthesisKeyword_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCompileAttributeAccess()
.getLeftParenthesisKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CompileAttribute_TagAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// options=Expression
protected class CompileAttribute_OptionsAssignment_2 extends
AssignmentToken {
public CompileAttribute_OptionsAssignment_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCompileAttributeAccess()
.getOptionsAssignment_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("options", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("options");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCompileAttributeAccess()
.getOptionsExpressionParserRuleCall_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new CompileAttribute_LeftParenthesisKeyword_1(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class CompileAttribute_RightParenthesisKeyword_3 extends
KeywordToken {
public CompileAttribute_RightParenthesisKeyword_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCompileAttributeAccess()
.getRightParenthesisKeyword_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CompileAttribute_OptionsAssignment_2(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "."
protected class CompileAttribute_FullStopKeyword_4 extends KeywordToken {
public CompileAttribute_FullStopKeyword_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCompileAttributeAccess()
.getFullStopKeyword_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CompileAttribute_RightParenthesisKeyword_3(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
/************ end Rule CompileAttribute ****************/
/************
* begin Rule AbstractTypeAttribute ****************
*
* AbstractTypeAttribute: SpecAttribute | TypeAttribute;
*
**/
// SpecAttribute | TypeAttribute
protected class AbstractTypeAttribute_Alternatives extends
AlternativesToken {
public AbstractTypeAttribute_Alternatives(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getAbstractTypeAttributeAccess()
.getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new AbstractTypeAttribute_SpecAttributeParserRuleCall_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new AbstractTypeAttribute_TypeAttributeParserRuleCall_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getSpecAttributeRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getTypeAttributeRule().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// SpecAttribute
protected class AbstractTypeAttribute_SpecAttributeParserRuleCall_0 extends
RuleCallToken {
public AbstractTypeAttribute_SpecAttributeParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAbstractTypeAttributeAccess()
.getSpecAttributeParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getSpecAttributeRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(SpecAttribute_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// TypeAttribute
protected class AbstractTypeAttribute_TypeAttributeParserRuleCall_1 extends
RuleCallToken {
public AbstractTypeAttribute_TypeAttributeParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAbstractTypeAttributeAccess()
.getTypeAttributeParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTypeAttributeRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(TypeAttribute_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
/************ end Rule AbstractTypeAttribute ****************/
/************
* begin Rule SpecAttribute ****************
*
* SpecAttribute: => tag=("spec" | "callback") (ref=SpecFun
* signatures+=TypeSig (";" signatures+=TypeSig)* | "(" ref=SpecFun
* signatures+=TypeSig (";" signatures+=TypeSig)* ")") ".";
*
**/
// => tag=("spec" | "callback") (ref=SpecFun signatures+=TypeSig (";"
// signatures+=TypeSig)* | "(" ref=SpecFun
// signatures+=TypeSig (";" signatures+=TypeSig)* ")") "."
protected class SpecAttribute_Group extends GroupToken {
public SpecAttribute_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSpecAttributeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecAttribute_FullStopKeyword_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getSpecAttributeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => tag=("spec" | "callback")
protected class SpecAttribute_TagAssignment_0 extends AssignmentToken {
public SpecAttribute_TagAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSpecAttributeAccess().getTagAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("tag", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getSpecAttributeAccess().getTagSpecKeyword_0_0_0(), value,
null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getSpecAttributeAccess()
.getTagSpecKeyword_0_0_0();
return obj;
}
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getSpecAttributeAccess().getTagCallbackKeyword_0_0_1(),
value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getSpecAttributeAccess()
.getTagCallbackKeyword_0_0_1();
return obj;
}
return null;
}
}
// ref=SpecFun signatures+=TypeSig (";" signatures+=TypeSig)* | "("
// ref=SpecFun signatures+=TypeSig (";"
// signatures+=TypeSig)* ")"
protected class SpecAttribute_Alternatives_1 extends AlternativesToken {
public SpecAttribute_Alternatives_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getSpecAttributeAccess().getAlternatives_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecAttribute_Group_1_0(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new SpecAttribute_Group_1_1(lastRuleCallOrigin, this, 1,
inst);
default:
return null;
}
}
}
// ref=SpecFun signatures+=TypeSig (";" signatures+=TypeSig)*
protected class SpecAttribute_Group_1_0 extends GroupToken {
public SpecAttribute_Group_1_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSpecAttributeAccess().getGroup_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecAttribute_Group_1_0_2(lastRuleCallOrigin, this,
0, inst);
case 1:
return new SpecAttribute_SignaturesAssignment_1_0_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// ref=SpecFun
protected class SpecAttribute_RefAssignment_1_0_0 extends AssignmentToken {
public SpecAttribute_RefAssignment_1_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSpecAttributeAccess()
.getRefAssignment_1_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecFun_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("ref", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ref");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getSpecFunRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSpecAttributeAccess()
.getRefSpecFunParserRuleCall_1_0_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new SpecAttribute_TagAssignment_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// signatures+=TypeSig
protected class SpecAttribute_SignaturesAssignment_1_0_1 extends
AssignmentToken {
public SpecAttribute_SignaturesAssignment_1_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSpecAttributeAccess()
.getSignaturesAssignment_1_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeSig_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("signatures", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("signatures");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTypeSigRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSpecAttributeAccess()
.getSignaturesTypeSigParserRuleCall_1_0_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new SpecAttribute_RefAssignment_1_0_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// (";" signatures+=TypeSig)*
protected class SpecAttribute_Group_1_0_2 extends GroupToken {
public SpecAttribute_Group_1_0_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSpecAttributeAccess().getGroup_1_0_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecAttribute_SignaturesAssignment_1_0_2_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// ";"
protected class SpecAttribute_SemicolonKeyword_1_0_2_0 extends KeywordToken {
public SpecAttribute_SemicolonKeyword_1_0_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getSpecAttributeAccess()
.getSemicolonKeyword_1_0_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecAttribute_Group_1_0_2(lastRuleCallOrigin, this,
0, inst);
case 1:
return new SpecAttribute_SignaturesAssignment_1_0_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// signatures+=TypeSig
protected class SpecAttribute_SignaturesAssignment_1_0_2_1 extends
AssignmentToken {
public SpecAttribute_SignaturesAssignment_1_0_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSpecAttributeAccess()
.getSignaturesAssignment_1_0_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeSig_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("signatures", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("signatures");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTypeSigRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSpecAttributeAccess()
.getSignaturesTypeSigParserRuleCall_1_0_2_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new SpecAttribute_SemicolonKeyword_1_0_2_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// "(" ref=SpecFun signatures+=TypeSig (";" signatures+=TypeSig)* ")"
protected class SpecAttribute_Group_1_1 extends GroupToken {
public SpecAttribute_Group_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSpecAttributeAccess().getGroup_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecAttribute_RightParenthesisKeyword_1_1_4(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "("
protected class SpecAttribute_LeftParenthesisKeyword_1_1_0 extends
KeywordToken {
public SpecAttribute_LeftParenthesisKeyword_1_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getSpecAttributeAccess()
.getLeftParenthesisKeyword_1_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecAttribute_TagAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// ref=SpecFun
protected class SpecAttribute_RefAssignment_1_1_1 extends AssignmentToken {
public SpecAttribute_RefAssignment_1_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSpecAttributeAccess()
.getRefAssignment_1_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecFun_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("ref", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ref");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getSpecFunRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSpecAttributeAccess()
.getRefSpecFunParserRuleCall_1_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new SpecAttribute_LeftParenthesisKeyword_1_1_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// signatures+=TypeSig
protected class SpecAttribute_SignaturesAssignment_1_1_2 extends
AssignmentToken {
public SpecAttribute_SignaturesAssignment_1_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSpecAttributeAccess()
.getSignaturesAssignment_1_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeSig_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("signatures", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("signatures");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTypeSigRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSpecAttributeAccess()
.getSignaturesTypeSigParserRuleCall_1_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new SpecAttribute_RefAssignment_1_1_1(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// (";" signatures+=TypeSig)*
protected class SpecAttribute_Group_1_1_3 extends GroupToken {
public SpecAttribute_Group_1_1_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSpecAttributeAccess().getGroup_1_1_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecAttribute_SignaturesAssignment_1_1_3_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// ";"
protected class SpecAttribute_SemicolonKeyword_1_1_3_0 extends KeywordToken {
public SpecAttribute_SemicolonKeyword_1_1_3_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getSpecAttributeAccess()
.getSemicolonKeyword_1_1_3_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecAttribute_Group_1_1_3(lastRuleCallOrigin, this,
0, inst);
case 1:
return new SpecAttribute_SignaturesAssignment_1_1_2(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// signatures+=TypeSig
protected class SpecAttribute_SignaturesAssignment_1_1_3_1 extends
AssignmentToken {
public SpecAttribute_SignaturesAssignment_1_1_3_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSpecAttributeAccess()
.getSignaturesAssignment_1_1_3_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeSig_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("signatures", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("signatures");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTypeSigRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSpecAttributeAccess()
.getSignaturesTypeSigParserRuleCall_1_1_3_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new SpecAttribute_SemicolonKeyword_1_1_3_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class SpecAttribute_RightParenthesisKeyword_1_1_4 extends
KeywordToken {
public SpecAttribute_RightParenthesisKeyword_1_1_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getSpecAttributeAccess()
.getRightParenthesisKeyword_1_1_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecAttribute_Group_1_1_3(lastRuleCallOrigin, this,
0, inst);
case 1:
return new SpecAttribute_SignaturesAssignment_1_1_2(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// "."
protected class SpecAttribute_FullStopKeyword_2 extends KeywordToken {
public SpecAttribute_FullStopKeyword_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getSpecAttributeAccess()
.getFullStopKeyword_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecAttribute_Alternatives_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
/************ end Rule SpecAttribute ****************/
/************
* begin Rule TypeAttribute ****************
*
* TypeAttribute: => tag=("type" | "opaque") (name=NAMEVAR "("
* (args+=PatternExpression ("," args+=PatternExpression)*)? ")" "::"
* type=TopType | "(" name=NAMEVAR "(" (args+=PatternExpression (","
* args+=PatternExpression)*)? ")" "::" type=TopType ")") ".";
*
**/
// => tag=("type" | "opaque") (name=NAMEVAR "(" (args+=PatternExpression
// ("," args+=PatternExpression)*)? ")" "::"
// type=TopType | "(" name=NAMEVAR "(" (args+=PatternExpression (","
// args+=PatternExpression)*)? ")" "::" type=TopType
// ")") "."
protected class TypeAttribute_Group extends GroupToken {
public TypeAttribute_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAttributeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_FullStopKeyword_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTypeAttributeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => tag=("type" | "opaque")
protected class TypeAttribute_TagAssignment_0 extends AssignmentToken {
public TypeAttribute_TagAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAttributeAccess().getTagAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("tag", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getTypeAttributeAccess().getTagTypeKeyword_0_0_0(), value,
null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getTypeAttributeAccess()
.getTagTypeKeyword_0_0_0();
return obj;
}
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getTypeAttributeAccess().getTagOpaqueKeyword_0_0_1(),
value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getTypeAttributeAccess()
.getTagOpaqueKeyword_0_0_1();
return obj;
}
return null;
}
}
// name=NAMEVAR "(" (args+=PatternExpression (","
// args+=PatternExpression)*)? ")" "::" type=TopType | "(" name=NAMEVAR "("
// (args+=PatternExpression ("," args+=PatternExpression)*)? ")" "::"
// type=TopType ")"
protected class TypeAttribute_Alternatives_1 extends AlternativesToken {
public TypeAttribute_Alternatives_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getTypeAttributeAccess().getAlternatives_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_Group_1_0(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new TypeAttribute_Group_1_1(lastRuleCallOrigin, this, 1,
inst);
default:
return null;
}
}
}
// name=NAMEVAR "(" (args+=PatternExpression (","
// args+=PatternExpression)*)? ")" "::" type=TopType
protected class TypeAttribute_Group_1_0 extends GroupToken {
public TypeAttribute_Group_1_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAttributeAccess().getGroup_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_TypeAssignment_1_0_5(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// name=NAMEVAR
protected class TypeAttribute_NameAssignment_1_0_0 extends AssignmentToken {
public TypeAttribute_NameAssignment_1_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAttributeAccess()
.getNameAssignment_1_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_TagAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("name", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("name");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getTypeAttributeAccess()
.getNameNAMEVARParserRuleCall_1_0_0_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getTypeAttributeAccess()
.getNameNAMEVARParserRuleCall_1_0_0_0();
return obj;
}
return null;
}
}
// "("
protected class TypeAttribute_LeftParenthesisKeyword_1_0_1 extends
KeywordToken {
public TypeAttribute_LeftParenthesisKeyword_1_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAttributeAccess()
.getLeftParenthesisKeyword_1_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_NameAssignment_1_0_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// (args+=PatternExpression ("," args+=PatternExpression)*)?
protected class TypeAttribute_Group_1_0_2 extends GroupToken {
public TypeAttribute_Group_1_0_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAttributeAccess().getGroup_1_0_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_Group_1_0_2_1(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new TypeAttribute_ArgsAssignment_1_0_2_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// args+=PatternExpression
protected class TypeAttribute_ArgsAssignment_1_0_2_0 extends
AssignmentToken {
public TypeAttribute_ArgsAssignment_1_0_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAttributeAccess()
.getArgsAssignment_1_0_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new PatternExpression_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("args", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("args");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getPatternExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeAttributeAccess()
.getArgsPatternExpressionParserRuleCall_1_0_2_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TypeAttribute_LeftParenthesisKeyword_1_0_1(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ("," args+=PatternExpression)*
protected class TypeAttribute_Group_1_0_2_1 extends GroupToken {
public TypeAttribute_Group_1_0_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAttributeAccess().getGroup_1_0_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_ArgsAssignment_1_0_2_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// ","
protected class TypeAttribute_CommaKeyword_1_0_2_1_0 extends KeywordToken {
public TypeAttribute_CommaKeyword_1_0_2_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAttributeAccess()
.getCommaKeyword_1_0_2_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_Group_1_0_2_1(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new TypeAttribute_ArgsAssignment_1_0_2_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// args+=PatternExpression
protected class TypeAttribute_ArgsAssignment_1_0_2_1_1 extends
AssignmentToken {
public TypeAttribute_ArgsAssignment_1_0_2_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAttributeAccess()
.getArgsAssignment_1_0_2_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new PatternExpression_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("args", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("args");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getPatternExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess
.getTypeAttributeAccess()
.getArgsPatternExpressionParserRuleCall_1_0_2_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TypeAttribute_CommaKeyword_1_0_2_1_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class TypeAttribute_RightParenthesisKeyword_1_0_3 extends
KeywordToken {
public TypeAttribute_RightParenthesisKeyword_1_0_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAttributeAccess()
.getRightParenthesisKeyword_1_0_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_Group_1_0_2(lastRuleCallOrigin, this,
0, inst);
case 1:
return new TypeAttribute_LeftParenthesisKeyword_1_0_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// "::"
protected class TypeAttribute_ColonColonKeyword_1_0_4 extends KeywordToken {
public TypeAttribute_ColonColonKeyword_1_0_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAttributeAccess()
.getColonColonKeyword_1_0_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_RightParenthesisKeyword_1_0_3(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// type=TopType
protected class TypeAttribute_TypeAssignment_1_0_5 extends AssignmentToken {
public TypeAttribute_TypeAssignment_1_0_5(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAttributeAccess()
.getTypeAssignment_1_0_5();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("type", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("type");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeAttributeAccess()
.getTypeTopTypeParserRuleCall_1_0_5_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TypeAttribute_ColonColonKeyword_1_0_4(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// "(" name=NAMEVAR "(" (args+=PatternExpression (","
// args+=PatternExpression)*)? ")" "::" type=TopType ")"
protected class TypeAttribute_Group_1_1 extends GroupToken {
public TypeAttribute_Group_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAttributeAccess().getGroup_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_RightParenthesisKeyword_1_1_7(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "("
protected class TypeAttribute_LeftParenthesisKeyword_1_1_0 extends
KeywordToken {
public TypeAttribute_LeftParenthesisKeyword_1_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAttributeAccess()
.getLeftParenthesisKeyword_1_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_TagAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// name=NAMEVAR
protected class TypeAttribute_NameAssignment_1_1_1 extends AssignmentToken {
public TypeAttribute_NameAssignment_1_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAttributeAccess()
.getNameAssignment_1_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_LeftParenthesisKeyword_1_1_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("name", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("name");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getTypeAttributeAccess()
.getNameNAMEVARParserRuleCall_1_1_1_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getTypeAttributeAccess()
.getNameNAMEVARParserRuleCall_1_1_1_0();
return obj;
}
return null;
}
}
// "("
protected class TypeAttribute_LeftParenthesisKeyword_1_1_2 extends
KeywordToken {
public TypeAttribute_LeftParenthesisKeyword_1_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAttributeAccess()
.getLeftParenthesisKeyword_1_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_NameAssignment_1_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// (args+=PatternExpression ("," args+=PatternExpression)*)?
protected class TypeAttribute_Group_1_1_3 extends GroupToken {
public TypeAttribute_Group_1_1_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAttributeAccess().getGroup_1_1_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_Group_1_1_3_1(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new TypeAttribute_ArgsAssignment_1_1_3_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// args+=PatternExpression
protected class TypeAttribute_ArgsAssignment_1_1_3_0 extends
AssignmentToken {
public TypeAttribute_ArgsAssignment_1_1_3_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAttributeAccess()
.getArgsAssignment_1_1_3_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new PatternExpression_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("args", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("args");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getPatternExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeAttributeAccess()
.getArgsPatternExpressionParserRuleCall_1_1_3_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TypeAttribute_LeftParenthesisKeyword_1_1_2(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ("," args+=PatternExpression)*
protected class TypeAttribute_Group_1_1_3_1 extends GroupToken {
public TypeAttribute_Group_1_1_3_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAttributeAccess().getGroup_1_1_3_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_ArgsAssignment_1_1_3_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// ","
protected class TypeAttribute_CommaKeyword_1_1_3_1_0 extends KeywordToken {
public TypeAttribute_CommaKeyword_1_1_3_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAttributeAccess()
.getCommaKeyword_1_1_3_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_Group_1_1_3_1(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new TypeAttribute_ArgsAssignment_1_1_3_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// args+=PatternExpression
protected class TypeAttribute_ArgsAssignment_1_1_3_1_1 extends
AssignmentToken {
public TypeAttribute_ArgsAssignment_1_1_3_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAttributeAccess()
.getArgsAssignment_1_1_3_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new PatternExpression_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("args", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("args");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getPatternExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess
.getTypeAttributeAccess()
.getArgsPatternExpressionParserRuleCall_1_1_3_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TypeAttribute_CommaKeyword_1_1_3_1_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class TypeAttribute_RightParenthesisKeyword_1_1_4 extends
KeywordToken {
public TypeAttribute_RightParenthesisKeyword_1_1_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAttributeAccess()
.getRightParenthesisKeyword_1_1_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_Group_1_1_3(lastRuleCallOrigin, this,
0, inst);
case 1:
return new TypeAttribute_LeftParenthesisKeyword_1_1_2(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// "::"
protected class TypeAttribute_ColonColonKeyword_1_1_5 extends KeywordToken {
public TypeAttribute_ColonColonKeyword_1_1_5(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAttributeAccess()
.getColonColonKeyword_1_1_5();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_RightParenthesisKeyword_1_1_4(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// type=TopType
protected class TypeAttribute_TypeAssignment_1_1_6 extends AssignmentToken {
public TypeAttribute_TypeAssignment_1_1_6(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAttributeAccess()
.getTypeAssignment_1_1_6();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("type", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("type");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeAttributeAccess()
.getTypeTopTypeParserRuleCall_1_1_6_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TypeAttribute_ColonColonKeyword_1_1_5(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class TypeAttribute_RightParenthesisKeyword_1_1_7 extends
KeywordToken {
public TypeAttribute_RightParenthesisKeyword_1_1_7(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAttributeAccess()
.getRightParenthesisKeyword_1_1_7();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_TypeAssignment_1_1_6(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "."
protected class TypeAttribute_FullStopKeyword_2 extends KeywordToken {
public TypeAttribute_FullStopKeyword_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAttributeAccess()
.getFullStopKeyword_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeAttribute_Alternatives_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
/************ end Rule TypeAttribute ****************/
/************
* begin Rule CustomAttribute ****************
*
* CustomAttribute: tag=ATOM "(" (value+=Expression (","
* value+=Expression)*)? ")" ".";
*
**/
// tag=ATOM "(" (value+=Expression ("," value+=Expression)*)? ")" "."
protected class CustomAttribute_Group extends GroupToken {
public CustomAttribute_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCustomAttributeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CustomAttribute_FullStopKeyword_4(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getCustomAttributeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// tag=ATOM
protected class CustomAttribute_TagAssignment_0 extends AssignmentToken {
public CustomAttribute_TagAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCustomAttributeAccess()
.getTagAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("tag", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tag");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getCustomAttributeAccess()
.getTagATOMTerminalRuleCall_0_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getCustomAttributeAccess()
.getTagATOMTerminalRuleCall_0_0();
return obj;
}
return null;
}
}
// "("
protected class CustomAttribute_LeftParenthesisKeyword_1 extends
KeywordToken {
public CustomAttribute_LeftParenthesisKeyword_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCustomAttributeAccess()
.getLeftParenthesisKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CustomAttribute_TagAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// (value+=Expression ("," value+=Expression)*)?
protected class CustomAttribute_Group_2 extends GroupToken {
public CustomAttribute_Group_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCustomAttributeAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CustomAttribute_Group_2_1(lastRuleCallOrigin, this,
0, inst);
case 1:
return new CustomAttribute_ValueAssignment_2_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// value+=Expression
protected class CustomAttribute_ValueAssignment_2_0 extends AssignmentToken {
public CustomAttribute_ValueAssignment_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCustomAttributeAccess()
.getValueAssignment_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("value", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("value");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCustomAttributeAccess()
.getValueExpressionParserRuleCall_2_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new CustomAttribute_LeftParenthesisKeyword_1(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ("," value+=Expression)*
protected class CustomAttribute_Group_2_1 extends GroupToken {
public CustomAttribute_Group_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCustomAttributeAccess().getGroup_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CustomAttribute_ValueAssignment_2_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// ","
protected class CustomAttribute_CommaKeyword_2_1_0 extends KeywordToken {
public CustomAttribute_CommaKeyword_2_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCustomAttributeAccess()
.getCommaKeyword_2_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CustomAttribute_Group_2_1(lastRuleCallOrigin, this,
0, inst);
case 1:
return new CustomAttribute_ValueAssignment_2_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// value+=Expression
protected class CustomAttribute_ValueAssignment_2_1_1 extends
AssignmentToken {
public CustomAttribute_ValueAssignment_2_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCustomAttributeAccess()
.getValueAssignment_2_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("value", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("value");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCustomAttributeAccess()
.getValueExpressionParserRuleCall_2_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new CustomAttribute_CommaKeyword_2_1_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class CustomAttribute_RightParenthesisKeyword_3 extends
KeywordToken {
public CustomAttribute_RightParenthesisKeyword_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCustomAttributeAccess()
.getRightParenthesisKeyword_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CustomAttribute_Group_2(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new CustomAttribute_LeftParenthesisKeyword_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// "."
protected class CustomAttribute_FullStopKeyword_4 extends KeywordToken {
public CustomAttribute_FullStopKeyword_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCustomAttributeAccess()
.getFullStopKeyword_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CustomAttribute_RightParenthesisKeyword_3(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
/************ end Rule CustomAttribute ****************/
/************
* begin Rule Function ****************
*
* // Functions Function: name=NAME clauses+=FunctionClause (";"
* clauses+=FunctionClause)* ".";
*
**/
// name=NAME clauses+=FunctionClause (";" clauses+=FunctionClause)* "."
protected class Function_Group extends GroupToken {
public Function_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getFunctionAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Function_FullStopKeyword_3(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getFunctionRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// name=NAME
protected class Function_NameAssignment_0 extends AssignmentToken {
public Function_NameAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFunctionAccess().getNameAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("name", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("name");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getFunctionAccess().getNameNAMEParserRuleCall_0_0(),
value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getFunctionAccess()
.getNameNAMEParserRuleCall_0_0();
return obj;
}
return null;
}
}
// clauses+=FunctionClause
protected class Function_ClausesAssignment_1 extends AssignmentToken {
public Function_ClausesAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFunctionAccess().getClausesAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunctionClause_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("clauses", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("clauses");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFunctionClauseRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getFunctionAccess()
.getClausesFunctionClauseParserRuleCall_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Function_NameAssignment_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// (";" clauses+=FunctionClause)*
protected class Function_Group_2 extends GroupToken {
public Function_Group_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getFunctionAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Function_ClausesAssignment_2_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// ";"
protected class Function_SemicolonKeyword_2_0 extends KeywordToken {
public Function_SemicolonKeyword_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFunctionAccess().getSemicolonKeyword_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Function_Group_2(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Function_ClausesAssignment_1(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// clauses+=FunctionClause
protected class Function_ClausesAssignment_2_1 extends AssignmentToken {
public Function_ClausesAssignment_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFunctionAccess().getClausesAssignment_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunctionClause_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("clauses", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("clauses");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFunctionClauseRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getFunctionAccess()
.getClausesFunctionClauseParserRuleCall_2_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Function_SemicolonKeyword_2_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// "."
protected class Function_FullStopKeyword_3 extends KeywordToken {
public Function_FullStopKeyword_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFunctionAccess().getFullStopKeyword_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Function_Group_2(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Function_ClausesAssignment_1(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
/************ end Rule Function ****************/
/************
* begin Rule FunctionClause ****************
*
* // validate that all names for a function are identical FunctionClause:
* ref=[Function|NAME]? "(" params=Expressions? ")" ("when"? guard=Guard)?
* // no 'when' if guard is a macro "->" body=Expressions;
*
**/
// ref=[Function|NAME]? "(" params=Expressions? ")" ("when"? guard=Guard)?
// // no 'when' if guard is a macro
// "->" body=Expressions
protected class FunctionClause_Group extends GroupToken {
public FunctionClause_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getFunctionClauseAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunctionClause_BodyAssignment_6(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getFunctionClauseRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// ref=[Function|NAME]?
protected class FunctionClause_RefAssignment_0 extends AssignmentToken {
public FunctionClause_RefAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFunctionClauseAccess().getRefAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("ref", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ref");
if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFunctionClauseAccess()
.getRefFunctionCrossReference_0_0().getType()
.getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getFunctionClauseAccess()
.getRefFunctionCrossReference_0_0();
return obj;
}
}
return null;
}
}
// "("
protected class FunctionClause_LeftParenthesisKeyword_1 extends
KeywordToken {
public FunctionClause_LeftParenthesisKeyword_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFunctionClauseAccess()
.getLeftParenthesisKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunctionClause_RefAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index - 1, inst);
}
}
}
// params=Expressions?
protected class FunctionClause_ParamsAssignment_2 extends AssignmentToken {
public FunctionClause_ParamsAssignment_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFunctionClauseAccess()
.getParamsAssignment_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("params", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("params");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionsRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getFunctionClauseAccess()
.getParamsExpressionsParserRuleCall_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new FunctionClause_LeftParenthesisKeyword_1(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class FunctionClause_RightParenthesisKeyword_3 extends
KeywordToken {
public FunctionClause_RightParenthesisKeyword_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFunctionClauseAccess()
.getRightParenthesisKeyword_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunctionClause_ParamsAssignment_2(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new FunctionClause_LeftParenthesisKeyword_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// ("when"? guard=Guard)?
protected class FunctionClause_Group_4 extends GroupToken {
public FunctionClause_Group_4(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getFunctionClauseAccess().getGroup_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunctionClause_GuardAssignment_4_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// guard=Guard
protected class FunctionClause_GuardAssignment_4_1 extends AssignmentToken {
public FunctionClause_GuardAssignment_4_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFunctionClauseAccess()
.getGuardAssignment_4_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Guard_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("guard", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("guard");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getGuardRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getFunctionClauseAccess()
.getGuardGuardParserRuleCall_4_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new FunctionClause_RightParenthesisKeyword_3(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// "->"
protected class FunctionClause_HyphenMinusGreaterThanSignKeyword_5 extends
KeywordToken {
public FunctionClause_HyphenMinusGreaterThanSignKeyword_5(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFunctionClauseAccess()
.getHyphenMinusGreaterThanSignKeyword_5();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunctionClause_Group_4(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new FunctionClause_RightParenthesisKeyword_3(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// body=Expressions
protected class FunctionClause_BodyAssignment_6 extends AssignmentToken {
public FunctionClause_BodyAssignment_6(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFunctionClauseAccess()
.getBodyAssignment_6();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("body", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("body");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionsRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getFunctionClauseAccess()
.getBodyExpressionsParserRuleCall_6_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new FunctionClause_HyphenMinusGreaterThanSignKeyword_5(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule FunctionClause ****************/
/************
* begin Rule Guard ****************
*
* Guard: guards+=Expressions (";" guards+=Expressions)*;
*
**/
// guards+=Expressions (";" guards+=Expressions)*
protected class Guard_Group extends GroupToken {
public Guard_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getGuardAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Guard_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Guard_GuardsAssignment_0(lastRuleCallOrigin, this,
1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getGuardRule().getType()
.getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// guards+=Expressions
protected class Guard_GuardsAssignment_0 extends AssignmentToken {
public Guard_GuardsAssignment_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getGuardAccess().getGuardsAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("guards", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("guards");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionsRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getGuardAccess()
.getGuardsExpressionsParserRuleCall_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// (";" guards+=Expressions)*
protected class Guard_Group_1 extends GroupToken {
public Guard_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getGuardAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Guard_GuardsAssignment_1_1(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
}
// ";"
protected class Guard_SemicolonKeyword_1_0 extends KeywordToken {
public Guard_SemicolonKeyword_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getGuardAccess().getSemicolonKeyword_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Guard_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Guard_GuardsAssignment_0(lastRuleCallOrigin, this,
1, inst);
default:
return null;
}
}
}
// guards+=Expressions
protected class Guard_GuardsAssignment_1_1 extends AssignmentToken {
public Guard_GuardsAssignment_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getGuardAccess().getGuardsAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("guards", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("guards");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionsRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getGuardAccess()
.getGuardsExpressionsParserRuleCall_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Guard_SemicolonKeyword_1_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule Guard ****************/
/************
* begin Rule Expressions ****************
*
* Expressions: exprs+=LExpression ("," exprs+=LExpression)*;
*
**/
// exprs+=LExpression ("," exprs+=LExpression)*
protected class Expressions_Group extends GroupToken {
public Expressions_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpressionsAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_Group_1(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new Expressions_ExprsAssignment_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpressionsRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// exprs+=LExpression
protected class Expressions_ExprsAssignment_0 extends AssignmentToken {
public Expressions_ExprsAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpressionsAccess().getExprsAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LExpression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("exprs", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("exprs");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getLExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExpressionsAccess()
.getExprsLExpressionParserRuleCall_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// ("," exprs+=LExpression)*
protected class Expressions_Group_1 extends GroupToken {
public Expressions_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpressionsAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_ExprsAssignment_1_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// ","
protected class Expressions_CommaKeyword_1_0 extends KeywordToken {
public Expressions_CommaKeyword_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExpressionsAccess().getCommaKeyword_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_Group_1(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new Expressions_ExprsAssignment_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// exprs+=LExpression
protected class Expressions_ExprsAssignment_1_1 extends AssignmentToken {
public Expressions_ExprsAssignment_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpressionsAccess()
.getExprsAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LExpression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("exprs", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("exprs");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getLExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExpressionsAccess()
.getExprsLExpressionParserRuleCall_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Expressions_CommaKeyword_1_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule Expressions ****************/
/************
* begin Rule LExpression ****************
*
* LExpression returns Expression: => line?=LineExpr expr=Expression |
* Expression;
*
**/
// => line?=LineExpr expr=Expression | Expression
protected class LExpression_Alternatives extends AlternativesToken {
public LExpression_Alternatives(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getLExpressionAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LExpression_Group_0(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new LExpression_ExpressionParserRuleCall_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr400Access()
.getAddOpOpLeftAction_1_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getAtomAction_0_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr300Access().getBinOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExprMaxAccess().getBlockExprAction_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getCaseExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpressionAccess().getCatchExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getCondExprAccess().getCondExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTupleRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr700Access().getFunCallTargetAction_1_0_1()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getInlineFunRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getFunRefRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getIfExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLetExprAccess().getLetExprAction_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr100Access()
.getMatchExprOpLeftAction_1_0_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr500Access().getMultOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getQueryExprAccess().getQueryExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getReceiveExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr800Access()
.getRemoteTargetModuleAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTryExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getUnaryExprAccess().getUnaryExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => line?=LineExpr expr=Expression
protected class LExpression_Group_0 extends GroupToken {
public LExpression_Group_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getLExpressionAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LExpression_ExprAssignment_0_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getLExpressionRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => line?=LineExpr
protected class LExpression_LineAssignment_0_0 extends AssignmentToken {
public LExpression_LineAssignment_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getLExpressionAccess().getLineAssignment_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("line", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("line");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getLExpressionAccess()
.getLineLineExprParserRuleCall_0_0_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getLExpressionAccess()
.getLineLineExprParserRuleCall_0_0_0();
return obj;
}
return null;
}
}
// expr=Expression
protected class LExpression_ExprAssignment_0_1 extends AssignmentToken {
public LExpression_ExprAssignment_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getLExpressionAccess().getExprAssignment_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("expr", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("expr");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getLExpressionAccess()
.getExprExpressionParserRuleCall_0_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new LExpression_LineAssignment_0_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// Expression
protected class LExpression_ExpressionParserRuleCall_1 extends
RuleCallToken {
public LExpression_ExpressionParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getLExpressionAccess()
.getExpressionParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(Expression_Alternatives.class,
eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
/************ end Rule LExpression ****************/
/************
* begin Rule Expression ****************
*
* Expression: {CatchExpr} "catch" expr=Expression | Expr100;
*
**/
// {CatchExpr} "catch" expr=Expression | Expr100
protected class Expression_Alternatives extends AlternativesToken {
public Expression_Alternatives(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getExpressionAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Group_0(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Expression_Expr100ParserRuleCall_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr400Access()
.getAddOpOpLeftAction_1_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getAtomAction_0_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr300Access().getBinOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExprMaxAccess().getBlockExprAction_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getCaseExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpressionAccess().getCatchExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getCondExprAccess().getCondExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTupleRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr700Access().getFunCallTargetAction_1_0_1()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getInlineFunRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getFunRefRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getIfExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLetExprAccess().getLetExprAction_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr100Access()
.getMatchExprOpLeftAction_1_0_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr500Access().getMultOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getQueryExprAccess().getQueryExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getReceiveExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr800Access()
.getRemoteTargetModuleAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTryExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getUnaryExprAccess().getUnaryExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {CatchExpr} "catch" expr=Expression
protected class Expression_Group_0 extends GroupToken {
public Expression_Group_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpressionAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_ExprAssignment_0_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpressionAccess()
.getCatchExprAction_0_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {CatchExpr}
protected class Expression_CatchExprAction_0_0 extends ActionToken {
public Expression_CatchExprAction_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getExpressionAccess().getCatchExprAction_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// "catch"
protected class Expression_CatchKeyword_0_1 extends KeywordToken {
public Expression_CatchKeyword_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExpressionAccess().getCatchKeyword_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_CatchExprAction_0_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// expr=Expression
protected class Expression_ExprAssignment_0_2 extends AssignmentToken {
public Expression_ExprAssignment_0_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpressionAccess().getExprAssignment_0_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("expr", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("expr");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExpressionAccess()
.getExprExpressionParserRuleCall_0_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Expression_CatchKeyword_0_1(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// Expr100
protected class Expression_Expr100ParserRuleCall_1 extends RuleCallToken {
public Expression_Expr100ParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExpressionAccess()
.getExpr100ParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr100_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(Expr100_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
/************ end Rule Expression ****************/
/************
* begin Rule Expr100 ****************
*
* // right-associative Expr100 returns Expression: Expr150
* ({MatchExpr.opLeft=current} op="=" opRight=Expr100 |
* {BinOp.opLeft=current} op=SENDOP opRight=Expr100)?;
*
**/
// Expr150 ({MatchExpr.opLeft=current} op="=" opRight=Expr100 |
// {BinOp.opLeft=current} op=SENDOP opRight=Expr100)?
protected class Expr100_Group extends GroupToken {
public Expr100_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr100Access().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr100_Alternatives_1(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new Expr100_Expr150ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr400Access()
.getAddOpOpLeftAction_1_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getAtomAction_0_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr300Access().getBinOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExprMaxAccess().getBlockExprAction_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getCaseExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpressionAccess().getCatchExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getCondExprAccess().getCondExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTupleRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr700Access().getFunCallTargetAction_1_0_1()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getInlineFunRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getFunRefRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getIfExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLetExprAccess().getLetExprAction_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr100Access()
.getMatchExprOpLeftAction_1_0_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr500Access().getMultOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getQueryExprAccess().getQueryExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getReceiveExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr800Access()
.getRemoteTargetModuleAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTryExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getUnaryExprAccess().getUnaryExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// Expr150
protected class Expr100_Expr150ParserRuleCall_0 extends RuleCallToken {
public Expr100_Expr150ParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExpr100Access()
.getExpr150ParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr150_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(Expr150_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// ({MatchExpr.opLeft=current} op="=" opRight=Expr100 |
// {BinOp.opLeft=current} op=SENDOP opRight=Expr100)?
protected class Expr100_Alternatives_1 extends AlternativesToken {
public Expr100_Alternatives_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getExpr100Access().getAlternatives_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr100_Group_1_0(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Expr100_Group_1_1(lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr100Access()
.getBinOpOpLeftAction_1_1_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr100Access()
.getMatchExprOpLeftAction_1_0_0().getType()
.getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {MatchExpr.opLeft=current} op="=" opRight=Expr100
protected class Expr100_Group_1_0 extends GroupToken {
public Expr100_Group_1_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr100Access().getGroup_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr100_OpRightAssignment_1_0_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr100Access()
.getMatchExprOpLeftAction_1_0_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {MatchExpr.opLeft=current}
protected class Expr100_MatchExprOpLeftAction_1_0_0 extends ActionToken {
public Expr100_MatchExprOpLeftAction_1_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getExpr100Access()
.getMatchExprOpLeftAction_1_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr100_Expr150ParserRuleCall_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
final Object val = eObjectConsumer.getConsumable("opLeft", false);
if (val == null) {
return null;
}
if (!eObjectConsumer.isConsumedWithLastConsumtion("opLeft")) {
return null;
}
return createEObjectConsumer((EObject) val);
}
}
// op="="
protected class Expr100_OpAssignment_1_0_1 extends AssignmentToken {
public Expr100_OpAssignment_1_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr100Access().getOpAssignment_1_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr100_MatchExprOpLeftAction_1_0_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("op", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getExpr100Access().getOpEqualsSignKeyword_1_0_1_0(),
value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getExpr100Access()
.getOpEqualsSignKeyword_1_0_1_0();
return obj;
}
return null;
}
}
// opRight=Expr100
protected class Expr100_OpRightAssignment_1_0_2 extends AssignmentToken {
public Expr100_OpRightAssignment_1_0_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr100Access()
.getOpRightAssignment_1_0_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr100_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("opRight", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("opRight");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpr100Rule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExpr100Access()
.getOpRightExpr100ParserRuleCall_1_0_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Expr100_OpAssignment_1_0_1(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// {BinOp.opLeft=current} op=SENDOP opRight=Expr100
protected class Expr100_Group_1_1 extends GroupToken {
public Expr100_Group_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr100Access().getGroup_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr100_OpRightAssignment_1_1_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr100Access()
.getBinOpOpLeftAction_1_1_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {BinOp.opLeft=current}
protected class Expr100_BinOpOpLeftAction_1_1_0 extends ActionToken {
public Expr100_BinOpOpLeftAction_1_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getExpr100Access()
.getBinOpOpLeftAction_1_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr100_Expr150ParserRuleCall_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
final Object val = eObjectConsumer.getConsumable("opLeft", false);
if (val == null) {
return null;
}
if (!eObjectConsumer.isConsumedWithLastConsumtion("opLeft")) {
return null;
}
return createEObjectConsumer((EObject) val);
}
}
// op=SENDOP
protected class Expr100_OpAssignment_1_1_1 extends AssignmentToken {
public Expr100_OpAssignment_1_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr100Access().getOpAssignment_1_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr100_BinOpOpLeftAction_1_1_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("op", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getExpr100Access().getOpSENDOPParserRuleCall_1_1_1_0(),
value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getExpr100Access()
.getOpSENDOPParserRuleCall_1_1_1_0();
return obj;
}
return null;
}
}
// opRight=Expr100
protected class Expr100_OpRightAssignment_1_1_2 extends AssignmentToken {
public Expr100_OpRightAssignment_1_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr100Access()
.getOpRightAssignment_1_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr100_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("opRight", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("opRight");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpr100Rule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExpr100Access()
.getOpRightExpr100ParserRuleCall_1_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Expr100_OpAssignment_1_1_1(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule Expr100 ****************/
/************
* begin Rule Expr150 ****************
*
* Expr150 returns Expression: Expr160 ({BinOp.opLeft=current} op="orelse"
* opRight=Expr160)*;
*
**/
// Expr160 ({BinOp.opLeft=current} op="orelse" opRight=Expr160)*
protected class Expr150_Group extends GroupToken {
public Expr150_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr150Access().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr150_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Expr150_Expr160ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr400Access()
.getAddOpOpLeftAction_1_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getAtomAction_0_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr100Access().getBinOpOpLeftAction_1_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExprMaxAccess().getBlockExprAction_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getCaseExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpressionAccess().getCatchExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getCondExprAccess().getCondExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTupleRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr700Access().getFunCallTargetAction_1_0_1()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getInlineFunRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getFunRefRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getIfExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLetExprAccess().getLetExprAction_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr100Access()
.getMatchExprOpLeftAction_1_0_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr500Access().getMultOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getQueryExprAccess().getQueryExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getReceiveExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr800Access()
.getRemoteTargetModuleAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTryExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getUnaryExprAccess().getUnaryExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// Expr160
protected class Expr150_Expr160ParserRuleCall_0 extends RuleCallToken {
public Expr150_Expr160ParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExpr150Access()
.getExpr160ParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr160_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(Expr160_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// ({BinOp.opLeft=current} op="orelse" opRight=Expr160)*
protected class Expr150_Group_1 extends GroupToken {
public Expr150_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr150Access().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr150_OpRightAssignment_1_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr150Access()
.getBinOpOpLeftAction_1_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {BinOp.opLeft=current}
protected class Expr150_BinOpOpLeftAction_1_0 extends ActionToken {
public Expr150_BinOpOpLeftAction_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getExpr150Access().getBinOpOpLeftAction_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr150_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Expr150_Expr160ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
final Object val = eObjectConsumer.getConsumable("opLeft", false);
if (val == null) {
return null;
}
if (!eObjectConsumer.isConsumedWithLastConsumtion("opLeft")) {
return null;
}
return createEObjectConsumer((EObject) val);
}
}
// op="orelse"
protected class Expr150_OpAssignment_1_1 extends AssignmentToken {
public Expr150_OpAssignment_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr150Access().getOpAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr150_BinOpOpLeftAction_1_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("op", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
if (keywordSerializer
.isValid(obj.getEObject(), grammarAccess.getExpr150Access()
.getOpOrelseKeyword_1_1_0(), value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getExpr150Access()
.getOpOrelseKeyword_1_1_0();
return obj;
}
return null;
}
}
// opRight=Expr160
protected class Expr150_OpRightAssignment_1_2 extends AssignmentToken {
public Expr150_OpRightAssignment_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr150Access().getOpRightAssignment_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr160_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("opRight", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("opRight");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpr160Rule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExpr150Access()
.getOpRightExpr160ParserRuleCall_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Expr150_OpAssignment_1_1(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule Expr150 ****************/
/************
* begin Rule Expr160 ****************
*
* Expr160 returns Expression: Expr200 ({BinOp.opLeft=current} op="andalso"
* opRight2=Expr200)*;
*
**/
// Expr200 ({BinOp.opLeft=current} op="andalso" opRight2=Expr200)*
protected class Expr160_Group extends GroupToken {
public Expr160_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr160Access().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr160_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Expr160_Expr200ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr400Access()
.getAddOpOpLeftAction_1_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getAtomAction_0_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr150Access().getBinOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExprMaxAccess().getBlockExprAction_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getCaseExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpressionAccess().getCatchExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getCondExprAccess().getCondExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTupleRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr700Access().getFunCallTargetAction_1_0_1()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getInlineFunRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getFunRefRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getIfExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLetExprAccess().getLetExprAction_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr100Access()
.getMatchExprOpLeftAction_1_0_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr500Access().getMultOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getQueryExprAccess().getQueryExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getReceiveExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr800Access()
.getRemoteTargetModuleAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTryExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getUnaryExprAccess().getUnaryExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// Expr200
protected class Expr160_Expr200ParserRuleCall_0 extends RuleCallToken {
public Expr160_Expr200ParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExpr160Access()
.getExpr200ParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr200_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(Expr200_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// ({BinOp.opLeft=current} op="andalso" opRight2=Expr200)*
protected class Expr160_Group_1 extends GroupToken {
public Expr160_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr160Access().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr160_OpRight2Assignment_1_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr160Access()
.getBinOpOpLeftAction_1_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {BinOp.opLeft=current}
protected class Expr160_BinOpOpLeftAction_1_0 extends ActionToken {
public Expr160_BinOpOpLeftAction_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getExpr160Access().getBinOpOpLeftAction_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr160_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Expr160_Expr200ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
final Object val = eObjectConsumer.getConsumable("opLeft", false);
if (val == null) {
return null;
}
if (!eObjectConsumer.isConsumedWithLastConsumtion("opLeft")) {
return null;
}
return createEObjectConsumer((EObject) val);
}
}
// op="andalso"
protected class Expr160_OpAssignment_1_1 extends AssignmentToken {
public Expr160_OpAssignment_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr160Access().getOpAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr160_BinOpOpLeftAction_1_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("op", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getExpr160Access().getOpAndalsoKeyword_1_1_0(), value,
null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getExpr160Access()
.getOpAndalsoKeyword_1_1_0();
return obj;
}
return null;
}
}
// opRight2=Expr200
protected class Expr160_OpRight2Assignment_1_2 extends AssignmentToken {
public Expr160_OpRight2Assignment_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr160Access().getOpRight2Assignment_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr200_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("opRight2", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("opRight2");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpr200Rule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExpr160Access()
.getOpRight2Expr200ParserRuleCall_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Expr160_OpAssignment_1_1(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule Expr160 ****************/
/************
* begin Rule Expr200 ****************
*
* // non-associative Expr200 returns Expression: Expr300
* ({BinOp.opLeft=current} op=COMPOP opRight=Expr300)?;
*
**/
// Expr300 ({BinOp.opLeft=current} op=COMPOP opRight=Expr300)?
protected class Expr200_Group extends GroupToken {
public Expr200_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr200Access().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr200_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Expr200_Expr300ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr400Access()
.getAddOpOpLeftAction_1_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getAtomAction_0_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr160Access().getBinOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExprMaxAccess().getBlockExprAction_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getCaseExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpressionAccess().getCatchExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getCondExprAccess().getCondExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTupleRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr700Access().getFunCallTargetAction_1_0_1()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getInlineFunRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getFunRefRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getIfExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLetExprAccess().getLetExprAction_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr100Access()
.getMatchExprOpLeftAction_1_0_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr500Access().getMultOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getQueryExprAccess().getQueryExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getReceiveExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr800Access()
.getRemoteTargetModuleAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTryExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getUnaryExprAccess().getUnaryExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// Expr300
protected class Expr200_Expr300ParserRuleCall_0 extends RuleCallToken {
public Expr200_Expr300ParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExpr200Access()
.getExpr300ParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr300_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(Expr300_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// ({BinOp.opLeft=current} op=COMPOP opRight=Expr300)?
protected class Expr200_Group_1 extends GroupToken {
public Expr200_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr200Access().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr200_OpRightAssignment_1_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr200Access()
.getBinOpOpLeftAction_1_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {BinOp.opLeft=current}
protected class Expr200_BinOpOpLeftAction_1_0 extends ActionToken {
public Expr200_BinOpOpLeftAction_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getExpr200Access().getBinOpOpLeftAction_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr200_Expr300ParserRuleCall_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
final Object val = eObjectConsumer.getConsumable("opLeft", false);
if (val == null) {
return null;
}
if (!eObjectConsumer.isConsumedWithLastConsumtion("opLeft")) {
return null;
}
return createEObjectConsumer((EObject) val);
}
}
// op=COMPOP
protected class Expr200_OpAssignment_1_1 extends AssignmentToken {
public Expr200_OpAssignment_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr200Access().getOpAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr200_BinOpOpLeftAction_1_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("op", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getExpr200Access().getOpCOMPOPParserRuleCall_1_1_0(),
value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getExpr200Access()
.getOpCOMPOPParserRuleCall_1_1_0();
return obj;
}
return null;
}
}
// opRight=Expr300
protected class Expr200_OpRightAssignment_1_2 extends AssignmentToken {
public Expr200_OpRightAssignment_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr200Access().getOpRightAssignment_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr300_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("opRight", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("opRight");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpr300Rule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExpr200Access()
.getOpRightExpr300ParserRuleCall_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Expr200_OpAssignment_1_1(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule Expr200 ****************/
/************
* begin Rule Expr300 ****************
*
* Expr300 returns Expression: Expr400 ({BinOp.opLeft=current} op=LISTOP
* opRight=Expr400)*;
*
**/
// Expr400 ({BinOp.opLeft=current} op=LISTOP opRight=Expr400)*
protected class Expr300_Group extends GroupToken {
public Expr300_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr300Access().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr300_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Expr300_Expr400ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr400Access()
.getAddOpOpLeftAction_1_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getAtomAction_0_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr200Access().getBinOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExprMaxAccess().getBlockExprAction_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getCaseExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpressionAccess().getCatchExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getCondExprAccess().getCondExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTupleRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr700Access().getFunCallTargetAction_1_0_1()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getInlineFunRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getFunRefRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getIfExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLetExprAccess().getLetExprAction_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr100Access()
.getMatchExprOpLeftAction_1_0_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr500Access().getMultOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getQueryExprAccess().getQueryExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getReceiveExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr800Access()
.getRemoteTargetModuleAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTryExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getUnaryExprAccess().getUnaryExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// Expr400
protected class Expr300_Expr400ParserRuleCall_0 extends RuleCallToken {
public Expr300_Expr400ParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExpr300Access()
.getExpr400ParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr400_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(Expr400_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// ({BinOp.opLeft=current} op=LISTOP opRight=Expr400)*
protected class Expr300_Group_1 extends GroupToken {
public Expr300_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr300Access().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr300_OpRightAssignment_1_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr300Access()
.getBinOpOpLeftAction_1_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {BinOp.opLeft=current}
protected class Expr300_BinOpOpLeftAction_1_0 extends ActionToken {
public Expr300_BinOpOpLeftAction_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getExpr300Access().getBinOpOpLeftAction_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr300_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Expr300_Expr400ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
final Object val = eObjectConsumer.getConsumable("opLeft", false);
if (val == null) {
return null;
}
if (!eObjectConsumer.isConsumedWithLastConsumtion("opLeft")) {
return null;
}
return createEObjectConsumer((EObject) val);
}
}
// op=LISTOP
protected class Expr300_OpAssignment_1_1 extends AssignmentToken {
public Expr300_OpAssignment_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr300Access().getOpAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr300_BinOpOpLeftAction_1_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("op", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getExpr300Access().getOpLISTOPParserRuleCall_1_1_0(),
value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getExpr300Access()
.getOpLISTOPParserRuleCall_1_1_0();
return obj;
}
return null;
}
}
// opRight=Expr400
protected class Expr300_OpRightAssignment_1_2 extends AssignmentToken {
public Expr300_OpRightAssignment_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr300Access().getOpRightAssignment_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr400_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("opRight", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("opRight");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpr400Rule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExpr300Access()
.getOpRightExpr400ParserRuleCall_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Expr300_OpAssignment_1_1(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule Expr300 ****************/
/************
* begin Rule Expr400 ****************
*
* Expr400 returns Expression: Expr500 ({AddOp.opLeft=current} op=ADDOP
* opRight=Expr500)*;
*
**/
// Expr500 ({AddOp.opLeft=current} op=ADDOP opRight=Expr500)*
protected class Expr400_Group extends GroupToken {
public Expr400_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr400Access().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr400_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Expr400_Expr500ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr400Access()
.getAddOpOpLeftAction_1_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getAtomAction_0_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr300Access().getBinOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExprMaxAccess().getBlockExprAction_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getCaseExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpressionAccess().getCatchExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getCondExprAccess().getCondExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTupleRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr700Access().getFunCallTargetAction_1_0_1()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getInlineFunRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getFunRefRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getIfExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLetExprAccess().getLetExprAction_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr100Access()
.getMatchExprOpLeftAction_1_0_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr500Access().getMultOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getQueryExprAccess().getQueryExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getReceiveExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr800Access()
.getRemoteTargetModuleAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTryExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getUnaryExprAccess().getUnaryExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// Expr500
protected class Expr400_Expr500ParserRuleCall_0 extends RuleCallToken {
public Expr400_Expr500ParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExpr400Access()
.getExpr500ParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr500_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(Expr500_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// ({AddOp.opLeft=current} op=ADDOP opRight=Expr500)*
protected class Expr400_Group_1 extends GroupToken {
public Expr400_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr400Access().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr400_OpRightAssignment_1_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr400Access()
.getAddOpOpLeftAction_1_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {AddOp.opLeft=current}
protected class Expr400_AddOpOpLeftAction_1_0 extends ActionToken {
public Expr400_AddOpOpLeftAction_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getExpr400Access().getAddOpOpLeftAction_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr400_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Expr400_Expr500ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
final Object val = eObjectConsumer.getConsumable("opLeft", false);
if (val == null) {
return null;
}
if (!eObjectConsumer.isConsumedWithLastConsumtion("opLeft")) {
return null;
}
return createEObjectConsumer((EObject) val);
}
}
// op=ADDOP
protected class Expr400_OpAssignment_1_1 extends AssignmentToken {
public Expr400_OpAssignment_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr400Access().getOpAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr400_AddOpOpLeftAction_1_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("op", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getExpr400Access().getOpADDOPParserRuleCall_1_1_0(),
value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getExpr400Access()
.getOpADDOPParserRuleCall_1_1_0();
return obj;
}
return null;
}
}
// opRight=Expr500
protected class Expr400_OpRightAssignment_1_2 extends AssignmentToken {
public Expr400_OpRightAssignment_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr400Access().getOpRightAssignment_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr500_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("opRight", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("opRight");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpr500Rule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExpr400Access()
.getOpRightExpr500ParserRuleCall_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Expr400_OpAssignment_1_1(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule Expr400 ****************/
/************
* begin Rule Expr500 ****************
*
* Expr500 returns Expression: UnaryExpr ({MultOp.opLeft=current} op=MULTOP
* opRight=UnaryExpr)*;
*
**/
// UnaryExpr ({MultOp.opLeft=current} op=MULTOP opRight=UnaryExpr)*
protected class Expr500_Group extends GroupToken {
public Expr500_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr500Access().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr500_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Expr500_UnaryExprParserRuleCall_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr400Access()
.getAddOpOpLeftAction_1_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getAtomAction_0_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr300Access().getBinOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExprMaxAccess().getBlockExprAction_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getCaseExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpressionAccess().getCatchExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getCondExprAccess().getCondExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTupleRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr700Access().getFunCallTargetAction_1_0_1()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getInlineFunRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getFunRefRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getIfExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLetExprAccess().getLetExprAction_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr100Access()
.getMatchExprOpLeftAction_1_0_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr500Access().getMultOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getQueryExprAccess().getQueryExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getReceiveExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr800Access()
.getRemoteTargetModuleAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTryExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getUnaryExprAccess().getUnaryExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// UnaryExpr
protected class Expr500_UnaryExprParserRuleCall_0 extends RuleCallToken {
public Expr500_UnaryExprParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExpr500Access()
.getUnaryExprParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new UnaryExpr_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(UnaryExpr_Alternatives.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// ({MultOp.opLeft=current} op=MULTOP opRight=UnaryExpr)*
protected class Expr500_Group_1 extends GroupToken {
public Expr500_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr500Access().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr500_OpRightAssignment_1_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr500Access()
.getMultOpOpLeftAction_1_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {MultOp.opLeft=current}
protected class Expr500_MultOpOpLeftAction_1_0 extends ActionToken {
public Expr500_MultOpOpLeftAction_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getExpr500Access().getMultOpOpLeftAction_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr500_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Expr500_UnaryExprParserRuleCall_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
final Object val = eObjectConsumer.getConsumable("opLeft", false);
if (val == null) {
return null;
}
if (!eObjectConsumer.isConsumedWithLastConsumtion("opLeft")) {
return null;
}
return createEObjectConsumer((EObject) val);
}
}
// op=MULTOP
protected class Expr500_OpAssignment_1_1 extends AssignmentToken {
public Expr500_OpAssignment_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr500Access().getOpAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr500_MultOpOpLeftAction_1_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("op", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getExpr500Access().getOpMULTOPParserRuleCall_1_1_0(),
value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getExpr500Access()
.getOpMULTOPParserRuleCall_1_1_0();
return obj;
}
return null;
}
}
// opRight=UnaryExpr
protected class Expr500_OpRightAssignment_1_2 extends AssignmentToken {
public Expr500_OpRightAssignment_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr500Access().getOpRightAssignment_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new UnaryExpr_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("opRight", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("opRight");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getUnaryExprRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExpr500Access()
.getOpRightUnaryExprParserRuleCall_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Expr500_OpAssignment_1_1(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule Expr500 ****************/
/************
* begin Rule UnaryExpr ****************
*
* UnaryExpr returns Expression: {UnaryExpr} op=PREFIXOP operand=Expr700 |
* Expr700;
*
**/
// {UnaryExpr} op=PREFIXOP operand=Expr700 | Expr700
protected class UnaryExpr_Alternatives extends AlternativesToken {
public UnaryExpr_Alternatives(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getUnaryExprAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new UnaryExpr_Group_0(lastRuleCallOrigin, this, 0, inst);
case 1:
return new UnaryExpr_Expr700ParserRuleCall_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr400Access()
.getAddOpOpLeftAction_1_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getAtomAction_0_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr300Access().getBinOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExprMaxAccess().getBlockExprAction_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getCaseExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpressionAccess().getCatchExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getCondExprAccess().getCondExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTupleRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr700Access().getFunCallTargetAction_1_0_1()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getInlineFunRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getFunRefRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getIfExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLetExprAccess().getLetExprAction_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr100Access()
.getMatchExprOpLeftAction_1_0_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr500Access().getMultOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getQueryExprAccess().getQueryExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getReceiveExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr800Access()
.getRemoteTargetModuleAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTryExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getUnaryExprAccess().getUnaryExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {UnaryExpr} op=PREFIXOP operand=Expr700
protected class UnaryExpr_Group_0 extends GroupToken {
public UnaryExpr_Group_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getUnaryExprAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new UnaryExpr_OperandAssignment_0_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getUnaryExprAccess()
.getUnaryExprAction_0_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {UnaryExpr}
protected class UnaryExpr_UnaryExprAction_0_0 extends ActionToken {
public UnaryExpr_UnaryExprAction_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getUnaryExprAccess().getUnaryExprAction_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// op=PREFIXOP
protected class UnaryExpr_OpAssignment_0_1 extends AssignmentToken {
public UnaryExpr_OpAssignment_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getUnaryExprAccess().getOpAssignment_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new UnaryExpr_UnaryExprAction_0_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("op", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getUnaryExprAccess().getOpPREFIXOPParserRuleCall_0_1_0(),
value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getUnaryExprAccess()
.getOpPREFIXOPParserRuleCall_0_1_0();
return obj;
}
return null;
}
}
// operand=Expr700
protected class UnaryExpr_OperandAssignment_0_2 extends AssignmentToken {
public UnaryExpr_OperandAssignment_0_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getUnaryExprAccess()
.getOperandAssignment_0_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr700_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("operand", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("operand");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpr700Rule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getUnaryExprAccess()
.getOperandExpr700ParserRuleCall_0_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new UnaryExpr_OpAssignment_0_1(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// Expr700
protected class UnaryExpr_Expr700ParserRuleCall_1 extends RuleCallToken {
public UnaryExpr_Expr700ParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getUnaryExprAccess()
.getExpr700ParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr700_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(Expr700_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
/************ end Rule UnaryExpr ****************/
/************
* begin Rule Expr700 ****************
*
* Expr700 returns Expression: Expr800 // TODO can this be expressed better?
* // we can have ?MACRO(args)(args2) ("(" {FunCall.target=current}
* args=Expressions? ")" ("(" args2=Expressions? ")")? | ("#"
* {RecordExpr.ref=current} record=RecordExpr)+)?;
*
**/
// Expr800 // TODO can this be expressed better?
// // we can have ?MACRO(args)(args2)
// ("(" {FunCall.target=current} args=Expressions? ")" ("("
// args2=Expressions? ")")? | ("#" {RecordExpr.ref=current}
// record=RecordExpr)+)?
protected class Expr700_Group extends GroupToken {
public Expr700_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr700Access().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr700_Alternatives_1(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new Expr700_Expr800ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr400Access()
.getAddOpOpLeftAction_1_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getAtomAction_0_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr300Access().getBinOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExprMaxAccess().getBlockExprAction_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getCaseExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpressionAccess().getCatchExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getCondExprAccess().getCondExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTupleRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr700Access().getFunCallTargetAction_1_0_1()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getInlineFunRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getFunRefRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getIfExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLetExprAccess().getLetExprAction_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr100Access()
.getMatchExprOpLeftAction_1_0_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr500Access().getMultOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getQueryExprAccess().getQueryExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getReceiveExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr800Access()
.getRemoteTargetModuleAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTryExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getUnaryExprAccess().getUnaryExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// Expr800
protected class Expr700_Expr800ParserRuleCall_0 extends RuleCallToken {
public Expr700_Expr800ParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExpr700Access()
.getExpr800ParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr800_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(Expr800_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// // TODO can this be expressed better?
// // we can have ?MACRO(args)(args2)
// ("(" {FunCall.target=current} args=Expressions? ")" ("("
// args2=Expressions? ")")? | ("#" {RecordExpr.ref=current}
// record=RecordExpr)+)?
protected class Expr700_Alternatives_1 extends AlternativesToken {
public Expr700_Alternatives_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getExpr700Access().getAlternatives_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr700_Group_1_0(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Expr700_Group_1_1(lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr700Access()
.getFunCallTargetAction_1_0_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr700Access().getRecordExprRefAction_1_1_1()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// // TODO can this be expressed better?
// // we can have ?MACRO(args)(args2)
// "(" {FunCall.target=current} args=Expressions? ")" ("("
// args2=Expressions? ")")?
protected class Expr700_Group_1_0 extends GroupToken {
public Expr700_Group_1_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr700Access().getGroup_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr700_Group_1_0_4(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new Expr700_RightParenthesisKeyword_1_0_3(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr700Access()
.getFunCallTargetAction_1_0_1().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// // TODO can this be expressed better?
// // we can have ?MACRO(args)(args2)
// "("
protected class Expr700_LeftParenthesisKeyword_1_0_0 extends KeywordToken {
public Expr700_LeftParenthesisKeyword_1_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExpr700Access()
.getLeftParenthesisKeyword_1_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr700_Expr800ParserRuleCall_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// {FunCall.target=current}
protected class Expr700_FunCallTargetAction_1_0_1 extends ActionToken {
public Expr700_FunCallTargetAction_1_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getExpr700Access()
.getFunCallTargetAction_1_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr700_LeftParenthesisKeyword_1_0_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
final Object val = eObjectConsumer.getConsumable("target", false);
if (val == null) {
return null;
}
if (!eObjectConsumer.isConsumedWithLastConsumtion("target")) {
return null;
}
return createEObjectConsumer((EObject) val);
}
}
// args=Expressions?
protected class Expr700_ArgsAssignment_1_0_2 extends AssignmentToken {
public Expr700_ArgsAssignment_1_0_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr700Access().getArgsAssignment_1_0_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("args", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("args");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionsRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExpr700Access()
.getArgsExpressionsParserRuleCall_1_0_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Expr700_FunCallTargetAction_1_0_1(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class Expr700_RightParenthesisKeyword_1_0_3 extends KeywordToken {
public Expr700_RightParenthesisKeyword_1_0_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExpr700Access()
.getRightParenthesisKeyword_1_0_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr700_ArgsAssignment_1_0_2(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new Expr700_FunCallTargetAction_1_0_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// ("(" args2=Expressions? ")")?
protected class Expr700_Group_1_0_4 extends GroupToken {
public Expr700_Group_1_0_4(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr700Access().getGroup_1_0_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr700_RightParenthesisKeyword_1_0_4_2(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "("
protected class Expr700_LeftParenthesisKeyword_1_0_4_0 extends KeywordToken {
public Expr700_LeftParenthesisKeyword_1_0_4_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExpr700Access()
.getLeftParenthesisKeyword_1_0_4_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr700_RightParenthesisKeyword_1_0_3(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// args2=Expressions?
protected class Expr700_Args2Assignment_1_0_4_1 extends AssignmentToken {
public Expr700_Args2Assignment_1_0_4_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr700Access()
.getArgs2Assignment_1_0_4_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("args2", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("args2");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionsRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExpr700Access()
.getArgs2ExpressionsParserRuleCall_1_0_4_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Expr700_LeftParenthesisKeyword_1_0_4_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class Expr700_RightParenthesisKeyword_1_0_4_2 extends
KeywordToken {
public Expr700_RightParenthesisKeyword_1_0_4_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExpr700Access()
.getRightParenthesisKeyword_1_0_4_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr700_Args2Assignment_1_0_4_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// ("#" {RecordExpr.ref=current} record=RecordExpr)+
protected class Expr700_Group_1_1 extends GroupToken {
public Expr700_Group_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr700Access().getGroup_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr700_RecordAssignment_1_1_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr700Access()
.getRecordExprRefAction_1_1_1().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "#"
protected class Expr700_NumberSignKeyword_1_1_0 extends KeywordToken {
public Expr700_NumberSignKeyword_1_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExpr700Access()
.getNumberSignKeyword_1_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr700_Group_1_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Expr700_Expr800ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// {RecordExpr.ref=current}
protected class Expr700_RecordExprRefAction_1_1_1 extends ActionToken {
public Expr700_RecordExprRefAction_1_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getExpr700Access()
.getRecordExprRefAction_1_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr700_NumberSignKeyword_1_1_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
final Object val = eObjectConsumer.getConsumable("ref", false);
if (val == null) {
return null;
}
if (!eObjectConsumer.isConsumedWithLastConsumtion("ref")) {
return null;
}
return createEObjectConsumer((EObject) val);
}
}
// record=RecordExpr
protected class Expr700_RecordAssignment_1_1_2 extends AssignmentToken {
public Expr700_RecordAssignment_1_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr700Access().getRecordAssignment_1_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordExpr_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("record", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("record");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getRecordExprRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExpr700Access()
.getRecordRecordExprParserRuleCall_1_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Expr700_RecordExprRefAction_1_1_1(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule Expr700 ****************/
/************
* begin Rule Expr800 ****************
*
* // non-associative Expr800 returns Expression: ExprMax
* ({RemoteTarget.module=current} ":" function=ExprMax)?;
*
**/
// ExprMax ({RemoteTarget.module=current} ":" function=ExprMax)?
protected class Expr800_Group extends GroupToken {
public Expr800_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr800Access().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr800_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Expr800_ExprMaxParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr400Access()
.getAddOpOpLeftAction_1_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getAtomAction_0_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr300Access().getBinOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExprMaxAccess().getBlockExprAction_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getCaseExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpressionAccess().getCatchExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getCondExprAccess().getCondExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTupleRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr700Access().getFunCallTargetAction_1_0_1()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getInlineFunRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getFunRefRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getIfExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLetExprAccess().getLetExprAction_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr100Access()
.getMatchExprOpLeftAction_1_0_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr500Access().getMultOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getQueryExprAccess().getQueryExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getReceiveExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr800Access()
.getRemoteTargetModuleAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTryExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getUnaryExprAccess().getUnaryExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// ExprMax
protected class Expr800_ExprMaxParserRuleCall_0 extends RuleCallToken {
public Expr800_ExprMaxParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExpr800Access()
.getExprMaxParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExprMax_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(ExprMax_Alternatives.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// ({RemoteTarget.module=current} ":" function=ExprMax)?
protected class Expr800_Group_1 extends GroupToken {
public Expr800_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExpr800Access().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr800_FunctionAssignment_1_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr800Access()
.getRemoteTargetModuleAction_1_0().getType()
.getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {RemoteTarget.module=current}
protected class Expr800_RemoteTargetModuleAction_1_0 extends ActionToken {
public Expr800_RemoteTargetModuleAction_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getExpr800Access()
.getRemoteTargetModuleAction_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr800_ExprMaxParserRuleCall_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
final Object val = eObjectConsumer.getConsumable("module", false);
if (val == null) {
return null;
}
if (!eObjectConsumer.isConsumedWithLastConsumtion("module")) {
return null;
}
return createEObjectConsumer((EObject) val);
}
}
// ":"
protected class Expr800_ColonKeyword_1_1 extends KeywordToken {
public Expr800_ColonKeyword_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExpr800Access().getColonKeyword_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expr800_RemoteTargetModuleAction_1_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// function=ExprMax
protected class Expr800_FunctionAssignment_1_2 extends AssignmentToken {
public Expr800_FunctionAssignment_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExpr800Access().getFunctionAssignment_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExprMax_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("function", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("function");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExprMaxRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExpr800Access()
.getFunctionExprMaxParserRuleCall_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Expr800_ColonKeyword_1_1(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule Expr800 ****************/
/************
* begin Rule ExprMax ****************
*
* ExprMax returns Expression: TermExpression | "(" Expression ")" |
* {BlockExpr} "begin" body=Expressions "end" | IfExpr | CaseExpr |
* ReceiveExpr | FunExpr | TryExpr | CondExpr | QueryExpr | LetExpr;
*
**/
// TermExpression | "(" Expression ")" | {BlockExpr} "begin"
// body=Expressions "end" | IfExpr | CaseExpr | ReceiveExpr |
// FunExpr | TryExpr | CondExpr | QueryExpr | LetExpr
protected class ExprMax_Alternatives extends AlternativesToken {
public ExprMax_Alternatives(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getExprMaxAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExprMax_TermExpressionParserRuleCall_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new ExprMax_Group_1(lastRuleCallOrigin, this, 1, inst);
case 2:
return new ExprMax_Group_2(lastRuleCallOrigin, this, 2, inst);
case 3:
return new ExprMax_IfExprParserRuleCall_3(lastRuleCallOrigin,
this, 3, inst);
case 4:
return new ExprMax_CaseExprParserRuleCall_4(lastRuleCallOrigin,
this, 4, inst);
case 5:
return new ExprMax_ReceiveExprParserRuleCall_5(
lastRuleCallOrigin, this, 5, inst);
case 6:
return new ExprMax_FunExprParserRuleCall_6(lastRuleCallOrigin,
this, 6, inst);
case 7:
return new ExprMax_TryExprParserRuleCall_7(lastRuleCallOrigin,
this, 7, inst);
case 8:
return new ExprMax_CondExprParserRuleCall_8(lastRuleCallOrigin,
this, 8, inst);
case 9:
return new ExprMax_QueryExprParserRuleCall_9(
lastRuleCallOrigin, this, 9, inst);
case 10:
return new ExprMax_LetExprParserRuleCall_10(lastRuleCallOrigin,
this, 10, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr400Access()
.getAddOpOpLeftAction_1_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getAtomAction_0_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr300Access().getBinOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExprMaxAccess().getBlockExprAction_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getCaseExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpressionAccess().getCatchExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getCondExprAccess().getCondExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTupleRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr700Access().getFunCallTargetAction_1_0_1()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getInlineFunRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getFunRefRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getIfExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLetExprAccess().getLetExprAction_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr100Access()
.getMatchExprOpLeftAction_1_0_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr500Access().getMultOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getQueryExprAccess().getQueryExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getReceiveExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr800Access()
.getRemoteTargetModuleAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTryExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getUnaryExprAccess().getUnaryExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// TermExpression
protected class ExprMax_TermExpressionParserRuleCall_0 extends
RuleCallToken {
public ExprMax_TermExpressionParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExprMaxAccess()
.getTermExpressionParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TermExpression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess().getAtomAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTupleRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(TermExpression_Alternatives.class,
eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// "(" Expression ")"
protected class ExprMax_Group_1 extends GroupToken {
public ExprMax_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExprMaxAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExprMax_RightParenthesisKeyword_1_2(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "("
protected class ExprMax_LeftParenthesisKeyword_1_0 extends KeywordToken {
public ExprMax_LeftParenthesisKeyword_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExprMaxAccess()
.getLeftParenthesisKeyword_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// Expression
protected class ExprMax_ExpressionParserRuleCall_1_1 extends RuleCallToken {
public ExprMax_ExpressionParserRuleCall_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExprMaxAccess()
.getExpressionParserRuleCall_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(Expression_Alternatives.class,
eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExprMax_LeftParenthesisKeyword_1_0(
lastRuleCallOrigin, next, actIndex, inst);
default:
return null;
}
}
}
// ")"
protected class ExprMax_RightParenthesisKeyword_1_2 extends KeywordToken {
public ExprMax_RightParenthesisKeyword_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExprMaxAccess()
.getRightParenthesisKeyword_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExprMax_ExpressionParserRuleCall_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// {BlockExpr} "begin" body=Expressions "end"
protected class ExprMax_Group_2 extends GroupToken {
public ExprMax_Group_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExprMaxAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExprMax_EndKeyword_2_3(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExprMaxAccess()
.getBlockExprAction_2_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {BlockExpr}
protected class ExprMax_BlockExprAction_2_0 extends ActionToken {
public ExprMax_BlockExprAction_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getExprMaxAccess().getBlockExprAction_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// "begin"
protected class ExprMax_BeginKeyword_2_1 extends KeywordToken {
public ExprMax_BeginKeyword_2_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExprMaxAccess().getBeginKeyword_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExprMax_BlockExprAction_2_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// body=Expressions
protected class ExprMax_BodyAssignment_2_2 extends AssignmentToken {
public ExprMax_BodyAssignment_2_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExprMaxAccess().getBodyAssignment_2_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("body", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("body");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionsRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExprMaxAccess()
.getBodyExpressionsParserRuleCall_2_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ExprMax_BeginKeyword_2_1(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// "end"
protected class ExprMax_EndKeyword_2_3 extends KeywordToken {
public ExprMax_EndKeyword_2_3(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExprMaxAccess().getEndKeyword_2_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExprMax_BodyAssignment_2_2(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
}
// IfExpr
protected class ExprMax_IfExprParserRuleCall_3 extends RuleCallToken {
public ExprMax_IfExprParserRuleCall_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExprMaxAccess().getIfExprParserRuleCall_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IfExpr_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getIfExprRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(IfExpr_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// CaseExpr
protected class ExprMax_CaseExprParserRuleCall_4 extends RuleCallToken {
public ExprMax_CaseExprParserRuleCall_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExprMaxAccess()
.getCaseExprParserRuleCall_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CaseExpr_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getCaseExprRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(CaseExpr_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// ReceiveExpr
protected class ExprMax_ReceiveExprParserRuleCall_5 extends RuleCallToken {
public ExprMax_ReceiveExprParserRuleCall_5(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExprMaxAccess()
.getReceiveExprParserRuleCall_5();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ReceiveExpr_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getReceiveExprRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(ReceiveExpr_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// FunExpr
protected class ExprMax_FunExprParserRuleCall_6 extends RuleCallToken {
public ExprMax_FunExprParserRuleCall_6(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExprMaxAccess()
.getFunExprParserRuleCall_6();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunExpr_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getInlineFunRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getFunRefRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(FunExpr_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// TryExpr
protected class ExprMax_TryExprParserRuleCall_7 extends RuleCallToken {
public ExprMax_TryExprParserRuleCall_7(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExprMaxAccess()
.getTryExprParserRuleCall_7();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryExpr_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTryExprRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(TryExpr_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// CondExpr
protected class ExprMax_CondExprParserRuleCall_8 extends RuleCallToken {
public ExprMax_CondExprParserRuleCall_8(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExprMaxAccess()
.getCondExprParserRuleCall_8();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CondExpr_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getCondExprAccess()
.getCondExprAction_0().getType().getClassifier()) {
return null;
}
if (checkForRecursion(CondExpr_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// QueryExpr
protected class ExprMax_QueryExprParserRuleCall_9 extends RuleCallToken {
public ExprMax_QueryExprParserRuleCall_9(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExprMaxAccess()
.getQueryExprParserRuleCall_9();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new QueryExpr_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getQueryExprAccess()
.getQueryExprAction_0().getType().getClassifier()) {
return null;
}
if (checkForRecursion(QueryExpr_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// LetExpr
protected class ExprMax_LetExprParserRuleCall_10 extends RuleCallToken {
public ExprMax_LetExprParserRuleCall_10(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExprMaxAccess()
.getLetExprParserRuleCall_10();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LetExpr_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getLetExprAccess()
.getLetExprAction_0().getType().getClassifier()) {
return null;
}
if (checkForRecursion(LetExpr_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
/************ end Rule ExprMax ****************/
/************
* begin Rule TermExpression ****************
*
* TermExpression returns Expression: Tuple | ListOrComprehension |
* BinaryOrComprehension | "#" RecordExpr | LiteralExpression;
*
**/
// Tuple | ListOrComprehension | BinaryOrComprehension | "#" RecordExpr |
// LiteralExpression
protected class TermExpression_Alternatives extends AlternativesToken {
public TermExpression_Alternatives(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getTermExpressionAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TermExpression_TupleParserRuleCall_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new TermExpression_ListOrComprehensionParserRuleCall_1(
lastRuleCallOrigin, this, 1, inst);
case 2:
return new TermExpression_BinaryOrComprehensionParserRuleCall_2(
lastRuleCallOrigin, this, 2, inst);
case 3:
return new TermExpression_Group_3(lastRuleCallOrigin, this, 3,
inst);
case 4:
return new TermExpression_LiteralExpressionParserRuleCall_4(
lastRuleCallOrigin, this, 4, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess().getAtomAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTupleRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// Tuple
protected class TermExpression_TupleParserRuleCall_0 extends RuleCallToken {
public TermExpression_TupleParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getTermExpressionAccess()
.getTupleParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Tuple_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTupleRule().getType()
.getClassifier()) {
return null;
}
if (checkForRecursion(Tuple_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// ListOrComprehension
protected class TermExpression_ListOrComprehensionParserRuleCall_1 extends
RuleCallToken {
public TermExpression_ListOrComprehensionParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getTermExpressionAccess()
.getListOrComprehensionParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ListOrComprehension_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(ListOrComprehension_Group.class,
eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// BinaryOrComprehension
protected class TermExpression_BinaryOrComprehensionParserRuleCall_2 extends
RuleCallToken {
public TermExpression_BinaryOrComprehensionParserRuleCall_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getTermExpressionAccess()
.getBinaryOrComprehensionParserRuleCall_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryOrComprehension_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()) {
return null;
}
if (checkForRecursion(BinaryOrComprehension_Group.class,
eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// "#" RecordExpr
protected class TermExpression_Group_3 extends GroupToken {
public TermExpression_Group_3(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTermExpressionAccess().getGroup_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TermExpression_RecordExprParserRuleCall_3_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getRecordExprRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "#"
protected class TermExpression_NumberSignKeyword_3_0 extends KeywordToken {
public TermExpression_NumberSignKeyword_3_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTermExpressionAccess()
.getNumberSignKeyword_3_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// RecordExpr
protected class TermExpression_RecordExprParserRuleCall_3_1 extends
RuleCallToken {
public TermExpression_RecordExprParserRuleCall_3_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getTermExpressionAccess()
.getRecordExprParserRuleCall_3_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordExpr_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(RecordExpr_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TermExpression_NumberSignKeyword_3_0(
lastRuleCallOrigin, next, actIndex, inst);
default:
return null;
}
}
}
// LiteralExpression
protected class TermExpression_LiteralExpressionParserRuleCall_4 extends
RuleCallToken {
public TermExpression_LiteralExpressionParserRuleCall_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getTermExpressionAccess()
.getLiteralExpressionParserRuleCall_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LiteralExpression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess().getAtomAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(LiteralExpression_Alternatives.class,
eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
/************ end Rule TermExpression ****************/
/************
* begin Rule MacroCall ****************
*
* MacroCall: macroName=MacroLiteral ("(" args=Expressions? ")")?;
*
**/
// macroName=MacroLiteral ("(" args=Expressions? ")")?
protected class MacroCall_Group extends GroupToken {
public MacroCall_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getMacroCallAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroCall_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new MacroCall_MacroNameAssignment_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getMacroCallRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// macroName=MacroLiteral
protected class MacroCall_MacroNameAssignment_0 extends AssignmentToken {
public MacroCall_MacroNameAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getMacroCallAccess()
.getMacroNameAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("macroName", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("macroName");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getMacroLiteralRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getMacroCallAccess()
.getMacroNameMacroLiteralParserRuleCall_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// (=> "(" args=Expressions? ")")?
protected class MacroCall_Group_1 extends GroupToken {
public MacroCall_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getMacroCallAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroCall_RightParenthesisKeyword_1_2(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// => "("
protected class MacroCall_LeftParenthesisKeyword_1_0 extends KeywordToken {
public MacroCall_LeftParenthesisKeyword_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getMacroCallAccess()
.getLeftParenthesisKeyword_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroCall_MacroNameAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// args=Expressions?
protected class MacroCall_ArgsAssignment_1_1 extends AssignmentToken {
public MacroCall_ArgsAssignment_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getMacroCallAccess().getArgsAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("args", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("args");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionsRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getMacroCallAccess()
.getArgsExpressionsParserRuleCall_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new MacroCall_LeftParenthesisKeyword_1_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class MacroCall_RightParenthesisKeyword_1_2 extends KeywordToken {
public MacroCall_RightParenthesisKeyword_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getMacroCallAccess()
.getRightParenthesisKeyword_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroCall_ArgsAssignment_1_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
/************ end Rule MacroCall ****************/
/************
* begin Rule RecordExpr ****************
*
* RecordExpr: rec=RecordVarMacro ("." field=RecordFieldVarMacro |
* tuple=RecordTuple);
*
**/
// rec=RecordVarMacro ("." field=RecordFieldVarMacro | tuple=RecordTuple)
protected class RecordExpr_Group extends GroupToken {
public RecordExpr_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getRecordExprAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordExpr_Alternatives_1(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getRecordExprRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// rec=RecordVarMacro
protected class RecordExpr_RecAssignment_0 extends AssignmentToken {
public RecordExpr_RecAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRecordExprAccess().getRecAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordVarMacro_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("rec", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rec");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getRecordVarMacroRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getRecordExprAccess()
.getRecRecordVarMacroParserRuleCall_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// "." field=RecordFieldVarMacro | tuple=RecordTuple
protected class RecordExpr_Alternatives_1 extends AlternativesToken {
public RecordExpr_Alternatives_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getRecordExprAccess().getAlternatives_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordExpr_Group_1_0(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new RecordExpr_TupleAssignment_1_1(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// "." field=RecordFieldVarMacro
protected class RecordExpr_Group_1_0 extends GroupToken {
public RecordExpr_Group_1_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getRecordExprAccess().getGroup_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordExpr_FieldAssignment_1_0_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// "."
protected class RecordExpr_FullStopKeyword_1_0_0 extends KeywordToken {
public RecordExpr_FullStopKeyword_1_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRecordExprAccess()
.getFullStopKeyword_1_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordExpr_RecAssignment_0(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
}
// field=RecordFieldVarMacro
protected class RecordExpr_FieldAssignment_1_0_1 extends AssignmentToken {
public RecordExpr_FieldAssignment_1_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRecordExprAccess()
.getFieldAssignment_1_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldVarMacro_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("field", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("field");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param
.isInstanceOf(grammarAccess
.getRecordFieldVarMacroRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess
.getRecordExprAccess()
.getFieldRecordFieldVarMacroParserRuleCall_1_0_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new RecordExpr_FullStopKeyword_1_0_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// tuple=RecordTuple
protected class RecordExpr_TupleAssignment_1_1 extends AssignmentToken {
public RecordExpr_TupleAssignment_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRecordExprAccess().getTupleAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordTuple_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("tuple", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("tuple");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getRecordTupleRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getRecordExprAccess()
.getTupleRecordTupleParserRuleCall_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new RecordExpr_RecAssignment_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule RecordExpr ****************/
/************
* begin Rule QueryExpr ****************
*
* // NYI QueryExpr: {QueryExpr} "query";
*
**/
// {QueryExpr} "query"
protected class QueryExpr_Group extends GroupToken {
public QueryExpr_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getQueryExprAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new QueryExpr_QueryKeyword_1(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getQueryExprAccess()
.getQueryExprAction_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {QueryExpr}
protected class QueryExpr_QueryExprAction_0 extends ActionToken {
public QueryExpr_QueryExprAction_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getQueryExprAccess().getQueryExprAction_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// "query"
protected class QueryExpr_QueryKeyword_1 extends KeywordToken {
public QueryExpr_QueryKeyword_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getQueryExprAccess().getQueryKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new QueryExpr_QueryExprAction_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
/************ end Rule QueryExpr ****************/
/************
* begin Rule CondExpr ****************
*
* // NYI CondExpr: {CondExpr} "cond";
*
**/
// {CondExpr} "cond"
protected class CondExpr_Group extends GroupToken {
public CondExpr_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCondExprAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CondExpr_CondKeyword_1(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getCondExprAccess()
.getCondExprAction_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {CondExpr}
protected class CondExpr_CondExprAction_0 extends ActionToken {
public CondExpr_CondExprAction_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getCondExprAccess().getCondExprAction_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// "cond"
protected class CondExpr_CondKeyword_1 extends KeywordToken {
public CondExpr_CondKeyword_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCondExprAccess().getCondKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CondExpr_CondExprAction_0(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
}
/************ end Rule CondExpr ****************/
/************
* begin Rule LetExpr ****************
*
* // NYI LetExpr: {LetExpr} "let";
*
**/
// {LetExpr} "let"
protected class LetExpr_Group extends GroupToken {
public LetExpr_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getLetExprAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LetExpr_LetKeyword_1(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getLetExprAccess()
.getLetExprAction_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {LetExpr}
protected class LetExpr_LetExprAction_0 extends ActionToken {
public LetExpr_LetExprAction_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getLetExprAccess().getLetExprAction_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// "let"
protected class LetExpr_LetKeyword_1 extends KeywordToken {
public LetExpr_LetKeyword_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getLetExprAccess().getLetKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LetExpr_LetExprAction_0(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
}
/************ end Rule LetExpr ****************/
/************
* begin Rule RecordTuple ****************
*
* RecordTuple: {RecordTuple} "{" (fields+=RecordFieldExpr (","
* fields+=RecordFieldExpr)*)? "}";
*
**/
// {RecordTuple} "{" (fields+=RecordFieldExpr (","
// fields+=RecordFieldExpr)*)? "}"
protected class RecordTuple_Group extends GroupToken {
public RecordTuple_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getRecordTupleAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordTuple_RightCurlyBracketKeyword_3(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getRecordTupleAccess()
.getRecordTupleAction_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {RecordTuple}
protected class RecordTuple_RecordTupleAction_0 extends ActionToken {
public RecordTuple_RecordTupleAction_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getRecordTupleAccess()
.getRecordTupleAction_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// "{"
protected class RecordTuple_LeftCurlyBracketKeyword_1 extends KeywordToken {
public RecordTuple_LeftCurlyBracketKeyword_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRecordTupleAccess()
.getLeftCurlyBracketKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordTuple_RecordTupleAction_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// (fields+=RecordFieldExpr ("," fields+=RecordFieldExpr)*)?
protected class RecordTuple_Group_2 extends GroupToken {
public RecordTuple_Group_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getRecordTupleAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordTuple_Group_2_1(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new RecordTuple_FieldsAssignment_2_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// fields+=RecordFieldExpr
protected class RecordTuple_FieldsAssignment_2_0 extends AssignmentToken {
public RecordTuple_FieldsAssignment_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRecordTupleAccess()
.getFieldsAssignment_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldExpr_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("fields", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("fields");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getRecordFieldExprRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getRecordTupleAccess()
.getFieldsRecordFieldExprParserRuleCall_2_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new RecordTuple_LeftCurlyBracketKeyword_1(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ("," fields+=RecordFieldExpr)*
protected class RecordTuple_Group_2_1 extends GroupToken {
public RecordTuple_Group_2_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getRecordTupleAccess().getGroup_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordTuple_FieldsAssignment_2_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// ","
protected class RecordTuple_CommaKeyword_2_1_0 extends KeywordToken {
public RecordTuple_CommaKeyword_2_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRecordTupleAccess().getCommaKeyword_2_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordTuple_Group_2_1(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new RecordTuple_FieldsAssignment_2_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// fields+=RecordFieldExpr
protected class RecordTuple_FieldsAssignment_2_1_1 extends AssignmentToken {
public RecordTuple_FieldsAssignment_2_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRecordTupleAccess()
.getFieldsAssignment_2_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldExpr_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("fields", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("fields");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getRecordFieldExprRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getRecordTupleAccess()
.getFieldsRecordFieldExprParserRuleCall_2_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new RecordTuple_CommaKeyword_2_1_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// "}"
protected class RecordTuple_RightCurlyBracketKeyword_3 extends KeywordToken {
public RecordTuple_RightCurlyBracketKeyword_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRecordTupleAccess()
.getRightCurlyBracketKeyword_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordTuple_Group_2(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new RecordTuple_LeftCurlyBracketKeyword_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
/************ end Rule RecordTuple ****************/
/************
* begin Rule RecordFieldExpr ****************
*
* RecordFieldExpr: ref=RecordFieldVarMacro ("=" value=Expression)? ("::"
* type=TopType)?;
*
**/
// ref=RecordFieldVarMacro ("=" value=Expression)? ("::" type=TopType)?
protected class RecordFieldExpr_Group extends GroupToken {
public RecordFieldExpr_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getRecordFieldExprAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldExpr_Group_2(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new RecordFieldExpr_Group_1(lastRuleCallOrigin, this, 1,
inst);
case 2:
return new RecordFieldExpr_RefAssignment_0(lastRuleCallOrigin,
this, 2, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getRecordFieldExprRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// ref=RecordFieldVarMacro
protected class RecordFieldExpr_RefAssignment_0 extends AssignmentToken {
public RecordFieldExpr_RefAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRecordFieldExprAccess()
.getRefAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldVarMacro_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("ref", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ref");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param
.isInstanceOf(grammarAccess
.getRecordFieldVarMacroRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getRecordFieldExprAccess()
.getRefRecordFieldVarMacroParserRuleCall_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// ("=" value=Expression)?
protected class RecordFieldExpr_Group_1 extends GroupToken {
public RecordFieldExpr_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getRecordFieldExprAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldExpr_ValueAssignment_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "="
protected class RecordFieldExpr_EqualsSignKeyword_1_0 extends KeywordToken {
public RecordFieldExpr_EqualsSignKeyword_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRecordFieldExprAccess()
.getEqualsSignKeyword_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldExpr_RefAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// value=Expression
protected class RecordFieldExpr_ValueAssignment_1_1 extends AssignmentToken {
public RecordFieldExpr_ValueAssignment_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRecordFieldExprAccess()
.getValueAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("value", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("value");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getRecordFieldExprAccess()
.getValueExpressionParserRuleCall_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new RecordFieldExpr_EqualsSignKeyword_1_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ("::" type=TopType)?
protected class RecordFieldExpr_Group_2 extends GroupToken {
public RecordFieldExpr_Group_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getRecordFieldExprAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldExpr_TypeAssignment_2_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "::"
protected class RecordFieldExpr_ColonColonKeyword_2_0 extends KeywordToken {
public RecordFieldExpr_ColonColonKeyword_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getRecordFieldExprAccess()
.getColonColonKeyword_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldExpr_Group_1(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new RecordFieldExpr_RefAssignment_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// type=TopType
protected class RecordFieldExpr_TypeAssignment_2_1 extends AssignmentToken {
public RecordFieldExpr_TypeAssignment_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRecordFieldExprAccess()
.getTypeAssignment_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("type", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("type");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getRecordFieldExprAccess()
.getTypeTopTypeParserRuleCall_2_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new RecordFieldExpr_ColonColonKeyword_2_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule RecordFieldExpr ****************/
/************
* begin Rule LiteralExpressionNoNumber ****************
*
* LiteralExpressionNoNumber returns Expression: {Atom} value=NAME |
* VariableLiteral | {ErlChar} value=CHAR | MacroLiteral | StringLiteral;
*
**/
// {Atom} value=NAME | VariableLiteral | {ErlChar} value=CHAR | MacroLiteral
// | StringLiteral
protected class LiteralExpressionNoNumber_Alternatives extends
AlternativesToken {
public LiteralExpressionNoNumber_Alternatives(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getLiteralExpressionNoNumberAccess()
.getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LiteralExpressionNoNumber_Group_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new LiteralExpressionNoNumber_VariableLiteralParserRuleCall_1(
lastRuleCallOrigin, this, 1, inst);
case 2:
return new LiteralExpressionNoNumber_Group_2(
lastRuleCallOrigin, this, 2, inst);
case 3:
return new LiteralExpressionNoNumber_MacroLiteralParserRuleCall_3(
lastRuleCallOrigin, this, 3, inst);
case 4:
return new LiteralExpressionNoNumber_StringLiteralParserRuleCall_4(
lastRuleCallOrigin, this, 4, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess().getAtomAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {Atom} value=NAME
protected class LiteralExpressionNoNumber_Group_0 extends GroupToken {
public LiteralExpressionNoNumber_Group_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getLiteralExpressionNoNumberAccess()
.getGroup_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LiteralExpressionNoNumber_ValueAssignment_0_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess().getAtomAction_0_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {Atom}
protected class LiteralExpressionNoNumber_AtomAction_0_0 extends
ActionToken {
public LiteralExpressionNoNumber_AtomAction_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getLiteralExpressionNoNumberAccess()
.getAtomAction_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// value=NAME
protected class LiteralExpressionNoNumber_ValueAssignment_0_1 extends
AssignmentToken {
public LiteralExpressionNoNumber_ValueAssignment_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getLiteralExpressionNoNumberAccess()
.getValueAssignment_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LiteralExpressionNoNumber_AtomAction_0_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("value", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("value");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getLiteralExpressionNoNumberAccess()
.getValueNAMEParserRuleCall_0_1_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getLiteralExpressionNoNumberAccess()
.getValueNAMEParserRuleCall_0_1_0();
return obj;
}
return null;
}
}
// VariableLiteral
protected class LiteralExpressionNoNumber_VariableLiteralParserRuleCall_1
extends RuleCallToken {
public LiteralExpressionNoNumber_VariableLiteralParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getLiteralExpressionNoNumberAccess()
.getVariableLiteralParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new VariableLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0().getType()
.getClassifier()) {
return null;
}
if (checkForRecursion(VariableLiteral_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// {ErlChar} value=CHAR
protected class LiteralExpressionNoNumber_Group_2 extends GroupToken {
public LiteralExpressionNoNumber_Group_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getLiteralExpressionNoNumberAccess()
.getGroup_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LiteralExpressionNoNumber_ValueAssignment_2_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {ErlChar}
protected class LiteralExpressionNoNumber_ErlCharAction_2_0 extends
ActionToken {
public LiteralExpressionNoNumber_ErlCharAction_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// value=CHAR
protected class LiteralExpressionNoNumber_ValueAssignment_2_1 extends
AssignmentToken {
public LiteralExpressionNoNumber_ValueAssignment_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getLiteralExpressionNoNumberAccess()
.getValueAssignment_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LiteralExpressionNoNumber_ErlCharAction_2_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("value", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("value");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getLiteralExpressionNoNumberAccess()
.getValueCHARTerminalRuleCall_2_1_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getLiteralExpressionNoNumberAccess()
.getValueCHARTerminalRuleCall_2_1_0();
return obj;
}
return null;
}
}
// MacroLiteral
protected class LiteralExpressionNoNumber_MacroLiteralParserRuleCall_3
extends RuleCallToken {
public LiteralExpressionNoNumber_MacroLiteralParserRuleCall_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getLiteralExpressionNoNumberAccess()
.getMacroLiteralParserRuleCall_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getMacroLiteralAccess()
.getMacroAction_0().getType().getClassifier()) {
return null;
}
if (checkForRecursion(MacroLiteral_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// StringLiteral
protected class LiteralExpressionNoNumber_StringLiteralParserRuleCall_4
extends RuleCallToken {
public LiteralExpressionNoNumber_StringLiteralParserRuleCall_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getLiteralExpressionNoNumberAccess()
.getStringLiteralParserRuleCall_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new StringLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getStringLiteralRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(StringLiteral_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
/************ end Rule LiteralExpressionNoNumber ****************/
/************
* begin Rule ModuleRef ****************
*
* ModuleRef returns Expression: {AtomRef} value=[Module|NAME];
*
**/
// {AtomRef} value=[Module|NAME]
protected class ModuleRef_Group extends GroupToken {
public ModuleRef_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getModuleRefAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ModuleRef_ValueAssignment_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getModuleRefAccess()
.getAtomRefAction_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {AtomRef}
protected class ModuleRef_AtomRefAction_0 extends ActionToken {
public ModuleRef_AtomRefAction_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getModuleRefAccess().getAtomRefAction_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// value=[Module|NAME]
protected class ModuleRef_ValueAssignment_1 extends AssignmentToken {
public ModuleRef_ValueAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getModuleRefAccess().getValueAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ModuleRef_AtomRefAction_0(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("value", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("value");
if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getModuleRefAccess()
.getValueModuleCrossReference_1_0().getType()
.getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getModuleRefAccess()
.getValueModuleCrossReference_1_0();
return obj;
}
}
return null;
}
}
/************ end Rule ModuleRef ****************/
/************
* begin Rule FunctionRef ****************
*
* FunctionRef returns Expression: {AtomRef} value=[Function|NAME];
*
**/
// {AtomRef} value=[Function|NAME]
protected class FunctionRef_Group extends GroupToken {
public FunctionRef_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getFunctionRefAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunctionRef_ValueAssignment_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getFunctionRefAccess()
.getAtomRefAction_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {AtomRef}
protected class FunctionRef_AtomRefAction_0 extends ActionToken {
public FunctionRef_AtomRefAction_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getFunctionRefAccess().getAtomRefAction_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// value=[Function|NAME]
protected class FunctionRef_ValueAssignment_1 extends AssignmentToken {
public FunctionRef_ValueAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFunctionRefAccess().getValueAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunctionRef_AtomRefAction_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("value", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("value");
if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFunctionRefAccess()
.getValueFunctionCrossReference_1_0().getType()
.getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getFunctionRefAccess()
.getValueFunctionCrossReference_1_0();
return obj;
}
}
return null;
}
}
/************ end Rule FunctionRef ****************/
/************
* begin Rule RecordRef ****************
*
* RecordRef returns Expression: {AtomRef} value=[RecordAttribute|NAME];
*
**/
// {AtomRef} value=[RecordAttribute|NAME]
protected class RecordRef_Group extends GroupToken {
public RecordRef_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getRecordRefAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordRef_ValueAssignment_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getRecordRefAccess()
.getAtomRefAction_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {AtomRef}
protected class RecordRef_AtomRefAction_0 extends ActionToken {
public RecordRef_AtomRefAction_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getRecordRefAccess().getAtomRefAction_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// value=[RecordAttribute|NAME]
protected class RecordRef_ValueAssignment_1 extends AssignmentToken {
public RecordRef_ValueAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRecordRefAccess().getValueAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordRef_AtomRefAction_0(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("value", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("value");
if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getRecordRefAccess()
.getValueRecordAttributeCrossReference_1_0().getType()
.getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getRecordRefAccess()
.getValueRecordAttributeCrossReference_1_0();
return obj;
}
}
return null;
}
}
/************ end Rule RecordRef ****************/
/************
* begin Rule RecordFieldRef ****************
*
* RecordFieldRef returns Expression: {AtomRef} value=[RecordFieldDef|NAME];
*
**/
// {AtomRef} value=[RecordFieldDef|NAME]
protected class RecordFieldRef_Group extends GroupToken {
public RecordFieldRef_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getRecordFieldRefAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldRef_ValueAssignment_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getRecordFieldRefAccess().getAtomRefAction_0().getType()
.getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {AtomRef}
protected class RecordFieldRef_AtomRefAction_0 extends ActionToken {
public RecordFieldRef_AtomRefAction_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getRecordFieldRefAccess().getAtomRefAction_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// value=[RecordFieldDef|NAME]
protected class RecordFieldRef_ValueAssignment_1 extends AssignmentToken {
public RecordFieldRef_ValueAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getRecordFieldRefAccess()
.getValueAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldRef_AtomRefAction_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("value", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("value");
if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getRecordFieldRefAccess()
.getValueRecordFieldDefCrossReference_1_0().getType()
.getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getRecordFieldRefAccess()
.getValueRecordFieldDefCrossReference_1_0();
return obj;
}
}
return null;
}
}
/************ end Rule RecordFieldRef ****************/
/************
* begin Rule TypeRef ****************
*
* TypeRef returns Expression: {AtomRef} value=[TypeAttribute|NAME];
*
**/
// {AtomRef} value=[TypeAttribute|NAME]
protected class TypeRef_Group extends GroupToken {
public TypeRef_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeRefAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeRef_ValueAssignment_1(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTypeRefAccess()
.getAtomRefAction_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {AtomRef}
protected class TypeRef_AtomRefAction_0 extends ActionToken {
public TypeRef_AtomRefAction_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getTypeRefAccess().getAtomRefAction_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// value=[TypeAttribute|NAME]
protected class TypeRef_ValueAssignment_1 extends AssignmentToken {
public TypeRef_ValueAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeRefAccess().getValueAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeRef_AtomRefAction_0(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("value", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("value");
if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTypeRefAccess()
.getValueTypeAttributeCrossReference_1_0().getType()
.getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getTypeRefAccess()
.getValueTypeAttributeCrossReference_1_0();
return obj;
}
}
return null;
}
}
/************ end Rule TypeRef ****************/
/************
* begin Rule MacroLiteral ****************
*
* MacroLiteral returns Expression: {Macro} value=[DefineAttribute|MACRO];
*
**/
// {Macro} value=[DefineAttribute|MACRO]
protected class MacroLiteral_Group extends GroupToken {
public MacroLiteral_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getMacroLiteralAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroLiteral_ValueAssignment_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getMacroLiteralAccess()
.getMacroAction_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {Macro}
protected class MacroLiteral_MacroAction_0 extends ActionToken {
public MacroLiteral_MacroAction_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getMacroLiteralAccess().getMacroAction_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// value=[DefineAttribute|MACRO]
protected class MacroLiteral_ValueAssignment_1 extends AssignmentToken {
public MacroLiteral_ValueAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getMacroLiteralAccess().getValueAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroLiteral_MacroAction_0(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("value", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("value");
if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getMacroLiteralAccess()
.getValueDefineAttributeCrossReference_1_0().getType()
.getClassifier())
&& crossRefSerializer
.isValid(
obj.getEObject(),
grammarAccess
.getMacroLiteralAccess()
.getValueDefineAttributeCrossReference_1_0(),
(EObject) value, null)) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getMacroLiteralAccess()
.getValueDefineAttributeCrossReference_1_0();
return obj;
}
}
return null;
}
}
/************ end Rule MacroLiteral ****************/
/************
* begin Rule MacroRef ****************
*
* MacroRef returns Expression: {Macro} value=[DefineAttribute|NAMEVAR];
*
**/
// {Macro} value=[DefineAttribute|NAMEVAR]
protected class MacroRef_Group extends GroupToken {
public MacroRef_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getMacroRefAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroRef_ValueAssignment_1(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getMacroRefAccess()
.getMacroAction_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {Macro}
protected class MacroRef_MacroAction_0 extends ActionToken {
public MacroRef_MacroAction_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getMacroRefAccess().getMacroAction_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// value=[DefineAttribute|NAMEVAR]
protected class MacroRef_ValueAssignment_1 extends AssignmentToken {
public MacroRef_ValueAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getMacroRefAccess().getValueAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroRef_MacroAction_0(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("value", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("value");
if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getMacroRefAccess()
.getValueDefineAttributeCrossReference_1_0().getType()
.getClassifier())
&& crossRefSerializer
.isValid(
obj.getEObject(),
grammarAccess
.getMacroRefAccess()
.getValueDefineAttributeCrossReference_1_0(),
(EObject) value, null)) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getMacroRefAccess()
.getValueDefineAttributeCrossReference_1_0();
return obj;
}
}
return null;
}
}
/************ end Rule MacroRef ****************/
/************
* begin Rule VariableLiteral ****************
*
* VariableLiteral returns Expression: {Variable}
* value=[Expression|VARIABLE];
*
**/
// {Variable} value=[Expression|VARIABLE]
protected class VariableLiteral_Group extends GroupToken {
public VariableLiteral_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getVariableLiteralAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new VariableLiteral_ValueAssignment_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0().getType()
.getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {Variable}
protected class VariableLiteral_VariableAction_0 extends ActionToken {
public VariableLiteral_VariableAction_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getVariableLiteralAccess()
.getVariableAction_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// value=[Expression|VARIABLE]
protected class VariableLiteral_ValueAssignment_1 extends AssignmentToken {
public VariableLiteral_ValueAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getVariableLiteralAccess()
.getValueAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new VariableLiteral_VariableAction_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("value", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("value");
if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getVariableLiteralAccess()
.getValueExpressionCrossReference_1_0().getType()
.getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getVariableLiteralAccess()
.getValueExpressionCrossReference_1_0();
return obj;
}
}
return null;
}
}
/************ end Rule VariableLiteral ****************/
/************
* begin Rule StringLiteral ****************
*
* StringLiteral returns Expression: parts+=StringLiteralLiteral
* parts+=StringLiteralPart*;
*
**/
// parts+=StringLiteralLiteral parts+=StringLiteralPart*
protected class StringLiteral_Group extends GroupToken {
public StringLiteral_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getStringLiteralAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new StringLiteral_PartsAssignment_1(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new StringLiteral_PartsAssignment_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getStringLiteralRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// parts+=StringLiteralLiteral
protected class StringLiteral_PartsAssignment_0 extends AssignmentToken {
public StringLiteral_PartsAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getStringLiteralAccess()
.getPartsAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new StringLiteralLiteral_StringAssignment(this, this, 0,
inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("parts", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("parts");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess
.getStringLiteralLiteralRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getStringLiteralAccess()
.getPartsStringLiteralLiteralParserRuleCall_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// parts+=StringLiteralPart*
protected class StringLiteral_PartsAssignment_1 extends AssignmentToken {
public StringLiteral_PartsAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getStringLiteralAccess()
.getPartsAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new StringLiteralPart_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("parts", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("parts");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getStringLiteralPartRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getStringLiteralAccess()
.getPartsStringLiteralPartParserRuleCall_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new StringLiteral_PartsAssignment_1(lastRuleCallOrigin,
next, actIndex, consumed);
case 1:
return new StringLiteral_PartsAssignment_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule StringLiteral ****************/
/************
* begin Rule StringLiteralPart ****************
*
* StringLiteralPart: StringLiteralLiteral | macro=MacroCall;
*
**/
// StringLiteralLiteral | macro=MacroCall
protected class StringLiteralPart_Alternatives extends AlternativesToken {
public StringLiteralPart_Alternatives(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getStringLiteralPartAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new StringLiteralPart_StringLiteralLiteralParserRuleCall_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new StringLiteralPart_MacroAssignment_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getStringLiteralPartRule().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// StringLiteralLiteral
protected class StringLiteralPart_StringLiteralLiteralParserRuleCall_0
extends RuleCallToken {
public StringLiteralPart_StringLiteralLiteralParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getStringLiteralPartAccess()
.getStringLiteralLiteralParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new StringLiteralLiteral_StringAssignment(this, this, 0,
inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(StringLiteralLiteral_StringAssignment.class,
eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// macro=MacroCall
protected class StringLiteralPart_MacroAssignment_1 extends AssignmentToken {
public StringLiteralPart_MacroAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getStringLiteralPartAccess()
.getMacroAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroCall_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("macro", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("macro");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getMacroCallRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getStringLiteralPartAccess()
.getMacroMacroCallParserRuleCall_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
/************ end Rule StringLiteralPart ****************/
/************
* begin Rule StringLiteralLiteral ****************
*
* StringLiteralLiteral returns StringLiteralPart: string=STRING;
*
**/
// string=STRING
protected class StringLiteralLiteral_StringAssignment extends
AssignmentToken {
public StringLiteralLiteral_StringAssignment(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getStringLiteralLiteralAccess()
.getStringAssignment();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getStringLiteralLiteralRule().getType().getClassifier()) {
return null;
}
if ((value = eObjectConsumer.getConsumable("string", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("string");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getStringLiteralLiteralAccess()
.getStringSTRINGTerminalRuleCall_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getStringLiteralLiteralAccess()
.getStringSTRINGTerminalRuleCall_0();
return obj;
}
return null;
}
}
/************ end Rule StringLiteralLiteral ****************/
/************
* begin Rule LiteralExpression ****************
*
* LiteralExpression returns Expression: LiteralExpressionNoNumber |
* IntegerLiteral | {ErlFloat} value=FLOAT;
*
**/
// LiteralExpressionNoNumber | IntegerLiteral | {ErlFloat} value=FLOAT
protected class LiteralExpression_Alternatives extends AlternativesToken {
public LiteralExpression_Alternatives(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getLiteralExpressionAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LiteralExpression_LiteralExpressionNoNumberParserRuleCall_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new LiteralExpression_IntegerLiteralParserRuleCall_1(
lastRuleCallOrigin, this, 1, inst);
case 2:
return new LiteralExpression_Group_2(lastRuleCallOrigin, this,
2, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess().getAtomAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// LiteralExpressionNoNumber
protected class LiteralExpression_LiteralExpressionNoNumberParserRuleCall_0
extends RuleCallToken {
public LiteralExpression_LiteralExpressionNoNumberParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getLiteralExpressionAccess()
.getLiteralExpressionNoNumberParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LiteralExpressionNoNumber_Alternatives(this, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess().getAtomAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(LiteralExpressionNoNumber_Alternatives.class,
eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// IntegerLiteral
protected class LiteralExpression_IntegerLiteralParserRuleCall_1 extends
RuleCallToken {
public LiteralExpression_IntegerLiteralParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getLiteralExpressionAccess()
.getIntegerLiteralParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IntegerLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(IntegerLiteral_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// {ErlFloat} value=FLOAT
protected class LiteralExpression_Group_2 extends GroupToken {
public LiteralExpression_Group_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getLiteralExpressionAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LiteralExpression_ValueAssignment_2_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess().getErlFloatAction_2_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {ErlFloat}
protected class LiteralExpression_ErlFloatAction_2_0 extends ActionToken {
public LiteralExpression_ErlFloatAction_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getLiteralExpressionAccess()
.getErlFloatAction_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// value=FLOAT
protected class LiteralExpression_ValueAssignment_2_1 extends
AssignmentToken {
public LiteralExpression_ValueAssignment_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getLiteralExpressionAccess()
.getValueAssignment_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LiteralExpression_ErlFloatAction_2_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("value", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("value");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getLiteralExpressionAccess()
.getValueFLOATParserRuleCall_2_1_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getLiteralExpressionAccess()
.getValueFLOATParserRuleCall_2_1_0();
return obj;
}
return null;
}
}
/************ end Rule LiteralExpression ****************/
/************
* begin Rule IntegerLiteral ****************
*
* IntegerLiteral returns Expression: {ErlInteger} value=INTEGER;
*
**/
// {ErlInteger} value=INTEGER
protected class IntegerLiteral_Group extends GroupToken {
public IntegerLiteral_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getIntegerLiteralAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IntegerLiteral_ValueAssignment_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {ErlInteger}
protected class IntegerLiteral_ErlIntegerAction_0 extends ActionToken {
public IntegerLiteral_ErlIntegerAction_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getIntegerLiteralAccess()
.getErlIntegerAction_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// value=INTEGER
protected class IntegerLiteral_ValueAssignment_1 extends AssignmentToken {
public IntegerLiteral_ValueAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getIntegerLiteralAccess()
.getValueAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IntegerLiteral_ErlIntegerAction_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("value", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("value");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getIntegerLiteralAccess()
.getValueINTEGERParserRuleCall_1_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getIntegerLiteralAccess()
.getValueINTEGERParserRuleCall_1_0();
return obj;
}
return null;
}
}
/************ end Rule IntegerLiteral ****************/
/************
* begin Rule PatternExpression ****************
*
* PatternExpression returns Expression: TermExpression
* (({MatchExpr.opLeft=current} op="=" opRight=TermExpression)+ |
* {FunCall.target=current} "(" args=Expressions? ")")?;
*
**/
// TermExpression (({MatchExpr.opLeft=current} op="="
// opRight=TermExpression)+ | {FunCall.target=current} "("
// args=Expressions? ")")?
protected class PatternExpression_Group extends GroupToken {
public PatternExpression_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getPatternExpressionAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new PatternExpression_Alternatives_1(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new PatternExpression_TermExpressionParserRuleCall_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess().getAtomAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTupleRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getPatternExpressionAccess()
.getFunCallTargetAction_1_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getPatternExpressionAccess()
.getMatchExprOpLeftAction_1_0_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// TermExpression
protected class PatternExpression_TermExpressionParserRuleCall_0 extends
RuleCallToken {
public PatternExpression_TermExpressionParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getPatternExpressionAccess()
.getTermExpressionParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TermExpression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess().getAtomAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTupleRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(TermExpression_Alternatives.class,
eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// (({MatchExpr.opLeft=current} op="=" opRight=TermExpression)+ |
// {FunCall.target=current} "(" args=Expressions? ")")?
protected class PatternExpression_Alternatives_1 extends AlternativesToken {
public PatternExpression_Alternatives_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getPatternExpressionAccess()
.getAlternatives_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new PatternExpression_Group_1_0(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new PatternExpression_Group_1_1(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getPatternExpressionAccess()
.getFunCallTargetAction_1_1_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getPatternExpressionAccess()
.getMatchExprOpLeftAction_1_0_0().getType()
.getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// ({MatchExpr.opLeft=current} op="=" opRight=TermExpression)+
protected class PatternExpression_Group_1_0 extends GroupToken {
public PatternExpression_Group_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getPatternExpressionAccess().getGroup_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new PatternExpression_OpRightAssignment_1_0_2(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getPatternExpressionAccess()
.getMatchExprOpLeftAction_1_0_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {MatchExpr.opLeft=current}
protected class PatternExpression_MatchExprOpLeftAction_1_0_0 extends
ActionToken {
public PatternExpression_MatchExprOpLeftAction_1_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getPatternExpressionAccess()
.getMatchExprOpLeftAction_1_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new PatternExpression_Group_1_0(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new PatternExpression_TermExpressionParserRuleCall_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
final Object val = eObjectConsumer.getConsumable("opLeft", false);
if (val == null) {
return null;
}
if (!eObjectConsumer.isConsumedWithLastConsumtion("opLeft")) {
return null;
}
return createEObjectConsumer((EObject) val);
}
}
// op="="
protected class PatternExpression_OpAssignment_1_0_1 extends
AssignmentToken {
public PatternExpression_OpAssignment_1_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getPatternExpressionAccess()
.getOpAssignment_1_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new PatternExpression_MatchExprOpLeftAction_1_0_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("op", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getPatternExpressionAccess()
.getOpEqualsSignKeyword_1_0_1_0(), value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getPatternExpressionAccess()
.getOpEqualsSignKeyword_1_0_1_0();
return obj;
}
return null;
}
}
// opRight=TermExpression
protected class PatternExpression_OpRightAssignment_1_0_2 extends
AssignmentToken {
public PatternExpression_OpRightAssignment_1_0_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getPatternExpressionAccess()
.getOpRightAssignment_1_0_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TermExpression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("opRight", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("opRight");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTermExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getPatternExpressionAccess()
.getOpRightTermExpressionParserRuleCall_1_0_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new PatternExpression_OpAssignment_1_0_1(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// {FunCall.target=current} "(" args=Expressions? ")"
protected class PatternExpression_Group_1_1 extends GroupToken {
public PatternExpression_Group_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getPatternExpressionAccess().getGroup_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new PatternExpression_RightParenthesisKeyword_1_1_3(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getPatternExpressionAccess()
.getFunCallTargetAction_1_1_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {FunCall.target=current}
protected class PatternExpression_FunCallTargetAction_1_1_0 extends
ActionToken {
public PatternExpression_FunCallTargetAction_1_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getPatternExpressionAccess()
.getFunCallTargetAction_1_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new PatternExpression_TermExpressionParserRuleCall_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
final Object val = eObjectConsumer.getConsumable("target", false);
if (val == null) {
return null;
}
if (!eObjectConsumer.isConsumedWithLastConsumtion("target")) {
return null;
}
return createEObjectConsumer((EObject) val);
}
}
// "("
protected class PatternExpression_LeftParenthesisKeyword_1_1_1 extends
KeywordToken {
public PatternExpression_LeftParenthesisKeyword_1_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getPatternExpressionAccess()
.getLeftParenthesisKeyword_1_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new PatternExpression_FunCallTargetAction_1_1_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// args=Expressions?
protected class PatternExpression_ArgsAssignment_1_1_2 extends
AssignmentToken {
public PatternExpression_ArgsAssignment_1_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getPatternExpressionAccess()
.getArgsAssignment_1_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("args", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("args");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionsRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getPatternExpressionAccess()
.getArgsExpressionsParserRuleCall_1_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new PatternExpression_LeftParenthesisKeyword_1_1_1(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class PatternExpression_RightParenthesisKeyword_1_1_3 extends
KeywordToken {
public PatternExpression_RightParenthesisKeyword_1_1_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getPatternExpressionAccess()
.getRightParenthesisKeyword_1_1_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new PatternExpression_ArgsAssignment_1_1_2(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new PatternExpression_LeftParenthesisKeyword_1_1_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
/************ end Rule PatternExpression ****************/
/************
* begin Rule IfExpr ****************
*
* IfExpr: "if" clauses+=IfClause (";" clauses+=IfClause)* "end";
*
**/
// "if" clauses+=IfClause (";" clauses+=IfClause)* "end"
protected class IfExpr_Group extends GroupToken {
public IfExpr_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getIfExprAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IfExpr_EndKeyword_3(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getIfExprRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "if"
protected class IfExpr_IfKeyword_0 extends KeywordToken {
public IfExpr_IfKeyword_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getIfExprAccess().getIfKeyword_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// clauses+=IfClause
protected class IfExpr_ClausesAssignment_1 extends AssignmentToken {
public IfExpr_ClausesAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getIfExprAccess().getClausesAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IfClause_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("clauses", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("clauses");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getIfClauseRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getIfExprAccess()
.getClausesIfClauseParserRuleCall_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new IfExpr_IfKeyword_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// (";" clauses+=IfClause)*
protected class IfExpr_Group_2 extends GroupToken {
public IfExpr_Group_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getIfExprAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IfExpr_ClausesAssignment_2_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// ";"
protected class IfExpr_SemicolonKeyword_2_0 extends KeywordToken {
public IfExpr_SemicolonKeyword_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getIfExprAccess().getSemicolonKeyword_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IfExpr_Group_2(lastRuleCallOrigin, this, 0, inst);
case 1:
return new IfExpr_ClausesAssignment_1(lastRuleCallOrigin, this,
1, inst);
default:
return null;
}
}
}
// clauses+=IfClause
protected class IfExpr_ClausesAssignment_2_1 extends AssignmentToken {
public IfExpr_ClausesAssignment_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getIfExprAccess().getClausesAssignment_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IfClause_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("clauses", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("clauses");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getIfClauseRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getIfExprAccess()
.getClausesIfClauseParserRuleCall_2_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new IfExpr_SemicolonKeyword_2_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// "end"
protected class IfExpr_EndKeyword_3 extends KeywordToken {
public IfExpr_EndKeyword_3(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getIfExprAccess().getEndKeyword_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IfExpr_Group_2(lastRuleCallOrigin, this, 0, inst);
case 1:
return new IfExpr_ClausesAssignment_1(lastRuleCallOrigin, this,
1, inst);
default:
return null;
}
}
}
/************ end Rule IfExpr ****************/
/************
* begin Rule IfClause ****************
*
* IfClause: guard=Guard "->" body=Expressions;
*
**/
// guard=Guard "->" body=Expressions
protected class IfClause_Group extends GroupToken {
public IfClause_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getIfClauseAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IfClause_BodyAssignment_2(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getIfClauseRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// guard=Guard
protected class IfClause_GuardAssignment_0 extends AssignmentToken {
public IfClause_GuardAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getIfClauseAccess().getGuardAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Guard_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("guard", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("guard");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getGuardRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getIfClauseAccess()
.getGuardGuardParserRuleCall_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// "->"
protected class IfClause_HyphenMinusGreaterThanSignKeyword_1 extends
KeywordToken {
public IfClause_HyphenMinusGreaterThanSignKeyword_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getIfClauseAccess()
.getHyphenMinusGreaterThanSignKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IfClause_GuardAssignment_0(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
}
// body=Expressions
protected class IfClause_BodyAssignment_2 extends AssignmentToken {
public IfClause_BodyAssignment_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getIfClauseAccess().getBodyAssignment_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("body", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("body");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionsRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getIfClauseAccess()
.getBodyExpressionsParserRuleCall_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new IfClause_HyphenMinusGreaterThanSignKeyword_1(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule IfClause ****************/
/************
* begin Rule CaseExpr ****************
*
* CaseExpr: "case" expr=Expression "of" clauses+=CrClause (";"
* clauses+=CrClause)* "end";
*
**/
// "case" expr=Expression "of" clauses+=CrClause (";" clauses+=CrClause)*
// "end"
protected class CaseExpr_Group extends GroupToken {
public CaseExpr_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCaseExprAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CaseExpr_EndKeyword_5(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getCaseExprRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "case"
protected class CaseExpr_CaseKeyword_0 extends KeywordToken {
public CaseExpr_CaseKeyword_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCaseExprAccess().getCaseKeyword_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// expr=Expression
protected class CaseExpr_ExprAssignment_1 extends AssignmentToken {
public CaseExpr_ExprAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCaseExprAccess().getExprAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("expr", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("expr");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCaseExprAccess()
.getExprExpressionParserRuleCall_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new CaseExpr_CaseKeyword_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// "of"
protected class CaseExpr_OfKeyword_2 extends KeywordToken {
public CaseExpr_OfKeyword_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCaseExprAccess().getOfKeyword_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CaseExpr_ExprAssignment_1(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
}
// clauses+=CrClause
protected class CaseExpr_ClausesAssignment_3 extends AssignmentToken {
public CaseExpr_ClausesAssignment_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCaseExprAccess().getClausesAssignment_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CrClause_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("clauses", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("clauses");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getCrClauseRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCaseExprAccess()
.getClausesCrClauseParserRuleCall_3_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new CaseExpr_OfKeyword_2(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// (";" clauses+=CrClause)*
protected class CaseExpr_Group_4 extends GroupToken {
public CaseExpr_Group_4(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCaseExprAccess().getGroup_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CaseExpr_ClausesAssignment_4_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// ";"
protected class CaseExpr_SemicolonKeyword_4_0 extends KeywordToken {
public CaseExpr_SemicolonKeyword_4_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCaseExprAccess().getSemicolonKeyword_4_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CaseExpr_Group_4(lastRuleCallOrigin, this, 0, inst);
case 1:
return new CaseExpr_ClausesAssignment_3(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// clauses+=CrClause
protected class CaseExpr_ClausesAssignment_4_1 extends AssignmentToken {
public CaseExpr_ClausesAssignment_4_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCaseExprAccess().getClausesAssignment_4_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CrClause_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("clauses", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("clauses");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getCrClauseRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCaseExprAccess()
.getClausesCrClauseParserRuleCall_4_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new CaseExpr_SemicolonKeyword_4_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// "end"
protected class CaseExpr_EndKeyword_5 extends KeywordToken {
public CaseExpr_EndKeyword_5(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCaseExprAccess().getEndKeyword_5();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CaseExpr_Group_4(lastRuleCallOrigin, this, 0, inst);
case 1:
return new CaseExpr_ClausesAssignment_3(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
/************ end Rule CaseExpr ****************/
/************
* begin Rule CrClause ****************
*
* CrClause: expr=Expression ("when" guard=Guard)? "->" body=Expressions;
*
**/
// expr=Expression ("when" guard=Guard)? "->" body=Expressions
protected class CrClause_Group extends GroupToken {
public CrClause_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCrClauseAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CrClause_BodyAssignment_3(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getCrClauseRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// expr=Expression
protected class CrClause_ExprAssignment_0 extends AssignmentToken {
public CrClause_ExprAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCrClauseAccess().getExprAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("expr", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("expr");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCrClauseAccess()
.getExprExpressionParserRuleCall_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// ("when" guard=Guard)?
protected class CrClause_Group_1 extends GroupToken {
public CrClause_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCrClauseAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CrClause_GuardAssignment_1_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// "when"
protected class CrClause_WhenKeyword_1_0 extends KeywordToken {
public CrClause_WhenKeyword_1_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCrClauseAccess().getWhenKeyword_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CrClause_ExprAssignment_0(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
}
// guard=Guard
protected class CrClause_GuardAssignment_1_1 extends AssignmentToken {
public CrClause_GuardAssignment_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCrClauseAccess().getGuardAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Guard_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("guard", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("guard");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getGuardRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCrClauseAccess()
.getGuardGuardParserRuleCall_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new CrClause_WhenKeyword_1_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// "->"
protected class CrClause_HyphenMinusGreaterThanSignKeyword_2 extends
KeywordToken {
public CrClause_HyphenMinusGreaterThanSignKeyword_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCrClauseAccess()
.getHyphenMinusGreaterThanSignKeyword_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CrClause_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new CrClause_ExprAssignment_0(lastRuleCallOrigin, this,
1, inst);
default:
return null;
}
}
}
// body=Expressions
protected class CrClause_BodyAssignment_3 extends AssignmentToken {
public CrClause_BodyAssignment_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCrClauseAccess().getBodyAssignment_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("body", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("body");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionsRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCrClauseAccess()
.getBodyExpressionsParserRuleCall_3_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new CrClause_HyphenMinusGreaterThanSignKeyword_2(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule CrClause ****************/
/************
* begin Rule ReceiveExpr ****************
*
* ReceiveExpr: "receive" (clauses+=CrClause (";" clauses+=CrClause)*
* ("after" after_expr=Expression "->" after_body=Expressions)? | "after"
* after_expr=Expression "->" after_body=Expressions) "end";
*
**/
// "receive" (clauses+=CrClause (";" clauses+=CrClause)* ("after"
// after_expr=Expression "->" after_body=Expressions)? |
// "after" after_expr=Expression "->" after_body=Expressions) "end"
protected class ReceiveExpr_Group extends GroupToken {
public ReceiveExpr_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getReceiveExprAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ReceiveExpr_EndKeyword_2(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getReceiveExprRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "receive"
protected class ReceiveExpr_ReceiveKeyword_0 extends KeywordToken {
public ReceiveExpr_ReceiveKeyword_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getReceiveExprAccess().getReceiveKeyword_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// clauses+=CrClause (";" clauses+=CrClause)* ("after" after_expr=Expression
// "->" after_body=Expressions)? | "after"
// after_expr=Expression "->" after_body=Expressions
protected class ReceiveExpr_Alternatives_1 extends AlternativesToken {
public ReceiveExpr_Alternatives_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getReceiveExprAccess().getAlternatives_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ReceiveExpr_Group_1_0(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new ReceiveExpr_Group_1_1(lastRuleCallOrigin, this, 1,
inst);
default:
return null;
}
}
}
// clauses+=CrClause (";" clauses+=CrClause)* ("after" after_expr=Expression
// "->" after_body=Expressions)?
protected class ReceiveExpr_Group_1_0 extends GroupToken {
public ReceiveExpr_Group_1_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getReceiveExprAccess().getGroup_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ReceiveExpr_Group_1_0_2(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new ReceiveExpr_Group_1_0_1(lastRuleCallOrigin, this, 1,
inst);
case 2:
return new ReceiveExpr_ClausesAssignment_1_0_0(
lastRuleCallOrigin, this, 2, inst);
default:
return null;
}
}
}
// clauses+=CrClause
protected class ReceiveExpr_ClausesAssignment_1_0_0 extends AssignmentToken {
public ReceiveExpr_ClausesAssignment_1_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getReceiveExprAccess()
.getClausesAssignment_1_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CrClause_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("clauses", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("clauses");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getCrClauseRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getReceiveExprAccess()
.getClausesCrClauseParserRuleCall_1_0_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ReceiveExpr_ReceiveKeyword_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// (";" clauses+=CrClause)*
protected class ReceiveExpr_Group_1_0_1 extends GroupToken {
public ReceiveExpr_Group_1_0_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getReceiveExprAccess().getGroup_1_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ReceiveExpr_ClausesAssignment_1_0_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// ";"
protected class ReceiveExpr_SemicolonKeyword_1_0_1_0 extends KeywordToken {
public ReceiveExpr_SemicolonKeyword_1_0_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getReceiveExprAccess()
.getSemicolonKeyword_1_0_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ReceiveExpr_Group_1_0_1(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new ReceiveExpr_ClausesAssignment_1_0_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// clauses+=CrClause
protected class ReceiveExpr_ClausesAssignment_1_0_1_1 extends
AssignmentToken {
public ReceiveExpr_ClausesAssignment_1_0_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getReceiveExprAccess()
.getClausesAssignment_1_0_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CrClause_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("clauses", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("clauses");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getCrClauseRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getReceiveExprAccess()
.getClausesCrClauseParserRuleCall_1_0_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ReceiveExpr_SemicolonKeyword_1_0_1_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ("after" after_expr=Expression "->" after_body=Expressions)?
protected class ReceiveExpr_Group_1_0_2 extends GroupToken {
public ReceiveExpr_Group_1_0_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getReceiveExprAccess().getGroup_1_0_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ReceiveExpr_After_bodyAssignment_1_0_2_3(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "after"
protected class ReceiveExpr_AfterKeyword_1_0_2_0 extends KeywordToken {
public ReceiveExpr_AfterKeyword_1_0_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getReceiveExprAccess()
.getAfterKeyword_1_0_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ReceiveExpr_Group_1_0_1(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new ReceiveExpr_ClausesAssignment_1_0_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// after_expr=Expression
protected class ReceiveExpr_After_exprAssignment_1_0_2_1 extends
AssignmentToken {
public ReceiveExpr_After_exprAssignment_1_0_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getReceiveExprAccess()
.getAfter_exprAssignment_1_0_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("after_expr", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("after_expr");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getReceiveExprAccess()
.getAfter_exprExpressionParserRuleCall_1_0_2_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ReceiveExpr_AfterKeyword_1_0_2_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// "->"
protected class ReceiveExpr_HyphenMinusGreaterThanSignKeyword_1_0_2_2
extends KeywordToken {
public ReceiveExpr_HyphenMinusGreaterThanSignKeyword_1_0_2_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getReceiveExprAccess()
.getHyphenMinusGreaterThanSignKeyword_1_0_2_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ReceiveExpr_After_exprAssignment_1_0_2_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// after_body=Expressions
protected class ReceiveExpr_After_bodyAssignment_1_0_2_3 extends
AssignmentToken {
public ReceiveExpr_After_bodyAssignment_1_0_2_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getReceiveExprAccess()
.getAfter_bodyAssignment_1_0_2_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("after_body", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("after_body");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionsRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getReceiveExprAccess()
.getAfter_bodyExpressionsParserRuleCall_1_0_2_3_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ReceiveExpr_HyphenMinusGreaterThanSignKeyword_1_0_2_2(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// "after" after_expr=Expression "->" after_body=Expressions
protected class ReceiveExpr_Group_1_1 extends GroupToken {
public ReceiveExpr_Group_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getReceiveExprAccess().getGroup_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ReceiveExpr_After_bodyAssignment_1_1_3(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "after"
protected class ReceiveExpr_AfterKeyword_1_1_0 extends KeywordToken {
public ReceiveExpr_AfterKeyword_1_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getReceiveExprAccess().getAfterKeyword_1_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ReceiveExpr_ReceiveKeyword_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// after_expr=Expression
protected class ReceiveExpr_After_exprAssignment_1_1_1 extends
AssignmentToken {
public ReceiveExpr_After_exprAssignment_1_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getReceiveExprAccess()
.getAfter_exprAssignment_1_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("after_expr", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("after_expr");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getReceiveExprAccess()
.getAfter_exprExpressionParserRuleCall_1_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ReceiveExpr_AfterKeyword_1_1_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// "->"
protected class ReceiveExpr_HyphenMinusGreaterThanSignKeyword_1_1_2 extends
KeywordToken {
public ReceiveExpr_HyphenMinusGreaterThanSignKeyword_1_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getReceiveExprAccess()
.getHyphenMinusGreaterThanSignKeyword_1_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ReceiveExpr_After_exprAssignment_1_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// after_body=Expressions
protected class ReceiveExpr_After_bodyAssignment_1_1_3 extends
AssignmentToken {
public ReceiveExpr_After_bodyAssignment_1_1_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getReceiveExprAccess()
.getAfter_bodyAssignment_1_1_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("after_body", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("after_body");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionsRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getReceiveExprAccess()
.getAfter_bodyExpressionsParserRuleCall_1_1_3_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ReceiveExpr_HyphenMinusGreaterThanSignKeyword_1_1_2(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// "end"
protected class ReceiveExpr_EndKeyword_2 extends KeywordToken {
public ReceiveExpr_EndKeyword_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getReceiveExprAccess().getEndKeyword_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ReceiveExpr_Alternatives_1(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
}
/************ end Rule ReceiveExpr ****************/
/************
* begin Rule FunExpr ****************
*
* FunExpr: "fun" (FunRef | InlineFun);
*
**/
// "fun" (FunRef | InlineFun)
protected class FunExpr_Group extends GroupToken {
public FunExpr_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getFunExprAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunExpr_Alternatives_1(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getInlineFunRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getFunRefRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "fun"
protected class FunExpr_FunKeyword_0 extends KeywordToken {
public FunExpr_FunKeyword_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFunExprAccess().getFunKeyword_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// FunRef | InlineFun
protected class FunExpr_Alternatives_1 extends AlternativesToken {
public FunExpr_Alternatives_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getFunExprAccess().getAlternatives_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunExpr_FunRefParserRuleCall_1_0(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new FunExpr_InlineFunParserRuleCall_1_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// FunRef
protected class FunExpr_FunRefParserRuleCall_1_0 extends RuleCallToken {
public FunExpr_FunRefParserRuleCall_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getFunExprAccess()
.getFunRefParserRuleCall_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunRef_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getFunRefRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(FunRef_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunExpr_FunKeyword_0(lastRuleCallOrigin, next,
actIndex, inst);
default:
return null;
}
}
}
// InlineFun
protected class FunExpr_InlineFunParserRuleCall_1_1 extends RuleCallToken {
public FunExpr_InlineFunParserRuleCall_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getFunExprAccess()
.getInlineFunParserRuleCall_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new InlineFun_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getInlineFunRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(InlineFun_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunExpr_FunKeyword_0(lastRuleCallOrigin, next,
actIndex, inst);
default:
return null;
}
}
}
/************ end Rule FunExpr ****************/
/************
* begin Rule FunRef ****************
*
* FunRef: (module=ModuleVarMacro ":")? function=FunctionVarMacro "/"
* arity=IntVarMacro;
*
**/
// (module=ModuleVarMacro ":")? function=FunctionVarMacro "/"
// arity=IntVarMacro
protected class FunRef_Group extends GroupToken {
public FunRef_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getFunRefAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunRef_ArityAssignment_3(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getFunRefRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// (module=ModuleVarMacro ":")?
protected class FunRef_Group_0 extends GroupToken {
public FunRef_Group_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getFunRefAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunRef_ColonKeyword_0_1(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
}
// module=ModuleVarMacro
protected class FunRef_ModuleAssignment_0_0 extends AssignmentToken {
public FunRef_ModuleAssignment_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFunRefAccess().getModuleAssignment_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ModuleVarMacro_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("module", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("module");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getModuleVarMacroRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getFunRefAccess()
.getModuleModuleVarMacroParserRuleCall_0_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// ":"
protected class FunRef_ColonKeyword_0_1 extends KeywordToken {
public FunRef_ColonKeyword_0_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFunRefAccess().getColonKeyword_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunRef_ModuleAssignment_0_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// function=FunctionVarMacro
protected class FunRef_FunctionAssignment_1 extends AssignmentToken {
public FunRef_FunctionAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFunRefAccess().getFunctionAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunctionVarMacro_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("function", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("function");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFunctionVarMacroRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getFunRefAccess()
.getFunctionFunctionVarMacroParserRuleCall_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new FunRef_Group_0(lastRuleCallOrigin, next, actIndex,
consumed);
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index - 1, consumed);
}
}
}
// "/"
protected class FunRef_SolidusKeyword_2 extends KeywordToken {
public FunRef_SolidusKeyword_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFunRefAccess().getSolidusKeyword_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunRef_FunctionAssignment_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// arity=IntVarMacro
protected class FunRef_ArityAssignment_3 extends AssignmentToken {
public FunRef_ArityAssignment_3(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFunRefAccess().getArityAssignment_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IntVarMacro_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("arity", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("arity");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getIntVarMacroRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getFunRefAccess()
.getArityIntVarMacroParserRuleCall_3_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new FunRef_SolidusKeyword_2(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule FunRef ****************/
/************
* begin Rule InlineFun ****************
*
* InlineFun returns FunExpr: clauses+=FunctionClause (";"
* clauses+=FunctionClause)* "end";
*
**/
// clauses+=FunctionClause (";" clauses+=FunctionClause)* "end"
protected class InlineFun_Group extends GroupToken {
public InlineFun_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getInlineFunAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new InlineFun_EndKeyword_2(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getInlineFunRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// clauses+=FunctionClause
protected class InlineFun_ClausesAssignment_0 extends AssignmentToken {
public InlineFun_ClausesAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getInlineFunAccess().getClausesAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunctionClause_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("clauses", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("clauses");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFunctionClauseRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getInlineFunAccess()
.getClausesFunctionClauseParserRuleCall_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// (";" clauses+=FunctionClause)*
protected class InlineFun_Group_1 extends GroupToken {
public InlineFun_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getInlineFunAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new InlineFun_ClausesAssignment_1_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// ";"
protected class InlineFun_SemicolonKeyword_1_0 extends KeywordToken {
public InlineFun_SemicolonKeyword_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getInlineFunAccess().getSemicolonKeyword_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new InlineFun_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new InlineFun_ClausesAssignment_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// clauses+=FunctionClause
protected class InlineFun_ClausesAssignment_1_1 extends AssignmentToken {
public InlineFun_ClausesAssignment_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getInlineFunAccess()
.getClausesAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunctionClause_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("clauses", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("clauses");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFunctionClauseRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getInlineFunAccess()
.getClausesFunctionClauseParserRuleCall_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new InlineFun_SemicolonKeyword_1_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// "end"
protected class InlineFun_EndKeyword_2 extends KeywordToken {
public InlineFun_EndKeyword_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getInlineFunAccess().getEndKeyword_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new InlineFun_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new InlineFun_ClausesAssignment_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
/************ end Rule InlineFun ****************/
/************
* begin Rule TryExpr ****************
*
* TryExpr: "try" body=Expressions ("of" of_clauses+=CrClause (";"
* of_clauses+=CrClause)*)? ("catch" catch+=TryClause (";"
* catch+=TryClause)* ("after" after_body=Expressions)? | "after"
* after_body=Expressions) "end";
*
**/
// "try" body=Expressions ("of" of_clauses+=CrClause (";"
// of_clauses+=CrClause)*)? ("catch" catch+=TryClause (";"
// catch+=TryClause)* ("after" after_body=Expressions)? | "after"
// after_body=Expressions) "end"
protected class TryExpr_Group extends GroupToken {
public TryExpr_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTryExprAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryExpr_EndKeyword_4(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTryExprRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "try"
protected class TryExpr_TryKeyword_0 extends KeywordToken {
public TryExpr_TryKeyword_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTryExprAccess().getTryKeyword_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// body=Expressions
protected class TryExpr_BodyAssignment_1 extends AssignmentToken {
public TryExpr_BodyAssignment_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTryExprAccess().getBodyAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("body", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("body");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionsRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTryExprAccess()
.getBodyExpressionsParserRuleCall_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TryExpr_TryKeyword_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// ("of" of_clauses+=CrClause (";" of_clauses+=CrClause)*)?
protected class TryExpr_Group_2 extends GroupToken {
public TryExpr_Group_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTryExprAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryExpr_Group_2_2(lastRuleCallOrigin, this, 0, inst);
case 1:
return new TryExpr_Of_clausesAssignment_2_1(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// "of"
protected class TryExpr_OfKeyword_2_0 extends KeywordToken {
public TryExpr_OfKeyword_2_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTryExprAccess().getOfKeyword_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryExpr_BodyAssignment_1(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
}
// of_clauses+=CrClause
protected class TryExpr_Of_clausesAssignment_2_1 extends AssignmentToken {
public TryExpr_Of_clausesAssignment_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTryExprAccess()
.getOf_clausesAssignment_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CrClause_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("of_clauses", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("of_clauses");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getCrClauseRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTryExprAccess()
.getOf_clausesCrClauseParserRuleCall_2_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TryExpr_OfKeyword_2_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// (";" of_clauses+=CrClause)*
protected class TryExpr_Group_2_2 extends GroupToken {
public TryExpr_Group_2_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTryExprAccess().getGroup_2_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryExpr_Of_clausesAssignment_2_2_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// ";"
protected class TryExpr_SemicolonKeyword_2_2_0 extends KeywordToken {
public TryExpr_SemicolonKeyword_2_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTryExprAccess().getSemicolonKeyword_2_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryExpr_Group_2_2(lastRuleCallOrigin, this, 0, inst);
case 1:
return new TryExpr_Of_clausesAssignment_2_1(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// of_clauses+=CrClause
protected class TryExpr_Of_clausesAssignment_2_2_1 extends AssignmentToken {
public TryExpr_Of_clausesAssignment_2_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTryExprAccess()
.getOf_clausesAssignment_2_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new CrClause_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("of_clauses", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("of_clauses");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getCrClauseRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTryExprAccess()
.getOf_clausesCrClauseParserRuleCall_2_2_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TryExpr_SemicolonKeyword_2_2_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// "catch" catch+=TryClause (";" catch+=TryClause)* ("after"
// after_body=Expressions)? | "after" after_body=Expressions
protected class TryExpr_Alternatives_3 extends AlternativesToken {
public TryExpr_Alternatives_3(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getTryExprAccess().getAlternatives_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryExpr_Group_3_0(lastRuleCallOrigin, this, 0, inst);
case 1:
return new TryExpr_Group_3_1(lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// "catch" catch+=TryClause (";" catch+=TryClause)* ("after"
// after_body=Expressions)?
protected class TryExpr_Group_3_0 extends GroupToken {
public TryExpr_Group_3_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTryExprAccess().getGroup_3_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryExpr_Group_3_0_3(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new TryExpr_Group_3_0_2(lastRuleCallOrigin, this, 1,
inst);
case 2:
return new TryExpr_CatchAssignment_3_0_1(lastRuleCallOrigin,
this, 2, inst);
default:
return null;
}
}
}
// "catch"
protected class TryExpr_CatchKeyword_3_0_0 extends KeywordToken {
public TryExpr_CatchKeyword_3_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTryExprAccess().getCatchKeyword_3_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryExpr_Group_2(lastRuleCallOrigin, this, 0, inst);
case 1:
return new TryExpr_BodyAssignment_1(lastRuleCallOrigin, this,
1, inst);
default:
return null;
}
}
}
// catch+=TryClause
protected class TryExpr_CatchAssignment_3_0_1 extends AssignmentToken {
public TryExpr_CatchAssignment_3_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTryExprAccess().getCatchAssignment_3_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryClause_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("catch", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("catch");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTryClauseRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTryExprAccess()
.getCatchTryClauseParserRuleCall_3_0_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TryExpr_CatchKeyword_3_0_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// (";" catch+=TryClause)*
protected class TryExpr_Group_3_0_2 extends GroupToken {
public TryExpr_Group_3_0_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTryExprAccess().getGroup_3_0_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryExpr_CatchAssignment_3_0_2_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// ";"
protected class TryExpr_SemicolonKeyword_3_0_2_0 extends KeywordToken {
public TryExpr_SemicolonKeyword_3_0_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTryExprAccess()
.getSemicolonKeyword_3_0_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryExpr_Group_3_0_2(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new TryExpr_CatchAssignment_3_0_1(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// catch+=TryClause
protected class TryExpr_CatchAssignment_3_0_2_1 extends AssignmentToken {
public TryExpr_CatchAssignment_3_0_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTryExprAccess()
.getCatchAssignment_3_0_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryClause_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("catch", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("catch");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTryClauseRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTryExprAccess()
.getCatchTryClauseParserRuleCall_3_0_2_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TryExpr_SemicolonKeyword_3_0_2_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// ("after" after_body=Expressions)?
protected class TryExpr_Group_3_0_3 extends GroupToken {
public TryExpr_Group_3_0_3(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTryExprAccess().getGroup_3_0_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryExpr_After_bodyAssignment_3_0_3_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "after"
protected class TryExpr_AfterKeyword_3_0_3_0 extends KeywordToken {
public TryExpr_AfterKeyword_3_0_3_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTryExprAccess().getAfterKeyword_3_0_3_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryExpr_Group_3_0_2(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new TryExpr_CatchAssignment_3_0_1(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// after_body=Expressions
protected class TryExpr_After_bodyAssignment_3_0_3_1 extends
AssignmentToken {
public TryExpr_After_bodyAssignment_3_0_3_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTryExprAccess()
.getAfter_bodyAssignment_3_0_3_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("after_body", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("after_body");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionsRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTryExprAccess()
.getAfter_bodyExpressionsParserRuleCall_3_0_3_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TryExpr_AfterKeyword_3_0_3_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// "after" after_body=Expressions
protected class TryExpr_Group_3_1 extends GroupToken {
public TryExpr_Group_3_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTryExprAccess().getGroup_3_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryExpr_After_bodyAssignment_3_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "after"
protected class TryExpr_AfterKeyword_3_1_0 extends KeywordToken {
public TryExpr_AfterKeyword_3_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTryExprAccess().getAfterKeyword_3_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryExpr_Group_2(lastRuleCallOrigin, this, 0, inst);
case 1:
return new TryExpr_BodyAssignment_1(lastRuleCallOrigin, this,
1, inst);
default:
return null;
}
}
}
// after_body=Expressions
protected class TryExpr_After_bodyAssignment_3_1_1 extends AssignmentToken {
public TryExpr_After_bodyAssignment_3_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTryExprAccess()
.getAfter_bodyAssignment_3_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("after_body", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("after_body");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionsRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTryExprAccess()
.getAfter_bodyExpressionsParserRuleCall_3_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TryExpr_AfterKeyword_3_1_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// "end"
protected class TryExpr_EndKeyword_4 extends KeywordToken {
public TryExpr_EndKeyword_4(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTryExprAccess().getEndKeyword_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryExpr_Alternatives_3(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
}
/************ end Rule TryExpr ****************/
/************
* begin Rule TryClause ****************
*
* TryClause: => (hdr=NAMEVAR ":")? cond=PatternExpression ("when"
* guard=Guard)? "->" body=Expressions;
*
**/
// => (hdr=NAMEVAR ":")? cond=PatternExpression ("when" guard=Guard)? "->"
// body=Expressions
protected class TryClause_Group extends GroupToken {
public TryClause_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTryClauseAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryClause_BodyAssignment_4(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTryClauseRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => (hdr=NAMEVAR ":")?
protected class TryClause_Group_0 extends GroupToken {
public TryClause_Group_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTryClauseAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryClause_Group_0_0(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
}
// hdr=NAMEVAR ":"
protected class TryClause_Group_0_0 extends GroupToken {
public TryClause_Group_0_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTryClauseAccess().getGroup_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryClause_ColonKeyword_0_0_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// hdr=NAMEVAR
protected class TryClause_HdrAssignment_0_0_0 extends AssignmentToken {
public TryClause_HdrAssignment_0_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTryClauseAccess().getHdrAssignment_0_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("hdr", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("hdr");
if (valueSerializer
.isValid(obj.getEObject(), grammarAccess
.getTryClauseAccess()
.getHdrNAMEVARParserRuleCall_0_0_0_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getTryClauseAccess()
.getHdrNAMEVARParserRuleCall_0_0_0_0();
return obj;
}
return null;
}
}
// ":"
protected class TryClause_ColonKeyword_0_0_1 extends KeywordToken {
public TryClause_ColonKeyword_0_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTryClauseAccess().getColonKeyword_0_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryClause_HdrAssignment_0_0_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// cond=PatternExpression
protected class TryClause_CondAssignment_1 extends AssignmentToken {
public TryClause_CondAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTryClauseAccess().getCondAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new PatternExpression_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("cond", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("cond");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getPatternExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTryClauseAccess()
.getCondPatternExpressionParserRuleCall_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TryClause_Group_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index - 1, consumed);
}
}
}
// ("when" guard=Guard)?
protected class TryClause_Group_2 extends GroupToken {
public TryClause_Group_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTryClauseAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryClause_GuardAssignment_2_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// "when"
protected class TryClause_WhenKeyword_2_0 extends KeywordToken {
public TryClause_WhenKeyword_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTryClauseAccess().getWhenKeyword_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryClause_CondAssignment_1(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
}
// guard=Guard
protected class TryClause_GuardAssignment_2_1 extends AssignmentToken {
public TryClause_GuardAssignment_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTryClauseAccess().getGuardAssignment_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Guard_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("guard", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("guard");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getGuardRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTryClauseAccess()
.getGuardGuardParserRuleCall_2_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TryClause_WhenKeyword_2_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// "->"
protected class TryClause_HyphenMinusGreaterThanSignKeyword_3 extends
KeywordToken {
public TryClause_HyphenMinusGreaterThanSignKeyword_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTryClauseAccess()
.getHyphenMinusGreaterThanSignKeyword_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TryClause_Group_2(lastRuleCallOrigin, this, 0, inst);
case 1:
return new TryClause_CondAssignment_1(lastRuleCallOrigin, this,
1, inst);
default:
return null;
}
}
}
// body=Expressions
protected class TryClause_BodyAssignment_4 extends AssignmentToken {
public TryClause_BodyAssignment_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTryClauseAccess().getBodyAssignment_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expressions_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("body", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("body");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionsRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTryClauseAccess()
.getBodyExpressionsParserRuleCall_4_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TryClause_HyphenMinusGreaterThanSignKeyword_3(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule TryClause ****************/
/************
* begin Rule ListOrComprehension ****************
*
* ListOrComprehension returns ErlList: "[" ({ErlList} |
* elements+=Expression ("," elements+=Expression)* ("|" tail=Expression |
* {ListComprehension.root=current} "||" generators+=LCExpr (","
* generators+=LCExpr)*)?) "]";
*
**/
// "[" ({ErlList} | elements+=Expression ("," elements+=Expression)* ("|"
// tail=Expression |
// {ListComprehension.root=current} "||" generators+=LCExpr (","
// generators+=LCExpr)*)?) "]"
protected class ListOrComprehension_Group extends GroupToken {
public ListOrComprehension_Group(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ListOrComprehension_RightSquareBracketKeyword_2(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "["
protected class ListOrComprehension_LeftSquareBracketKeyword_0 extends
KeywordToken {
public ListOrComprehension_LeftSquareBracketKeyword_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess()
.getLeftSquareBracketKeyword_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// {ErlList} | elements+=Expression ("," elements+=Expression)* ("|"
// tail=Expression | {ListComprehension.root=current}
// "||" generators+=LCExpr ("," generators+=LCExpr)*)?
protected class ListOrComprehension_Alternatives_1 extends
AlternativesToken {
public ListOrComprehension_Alternatives_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess()
.getAlternatives_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ListOrComprehension_ErlListAction_1_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new ListOrComprehension_Group_1_1(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// {ErlList}
protected class ListOrComprehension_ErlListAction_1_0 extends ActionToken {
public ListOrComprehension_ErlListAction_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess()
.getErlListAction_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ListOrComprehension_LeftSquareBracketKeyword_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess().getErlListAction_1_0()
.getType().getClassifier()) {
return null;
}
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// elements+=Expression ("," elements+=Expression)* ("|" tail=Expression |
// {ListComprehension.root=current} "||"
// generators+=LCExpr ("," generators+=LCExpr)*)?
protected class ListOrComprehension_Group_1_1 extends GroupToken {
public ListOrComprehension_Group_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess().getGroup_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ListOrComprehension_Alternatives_1_1_2(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new ListOrComprehension_Group_1_1_1(lastRuleCallOrigin,
this, 1, inst);
case 2:
return new ListOrComprehension_ElementsAssignment_1_1_0(
lastRuleCallOrigin, this, 2, inst);
default:
return null;
}
}
}
// elements+=Expression
protected class ListOrComprehension_ElementsAssignment_1_1_0 extends
AssignmentToken {
public ListOrComprehension_ElementsAssignment_1_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess()
.getElementsAssignment_1_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType().getClassifier()) {
return null;
}
if ((value = eObjectConsumer.getConsumable("elements", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("elements");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getListOrComprehensionAccess()
.getElementsExpressionParserRuleCall_1_1_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ListOrComprehension_LeftSquareBracketKeyword_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ("," elements+=Expression)*
protected class ListOrComprehension_Group_1_1_1 extends GroupToken {
public ListOrComprehension_Group_1_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess()
.getGroup_1_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ListOrComprehension_ElementsAssignment_1_1_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// ","
protected class ListOrComprehension_CommaKeyword_1_1_1_0 extends
KeywordToken {
public ListOrComprehension_CommaKeyword_1_1_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess()
.getCommaKeyword_1_1_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ListOrComprehension_Group_1_1_1(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new ListOrComprehension_ElementsAssignment_1_1_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// elements+=Expression
protected class ListOrComprehension_ElementsAssignment_1_1_1_1 extends
AssignmentToken {
public ListOrComprehension_ElementsAssignment_1_1_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess()
.getElementsAssignment_1_1_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("elements", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("elements");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getListOrComprehensionAccess()
.getElementsExpressionParserRuleCall_1_1_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ListOrComprehension_CommaKeyword_1_1_1_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ("|" tail=Expression | {ListComprehension.root=current} "||"
// generators+=LCExpr ("," generators+=LCExpr)*)?
protected class ListOrComprehension_Alternatives_1_1_2 extends
AlternativesToken {
public ListOrComprehension_Alternatives_1_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess()
.getAlternatives_1_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ListOrComprehension_Group_1_1_2_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new ListOrComprehension_Group_1_1_2_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// "|" tail=Expression
protected class ListOrComprehension_Group_1_1_2_0 extends GroupToken {
public ListOrComprehension_Group_1_1_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess()
.getGroup_1_1_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ListOrComprehension_TailAssignment_1_1_2_0_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "|"
protected class ListOrComprehension_VerticalLineKeyword_1_1_2_0_0 extends
KeywordToken {
public ListOrComprehension_VerticalLineKeyword_1_1_2_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess()
.getVerticalLineKeyword_1_1_2_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ListOrComprehension_Group_1_1_1(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new ListOrComprehension_ElementsAssignment_1_1_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// tail=Expression
protected class ListOrComprehension_TailAssignment_1_1_2_0_1 extends
AssignmentToken {
public ListOrComprehension_TailAssignment_1_1_2_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess()
.getTailAssignment_1_1_2_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("tail", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("tail");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getListOrComprehensionAccess()
.getTailExpressionParserRuleCall_1_1_2_0_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ListOrComprehension_VerticalLineKeyword_1_1_2_0_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// {ListComprehension.root=current} "||" generators+=LCExpr (","
// generators+=LCExpr)*
protected class ListOrComprehension_Group_1_1_2_1 extends GroupToken {
public ListOrComprehension_Group_1_1_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess()
.getGroup_1_1_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ListOrComprehension_Group_1_1_2_1_3(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new ListOrComprehension_GeneratorsAssignment_1_1_2_1_2(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0().getType()
.getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {ListComprehension.root=current}
protected class ListOrComprehension_ListComprehensionRootAction_1_1_2_1_0
extends ActionToken {
public ListOrComprehension_ListComprehensionRootAction_1_1_2_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ListOrComprehension_Group_1_1_1(lastRuleCallOrigin,
this, 0, inst);
case 1:
return new ListOrComprehension_ElementsAssignment_1_1_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
final Object val = eObjectConsumer.getConsumable("root", false);
if (val == null) {
return null;
}
if (!eObjectConsumer.isConsumedWithLastConsumtion("root")) {
return null;
}
return createEObjectConsumer((EObject) val);
}
}
// "||"
protected class ListOrComprehension_VerticalLineVerticalLineKeyword_1_1_2_1_1
extends KeywordToken {
public ListOrComprehension_VerticalLineVerticalLineKeyword_1_1_2_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess()
.getVerticalLineVerticalLineKeyword_1_1_2_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ListOrComprehension_ListComprehensionRootAction_1_1_2_1_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// generators+=LCExpr
protected class ListOrComprehension_GeneratorsAssignment_1_1_2_1_2 extends
AssignmentToken {
public ListOrComprehension_GeneratorsAssignment_1_1_2_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess()
.getGeneratorsAssignment_1_1_2_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LCExpr_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("generators", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("generators");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getLCExprRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getListOrComprehensionAccess()
.getGeneratorsLCExprParserRuleCall_1_1_2_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ListOrComprehension_VerticalLineVerticalLineKeyword_1_1_2_1_1(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ("," generators+=LCExpr)*
protected class ListOrComprehension_Group_1_1_2_1_3 extends GroupToken {
public ListOrComprehension_Group_1_1_2_1_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess()
.getGroup_1_1_2_1_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ListOrComprehension_GeneratorsAssignment_1_1_2_1_3_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// ","
protected class ListOrComprehension_CommaKeyword_1_1_2_1_3_0 extends
KeywordToken {
public ListOrComprehension_CommaKeyword_1_1_2_1_3_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess()
.getCommaKeyword_1_1_2_1_3_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ListOrComprehension_Group_1_1_2_1_3(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new ListOrComprehension_GeneratorsAssignment_1_1_2_1_2(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// generators+=LCExpr
protected class ListOrComprehension_GeneratorsAssignment_1_1_2_1_3_1 extends
AssignmentToken {
public ListOrComprehension_GeneratorsAssignment_1_1_2_1_3_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess()
.getGeneratorsAssignment_1_1_2_1_3_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LCExpr_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("generators", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("generators");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getLCExprRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getListOrComprehensionAccess()
.getGeneratorsLCExprParserRuleCall_1_1_2_1_3_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new ListOrComprehension_CommaKeyword_1_1_2_1_3_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// "]"
protected class ListOrComprehension_RightSquareBracketKeyword_2 extends
KeywordToken {
public ListOrComprehension_RightSquareBracketKeyword_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getListOrComprehensionAccess()
.getRightSquareBracketKeyword_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ListOrComprehension_Alternatives_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
/************ end Rule ListOrComprehension ****************/
/************
* begin Rule Tuple ****************
*
* Tuple returns ErlTuple: "{" ({ErlTuple} | elements+=Expression (","
* elements+=Expression)*) "}";
*
**/
// "{" ({ErlTuple} | elements+=Expression ("," elements+=Expression)*) "}"
protected class Tuple_Group extends GroupToken {
public Tuple_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTupleAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Tuple_RightCurlyBracketKeyword_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTupleRule().getType()
.getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "{"
protected class Tuple_LeftCurlyBracketKeyword_0 extends KeywordToken {
public Tuple_LeftCurlyBracketKeyword_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTupleAccess()
.getLeftCurlyBracketKeyword_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// {ErlTuple} | elements+=Expression ("," elements+=Expression)*
protected class Tuple_Alternatives_1 extends AlternativesToken {
public Tuple_Alternatives_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getTupleAccess().getAlternatives_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Tuple_ErlTupleAction_1_0(lastRuleCallOrigin, this,
0, inst);
case 1:
return new Tuple_Group_1_1(lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// {ErlTuple}
protected class Tuple_ErlTupleAction_1_0 extends ActionToken {
public Tuple_ErlTupleAction_1_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getTupleAccess().getErlTupleAction_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Tuple_LeftCurlyBracketKeyword_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// elements+=Expression ("," elements+=Expression)*
protected class Tuple_Group_1_1 extends GroupToken {
public Tuple_Group_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTupleAccess().getGroup_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Tuple_Group_1_1_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Tuple_ElementsAssignment_1_1_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// elements+=Expression
protected class Tuple_ElementsAssignment_1_1_0 extends AssignmentToken {
public Tuple_ElementsAssignment_1_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTupleAccess().getElementsAssignment_1_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("elements", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("elements");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTupleAccess()
.getElementsExpressionParserRuleCall_1_1_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Tuple_LeftCurlyBracketKeyword_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// ("," elements+=Expression)*
protected class Tuple_Group_1_1_1 extends GroupToken {
public Tuple_Group_1_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTupleAccess().getGroup_1_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Tuple_ElementsAssignment_1_1_1_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// ","
protected class Tuple_CommaKeyword_1_1_1_0 extends KeywordToken {
public Tuple_CommaKeyword_1_1_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTupleAccess().getCommaKeyword_1_1_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Tuple_Group_1_1_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Tuple_ElementsAssignment_1_1_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// elements+=Expression
protected class Tuple_ElementsAssignment_1_1_1_1 extends AssignmentToken {
public Tuple_ElementsAssignment_1_1_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTupleAccess()
.getElementsAssignment_1_1_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("elements", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("elements");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTupleAccess()
.getElementsExpressionParserRuleCall_1_1_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Tuple_CommaKeyword_1_1_1_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// "}"
protected class Tuple_RightCurlyBracketKeyword_2 extends KeywordToken {
public Tuple_RightCurlyBracketKeyword_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTupleAccess()
.getRightCurlyBracketKeyword_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Tuple_Alternatives_1(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
}
/************ end Rule Tuple ****************/
/************
* begin Rule BinaryOrComprehension ****************
*
* BinaryOrComprehension returns ErlBinary: "<<" ({ErlBinary} |
* elements+=BinaryItem ("," elements+=BinaryItem)*
* ({BinaryComprehension.root=current} "||" generators+=LCExpr (","
* generators+=LCExpr)*)?) ">>";
*
**/
// "<<" ({ErlBinary} | elements+=BinaryItem ("," elements+=BinaryItem)*
// ({BinaryComprehension.root=current} "||"
// generators+=LCExpr ("," generators+=LCExpr)*)?) ">>"
protected class BinaryOrComprehension_Group extends GroupToken {
public BinaryOrComprehension_Group(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getBinaryOrComprehensionAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryOrComprehension_GreaterThanSignGreaterThanSignKeyword_2(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "<<"
protected class BinaryOrComprehension_LessThanSignLessThanSignKeyword_0
extends KeywordToken {
public BinaryOrComprehension_LessThanSignLessThanSignKeyword_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getBinaryOrComprehensionAccess()
.getLessThanSignLessThanSignKeyword_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// {ErlBinary} | elements+=BinaryItem ("," elements+=BinaryItem)*
// ({BinaryComprehension.root=current} "||"
// generators+=LCExpr ("," generators+=LCExpr)*)?
protected class BinaryOrComprehension_Alternatives_1 extends
AlternativesToken {
public BinaryOrComprehension_Alternatives_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getBinaryOrComprehensionAccess()
.getAlternatives_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryOrComprehension_ErlBinaryAction_1_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new BinaryOrComprehension_Group_1_1(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// {ErlBinary}
protected class BinaryOrComprehension_ErlBinaryAction_1_0 extends
ActionToken {
public BinaryOrComprehension_ErlBinaryAction_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getBinaryOrComprehensionAccess()
.getErlBinaryAction_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryOrComprehension_LessThanSignLessThanSignKeyword_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess().getErlBinaryAction_1_0()
.getType().getClassifier()) {
return null;
}
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// elements+=BinaryItem ("," elements+=BinaryItem)*
// ({BinaryComprehension.root=current} "||" generators+=LCExpr (","
// generators+=LCExpr)*)?
protected class BinaryOrComprehension_Group_1_1 extends GroupToken {
public BinaryOrComprehension_Group_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getBinaryOrComprehensionAccess()
.getGroup_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryOrComprehension_Group_1_1_2(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new BinaryOrComprehension_Group_1_1_1(
lastRuleCallOrigin, this, 1, inst);
case 2:
return new BinaryOrComprehension_ElementsAssignment_1_1_0(
lastRuleCallOrigin, this, 2, inst);
default:
return null;
}
}
}
// elements+=BinaryItem
protected class BinaryOrComprehension_ElementsAssignment_1_1_0 extends
AssignmentToken {
public BinaryOrComprehension_ElementsAssignment_1_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBinaryOrComprehensionAccess()
.getElementsAssignment_1_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryItem_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType().getClassifier()) {
return null;
}
if ((value = eObjectConsumer.getConsumable("elements", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("elements");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getBinaryItemRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getBinaryOrComprehensionAccess()
.getElementsBinaryItemParserRuleCall_1_1_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new BinaryOrComprehension_LessThanSignLessThanSignKeyword_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ("," elements+=BinaryItem)*
protected class BinaryOrComprehension_Group_1_1_1 extends GroupToken {
public BinaryOrComprehension_Group_1_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getBinaryOrComprehensionAccess()
.getGroup_1_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryOrComprehension_ElementsAssignment_1_1_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// ","
protected class BinaryOrComprehension_CommaKeyword_1_1_1_0 extends
KeywordToken {
public BinaryOrComprehension_CommaKeyword_1_1_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getBinaryOrComprehensionAccess()
.getCommaKeyword_1_1_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryOrComprehension_Group_1_1_1(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new BinaryOrComprehension_ElementsAssignment_1_1_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// elements+=BinaryItem
protected class BinaryOrComprehension_ElementsAssignment_1_1_1_1 extends
AssignmentToken {
public BinaryOrComprehension_ElementsAssignment_1_1_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBinaryOrComprehensionAccess()
.getElementsAssignment_1_1_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryItem_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("elements", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("elements");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getBinaryItemRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getBinaryOrComprehensionAccess()
.getElementsBinaryItemParserRuleCall_1_1_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new BinaryOrComprehension_CommaKeyword_1_1_1_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ({BinaryComprehension.root=current} "||" generators+=LCExpr (","
// generators+=LCExpr)*)?
protected class BinaryOrComprehension_Group_1_1_2 extends GroupToken {
public BinaryOrComprehension_Group_1_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getBinaryOrComprehensionAccess()
.getGroup_1_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryOrComprehension_Group_1_1_2_3(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new BinaryOrComprehension_GeneratorsAssignment_1_1_2_2(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0().getType()
.getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {BinaryComprehension.root=current}
protected class BinaryOrComprehension_BinaryComprehensionRootAction_1_1_2_0
extends ActionToken {
public BinaryOrComprehension_BinaryComprehensionRootAction_1_1_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryOrComprehension_Group_1_1_1(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new BinaryOrComprehension_ElementsAssignment_1_1_0(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
final Object val = eObjectConsumer.getConsumable("root", false);
if (val == null) {
return null;
}
if (!eObjectConsumer.isConsumedWithLastConsumtion("root")) {
return null;
}
return createEObjectConsumer((EObject) val);
}
}
// "||"
protected class BinaryOrComprehension_VerticalLineVerticalLineKeyword_1_1_2_1
extends KeywordToken {
public BinaryOrComprehension_VerticalLineVerticalLineKeyword_1_1_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getBinaryOrComprehensionAccess()
.getVerticalLineVerticalLineKeyword_1_1_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryOrComprehension_BinaryComprehensionRootAction_1_1_2_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// generators+=LCExpr
protected class BinaryOrComprehension_GeneratorsAssignment_1_1_2_2 extends
AssignmentToken {
public BinaryOrComprehension_GeneratorsAssignment_1_1_2_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBinaryOrComprehensionAccess()
.getGeneratorsAssignment_1_1_2_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LCExpr_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("generators", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("generators");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getLCExprRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getBinaryOrComprehensionAccess()
.getGeneratorsLCExprParserRuleCall_1_1_2_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new BinaryOrComprehension_VerticalLineVerticalLineKeyword_1_1_2_1(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ("," generators+=LCExpr)*
protected class BinaryOrComprehension_Group_1_1_2_3 extends GroupToken {
public BinaryOrComprehension_Group_1_1_2_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getBinaryOrComprehensionAccess()
.getGroup_1_1_2_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryOrComprehension_GeneratorsAssignment_1_1_2_3_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// ","
protected class BinaryOrComprehension_CommaKeyword_1_1_2_3_0 extends
KeywordToken {
public BinaryOrComprehension_CommaKeyword_1_1_2_3_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getBinaryOrComprehensionAccess()
.getCommaKeyword_1_1_2_3_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryOrComprehension_Group_1_1_2_3(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new BinaryOrComprehension_GeneratorsAssignment_1_1_2_2(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// generators+=LCExpr
protected class BinaryOrComprehension_GeneratorsAssignment_1_1_2_3_1 extends
AssignmentToken {
public BinaryOrComprehension_GeneratorsAssignment_1_1_2_3_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBinaryOrComprehensionAccess()
.getGeneratorsAssignment_1_1_2_3_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LCExpr_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("generators", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("generators");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getLCExprRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getBinaryOrComprehensionAccess()
.getGeneratorsLCExprParserRuleCall_1_1_2_3_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new BinaryOrComprehension_CommaKeyword_1_1_2_3_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ">>"
protected class BinaryOrComprehension_GreaterThanSignGreaterThanSignKeyword_2
extends KeywordToken {
public BinaryOrComprehension_GreaterThanSignGreaterThanSignKeyword_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getBinaryOrComprehensionAccess()
.getGreaterThanSignGreaterThanSignKeyword_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryOrComprehension_Alternatives_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
/************ end Rule BinaryOrComprehension ****************/
/************
* begin Rule BinaryItem ****************
*
* BinaryItem: expr=UnaryExprMax (":" size=ExprMax)? ("/" types+=BitType
* ("-" type+=BitType)*)?;
*
**/
// expr=UnaryExprMax (":" size=ExprMax)? ("/" types+=BitType ("-"
// type+=BitType)*)?
protected class BinaryItem_Group extends GroupToken {
public BinaryItem_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getBinaryItemAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryItem_Group_2(lastRuleCallOrigin, this, 0, inst);
case 1:
return new BinaryItem_Group_1(lastRuleCallOrigin, this, 1, inst);
case 2:
return new BinaryItem_ExprAssignment_0(lastRuleCallOrigin,
this, 2, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getBinaryItemRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// expr=UnaryExprMax
protected class BinaryItem_ExprAssignment_0 extends AssignmentToken {
public BinaryItem_ExprAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBinaryItemAccess().getExprAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new UnaryExprMax_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("expr", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("expr");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getUnaryExprMaxRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getBinaryItemAccess()
.getExprUnaryExprMaxParserRuleCall_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// (=> ":" size=ExprMax)?
protected class BinaryItem_Group_1 extends GroupToken {
public BinaryItem_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getBinaryItemAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryItem_SizeAssignment_1_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// => ":"
protected class BinaryItem_ColonKeyword_1_0 extends KeywordToken {
public BinaryItem_ColonKeyword_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getBinaryItemAccess().getColonKeyword_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryItem_ExprAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// size=ExprMax
protected class BinaryItem_SizeAssignment_1_1 extends AssignmentToken {
public BinaryItem_SizeAssignment_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBinaryItemAccess().getSizeAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExprMax_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("size", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("size");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExprMaxRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getBinaryItemAccess()
.getSizeExprMaxParserRuleCall_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new BinaryItem_ColonKeyword_1_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// (=> "/" types+=BitType ("-" type+=BitType)*)?
protected class BinaryItem_Group_2 extends GroupToken {
public BinaryItem_Group_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getBinaryItemAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryItem_Group_2_2(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new BinaryItem_TypesAssignment_2_1(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// => "/"
protected class BinaryItem_SolidusKeyword_2_0 extends KeywordToken {
public BinaryItem_SolidusKeyword_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getBinaryItemAccess().getSolidusKeyword_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryItem_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new BinaryItem_ExprAssignment_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// types+=BitType
protected class BinaryItem_TypesAssignment_2_1 extends AssignmentToken {
public BinaryItem_TypesAssignment_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBinaryItemAccess().getTypesAssignment_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BitType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("types", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("types");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getBitTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getBinaryItemAccess()
.getTypesBitTypeParserRuleCall_2_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new BinaryItem_SolidusKeyword_2_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// ("-" type+=BitType)*
protected class BinaryItem_Group_2_2 extends GroupToken {
public BinaryItem_Group_2_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getBinaryItemAccess().getGroup_2_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryItem_TypeAssignment_2_2_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// "-"
protected class BinaryItem_HyphenMinusKeyword_2_2_0 extends KeywordToken {
public BinaryItem_HyphenMinusKeyword_2_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getBinaryItemAccess()
.getHyphenMinusKeyword_2_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryItem_Group_2_2(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new BinaryItem_TypesAssignment_2_1(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// type+=BitType
protected class BinaryItem_TypeAssignment_2_2_1 extends AssignmentToken {
public BinaryItem_TypeAssignment_2_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBinaryItemAccess()
.getTypeAssignment_2_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BitType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("type", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("type");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getBitTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getBinaryItemAccess()
.getTypeBitTypeParserRuleCall_2_2_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new BinaryItem_HyphenMinusKeyword_2_2_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule BinaryItem ****************/
/************
* begin Rule BitType ****************
*
* BitType: typeName=[AtomRefTarget|NAMEMACRO] (":" size=IntVarMacro)?;
*
**/
// typeName=[AtomRefTarget|NAMEMACRO] (":" size=IntVarMacro)?
protected class BitType_Group extends GroupToken {
public BitType_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getBitTypeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BitType_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new BitType_TypeNameAssignment_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getBitTypeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// typeName=[AtomRefTarget|NAMEMACRO]
protected class BitType_TypeNameAssignment_0 extends AssignmentToken {
public BitType_TypeNameAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBitTypeAccess().getTypeNameAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("typeName", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("typeName");
if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getBitTypeAccess()
.getTypeNameAtomRefTargetCrossReference_0_0().getType()
.getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getBitTypeAccess()
.getTypeNameAtomRefTargetCrossReference_0_0();
return obj;
}
}
return null;
}
}
// (":" size=IntVarMacro)?
protected class BitType_Group_1 extends GroupToken {
public BitType_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getBitTypeAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BitType_SizeAssignment_1_1(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
}
// ":"
protected class BitType_ColonKeyword_1_0 extends KeywordToken {
public BitType_ColonKeyword_1_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getBitTypeAccess().getColonKeyword_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BitType_TypeNameAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// size=IntVarMacro
protected class BitType_SizeAssignment_1_1 extends AssignmentToken {
public BitType_SizeAssignment_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBitTypeAccess().getSizeAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IntVarMacro_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("size", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("size");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getIntVarMacroRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getBitTypeAccess()
.getSizeIntVarMacroParserRuleCall_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new BitType_ColonKeyword_1_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule BitType ****************/
/************
* begin Rule UnaryExprMax ****************
*
* UnaryExprMax returns Expression: {UnaryExpr} op=PREFIXOP operand=ExprMax
* | ExprMax;
*
**/
// {UnaryExpr} op=PREFIXOP operand=ExprMax | ExprMax
protected class UnaryExprMax_Alternatives extends AlternativesToken {
public UnaryExprMax_Alternatives(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getUnaryExprMaxAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new UnaryExprMax_Group_0(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new UnaryExprMax_ExprMaxParserRuleCall_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getExpr400Access()
.getAddOpOpLeftAction_1_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getAtomAction_0_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr300Access().getBinOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionAccess()
.getBinaryComprehensionRootAction_1_1_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExprMaxAccess().getBlockExprAction_2_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getCaseExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpressionAccess().getCatchExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getCondExprAccess().getCondExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getBinaryOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionNoNumberAccess()
.getErlCharAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLiteralExpressionAccess()
.getErlFloatAction_2_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionRule().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTupleRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getStringLiteralRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr700Access().getFunCallTargetAction_1_0_1()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getInlineFunRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getFunRefRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getIfExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getLetExprAccess().getLetExprAction_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getListOrComprehensionAccess()
.getListComprehensionRootAction_1_1_2_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr100Access()
.getMatchExprOpLeftAction_1_0_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr500Access().getMultOpOpLeftAction_1_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getQueryExprAccess().getQueryExprAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getReceiveExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getRecordExprRule().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getExpr800Access()
.getRemoteTargetModuleAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTryExprRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getUnaryExprAccess().getUnaryExprAction_0_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {UnaryExpr} op=PREFIXOP operand=ExprMax
protected class UnaryExprMax_Group_0 extends GroupToken {
public UnaryExprMax_Group_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getUnaryExprMaxAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new UnaryExprMax_OperandAssignment_0_2(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getUnaryExprMaxAccess()
.getUnaryExprAction_0_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {UnaryExpr}
protected class UnaryExprMax_UnaryExprAction_0_0 extends ActionToken {
public UnaryExprMax_UnaryExprAction_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getUnaryExprMaxAccess()
.getUnaryExprAction_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// op=PREFIXOP
protected class UnaryExprMax_OpAssignment_0_1 extends AssignmentToken {
public UnaryExprMax_OpAssignment_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getUnaryExprMaxAccess().getOpAssignment_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new UnaryExprMax_UnaryExprAction_0_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("op", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getUnaryExprMaxAccess()
.getOpPREFIXOPParserRuleCall_0_1_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getUnaryExprMaxAccess()
.getOpPREFIXOPParserRuleCall_0_1_0();
return obj;
}
return null;
}
}
// operand=ExprMax
protected class UnaryExprMax_OperandAssignment_0_2 extends AssignmentToken {
public UnaryExprMax_OperandAssignment_0_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getUnaryExprMaxAccess()
.getOperandAssignment_0_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExprMax_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("operand", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("operand");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExprMaxRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getUnaryExprMaxAccess()
.getOperandExprMaxParserRuleCall_0_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new UnaryExprMax_OpAssignment_0_1(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// ExprMax
protected class UnaryExprMax_ExprMaxParserRuleCall_1 extends RuleCallToken {
public UnaryExprMax_ExprMaxParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getUnaryExprMaxAccess()
.getExprMaxParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ExprMax_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(ExprMax_Alternatives.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
/************ end Rule UnaryExprMax ****************/
/************
* begin Rule LCExpr ****************
*
* LCExpr: o1=Expression (op=("<-" | "<=") o2=Expression)?;
*
**/
// o1=Expression (op=("<-" | "<=") o2=Expression)?
protected class LCExpr_Group extends GroupToken {
public LCExpr_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getLCExprAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LCExpr_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new LCExpr_O1Assignment_0(lastRuleCallOrigin, this, 1,
inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getLCExprRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// o1=Expression
protected class LCExpr_O1Assignment_0 extends AssignmentToken {
public LCExpr_O1Assignment_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getLCExprAccess().getO1Assignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("o1", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("o1");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getLCExprAccess()
.getO1ExpressionParserRuleCall_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// (op=("<-" | "<=") o2=Expression)?
protected class LCExpr_Group_1 extends GroupToken {
public LCExpr_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getLCExprAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LCExpr_O2Assignment_1_1(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
}
// op=("<-" | "<=")
protected class LCExpr_OpAssignment_1_0 extends AssignmentToken {
public LCExpr_OpAssignment_1_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getLCExprAccess().getOpAssignment_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new LCExpr_O1Assignment_0(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("op", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
if (keywordSerializer
.isValid(obj.getEObject(), grammarAccess.getLCExprAccess()
.getOpLessThanSignHyphenMinusKeyword_1_0_0_0(),
value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getLCExprAccess()
.getOpLessThanSignHyphenMinusKeyword_1_0_0_0();
return obj;
}
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getLCExprAccess()
.getOpLessThanSignEqualsSignKeyword_1_0_0_1(), value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getLCExprAccess()
.getOpLessThanSignEqualsSignKeyword_1_0_0_1();
return obj;
}
return null;
}
}
// o2=Expression
protected class LCExpr_O2Assignment_1_1 extends AssignmentToken {
public LCExpr_O2Assignment_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getLCExprAccess().getO2Assignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Expression_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("o2", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("o2");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getExpressionRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getLCExprAccess()
.getO2ExpressionParserRuleCall_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new LCExpr_OpAssignment_1_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule LCExpr ****************/
/************
* begin Rule ModuleVarMacro ****************
*
* // Literal combinations ModuleVarMacro returns Expression: ModuleRef |
* VariableLiteral | MacroLiteral;
*
**/
// ModuleRef | VariableLiteral | MacroLiteral
protected class ModuleVarMacro_Alternatives extends AlternativesToken {
public ModuleVarMacro_Alternatives(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getModuleVarMacroAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ModuleVarMacro_ModuleRefParserRuleCall_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new ModuleVarMacro_VariableLiteralParserRuleCall_1(
lastRuleCallOrigin, this, 1, inst);
case 2:
return new ModuleVarMacro_MacroLiteralParserRuleCall_2(
lastRuleCallOrigin, this, 2, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getModuleRefAccess()
.getAtomRefAction_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// ModuleRef
protected class ModuleVarMacro_ModuleRefParserRuleCall_0 extends
RuleCallToken {
public ModuleVarMacro_ModuleRefParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getModuleVarMacroAccess()
.getModuleRefParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ModuleRef_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getModuleRefAccess()
.getAtomRefAction_0().getType().getClassifier()) {
return null;
}
if (checkForRecursion(ModuleRef_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// VariableLiteral
protected class ModuleVarMacro_VariableLiteralParserRuleCall_1 extends
RuleCallToken {
public ModuleVarMacro_VariableLiteralParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getModuleVarMacroAccess()
.getVariableLiteralParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new VariableLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0().getType()
.getClassifier()) {
return null;
}
if (checkForRecursion(VariableLiteral_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// MacroLiteral
protected class ModuleVarMacro_MacroLiteralParserRuleCall_2 extends
RuleCallToken {
public ModuleVarMacro_MacroLiteralParserRuleCall_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getModuleVarMacroAccess()
.getMacroLiteralParserRuleCall_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getMacroLiteralAccess()
.getMacroAction_0().getType().getClassifier()) {
return null;
}
if (checkForRecursion(MacroLiteral_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
/************ end Rule ModuleVarMacro ****************/
/************
* begin Rule FunctionVarMacro ****************
*
* FunctionVarMacro returns Expression: FunctionRef | VariableLiteral |
* MacroLiteral;
*
**/
// FunctionRef | VariableLiteral | MacroLiteral
protected class FunctionVarMacro_Alternatives extends AlternativesToken {
public FunctionVarMacro_Alternatives(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getFunctionVarMacroAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunctionVarMacro_FunctionRefParserRuleCall_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new FunctionVarMacro_VariableLiteralParserRuleCall_1(
lastRuleCallOrigin, this, 1, inst);
case 2:
return new FunctionVarMacro_MacroLiteralParserRuleCall_2(
lastRuleCallOrigin, this, 2, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getFunctionRefAccess()
.getAtomRefAction_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// FunctionRef
protected class FunctionVarMacro_FunctionRefParserRuleCall_0 extends
RuleCallToken {
public FunctionVarMacro_FunctionRefParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getFunctionVarMacroAccess()
.getFunctionRefParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunctionRef_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getFunctionRefAccess()
.getAtomRefAction_0().getType().getClassifier()) {
return null;
}
if (checkForRecursion(FunctionRef_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// VariableLiteral
protected class FunctionVarMacro_VariableLiteralParserRuleCall_1 extends
RuleCallToken {
public FunctionVarMacro_VariableLiteralParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getFunctionVarMacroAccess()
.getVariableLiteralParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new VariableLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0().getType()
.getClassifier()) {
return null;
}
if (checkForRecursion(VariableLiteral_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// MacroLiteral
protected class FunctionVarMacro_MacroLiteralParserRuleCall_2 extends
RuleCallToken {
public FunctionVarMacro_MacroLiteralParserRuleCall_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getFunctionVarMacroAccess()
.getMacroLiteralParserRuleCall_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getMacroLiteralAccess()
.getMacroAction_0().getType().getClassifier()) {
return null;
}
if (checkForRecursion(MacroLiteral_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
/************ end Rule FunctionVarMacro ****************/
/************
* begin Rule RecordVarMacro ****************
*
* RecordVarMacro returns Expression: RecordRef | VariableLiteral |
* MacroLiteral;
*
**/
// RecordRef | VariableLiteral | MacroLiteral
protected class RecordVarMacro_Alternatives extends AlternativesToken {
public RecordVarMacro_Alternatives(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getRecordVarMacroAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordVarMacro_RecordRefParserRuleCall_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new RecordVarMacro_VariableLiteralParserRuleCall_1(
lastRuleCallOrigin, this, 1, inst);
case 2:
return new RecordVarMacro_MacroLiteralParserRuleCall_2(
lastRuleCallOrigin, this, 2, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getRecordRefAccess()
.getAtomRefAction_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// RecordRef
protected class RecordVarMacro_RecordRefParserRuleCall_0 extends
RuleCallToken {
public RecordVarMacro_RecordRefParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getRecordVarMacroAccess()
.getRecordRefParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordRef_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getRecordRefAccess()
.getAtomRefAction_0().getType().getClassifier()) {
return null;
}
if (checkForRecursion(RecordRef_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// VariableLiteral
protected class RecordVarMacro_VariableLiteralParserRuleCall_1 extends
RuleCallToken {
public RecordVarMacro_VariableLiteralParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getRecordVarMacroAccess()
.getVariableLiteralParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new VariableLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0().getType()
.getClassifier()) {
return null;
}
if (checkForRecursion(VariableLiteral_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// MacroLiteral
protected class RecordVarMacro_MacroLiteralParserRuleCall_2 extends
RuleCallToken {
public RecordVarMacro_MacroLiteralParserRuleCall_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getRecordVarMacroAccess()
.getMacroLiteralParserRuleCall_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getMacroLiteralAccess()
.getMacroAction_0().getType().getClassifier()) {
return null;
}
if (checkForRecursion(MacroLiteral_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
/************ end Rule RecordVarMacro ****************/
/************
* begin Rule RecordFieldVarMacro ****************
*
* RecordFieldVarMacro returns Expression: RecordFieldRef | VariableLiteral
* | MacroLiteral;
*
**/
// RecordFieldRef | VariableLiteral | MacroLiteral
protected class RecordFieldVarMacro_Alternatives extends AlternativesToken {
public RecordFieldVarMacro_Alternatives(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getRecordFieldVarMacroAccess()
.getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldVarMacro_RecordFieldRefParserRuleCall_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new RecordFieldVarMacro_VariableLiteralParserRuleCall_1(
lastRuleCallOrigin, this, 1, inst);
case 2:
return new RecordFieldVarMacro_MacroLiteralParserRuleCall_2(
lastRuleCallOrigin, this, 2, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getRecordFieldRefAccess().getAtomRefAction_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// RecordFieldRef
protected class RecordFieldVarMacro_RecordFieldRefParserRuleCall_0 extends
RuleCallToken {
public RecordFieldVarMacro_RecordFieldRefParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getRecordFieldVarMacroAccess()
.getRecordFieldRefParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordFieldRef_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getRecordFieldRefAccess().getAtomRefAction_0().getType()
.getClassifier()) {
return null;
}
if (checkForRecursion(RecordFieldRef_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// VariableLiteral
protected class RecordFieldVarMacro_VariableLiteralParserRuleCall_1 extends
RuleCallToken {
public RecordFieldVarMacro_VariableLiteralParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getRecordFieldVarMacroAccess()
.getVariableLiteralParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new VariableLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0().getType()
.getClassifier()) {
return null;
}
if (checkForRecursion(VariableLiteral_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// MacroLiteral
protected class RecordFieldVarMacro_MacroLiteralParserRuleCall_2 extends
RuleCallToken {
public RecordFieldVarMacro_MacroLiteralParserRuleCall_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getRecordFieldVarMacroAccess()
.getMacroLiteralParserRuleCall_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getMacroLiteralAccess()
.getMacroAction_0().getType().getClassifier()) {
return null;
}
if (checkForRecursion(MacroLiteral_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
/************ end Rule RecordFieldVarMacro ****************/
/************
* begin Rule TypeVarMacro ****************
*
* TypeVarMacro returns Expression: TypeRef | VariableLiteral |
* MacroLiteral;
*
**/
// TypeRef | VariableLiteral | MacroLiteral
protected class TypeVarMacro_Alternatives extends AlternativesToken {
public TypeVarMacro_Alternatives(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getTypeVarMacroAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeVarMacro_TypeRefParserRuleCall_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new TypeVarMacro_VariableLiteralParserRuleCall_1(
lastRuleCallOrigin, this, 1, inst);
case 2:
return new TypeVarMacro_MacroLiteralParserRuleCall_2(
lastRuleCallOrigin, this, 2, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTypeRefAccess()
.getAtomRefAction_0().getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// TypeRef
protected class TypeVarMacro_TypeRefParserRuleCall_0 extends RuleCallToken {
public TypeVarMacro_TypeRefParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getTypeVarMacroAccess()
.getTypeRefParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeRef_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTypeRefAccess()
.getAtomRefAction_0().getType().getClassifier()) {
return null;
}
if (checkForRecursion(TypeRef_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// VariableLiteral
protected class TypeVarMacro_VariableLiteralParserRuleCall_1 extends
RuleCallToken {
public TypeVarMacro_VariableLiteralParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getTypeVarMacroAccess()
.getVariableLiteralParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new VariableLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0().getType()
.getClassifier()) {
return null;
}
if (checkForRecursion(VariableLiteral_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// MacroLiteral
protected class TypeVarMacro_MacroLiteralParserRuleCall_2 extends
RuleCallToken {
public TypeVarMacro_MacroLiteralParserRuleCall_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getTypeVarMacroAccess()
.getMacroLiteralParserRuleCall_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getMacroLiteralAccess()
.getMacroAction_0().getType().getClassifier()) {
return null;
}
if (checkForRecursion(MacroLiteral_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
/************ end Rule TypeVarMacro ****************/
/************
* begin Rule IntVarMacro ****************
*
* IntVarMacro returns Expression: IntegerLiteral | VariableLiteral |
* MacroLiteral;
*
**/
// IntegerLiteral | VariableLiteral | MacroLiteral
protected class IntVarMacro_Alternatives extends AlternativesToken {
public IntVarMacro_Alternatives(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getIntVarMacroAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IntVarMacro_IntegerLiteralParserRuleCall_0(
lastRuleCallOrigin, this, 0, inst);
case 1:
return new IntVarMacro_VariableLiteralParserRuleCall_1(
lastRuleCallOrigin, this, 1, inst);
case 2:
return new IntVarMacro_MacroLiteralParserRuleCall_2(
lastRuleCallOrigin, this, 2, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getMacroLiteralAccess().getMacroAction_0()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// IntegerLiteral
protected class IntVarMacro_IntegerLiteralParserRuleCall_0 extends
RuleCallToken {
public IntVarMacro_IntegerLiteralParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getIntVarMacroAccess()
.getIntegerLiteralParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IntegerLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getIntegerLiteralAccess().getErlIntegerAction_0()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(IntegerLiteral_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// VariableLiteral
protected class IntVarMacro_VariableLiteralParserRuleCall_1 extends
RuleCallToken {
public IntVarMacro_VariableLiteralParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getIntVarMacroAccess()
.getVariableLiteralParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new VariableLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess
.getVariableLiteralAccess().getVariableAction_0().getType()
.getClassifier()) {
return null;
}
if (checkForRecursion(VariableLiteral_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// MacroLiteral
protected class IntVarMacro_MacroLiteralParserRuleCall_2 extends
RuleCallToken {
public IntVarMacro_MacroLiteralParserRuleCall_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getIntVarMacroAccess()
.getMacroLiteralParserRuleCall_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new MacroLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getMacroLiteralAccess()
.getMacroAction_0().getType().getClassifier()) {
return null;
}
if (checkForRecursion(MacroLiteral_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
/************ end Rule IntVarMacro ****************/
/************
* begin Rule SpecFun ****************
*
* // Type language SpecFun returns FunRef: (module=ModuleVarMacro ":")?
* function=FunctionVarMacro ("/" arity=IntVarMacro "::")?;
*
**/
// (module=ModuleVarMacro ":")? function=FunctionVarMacro ("/"
// arity=IntVarMacro "::")?
protected class SpecFun_Group extends GroupToken {
public SpecFun_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSpecFunAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecFun_Group_2(lastRuleCallOrigin, this, 0, inst);
case 1:
return new SpecFun_FunctionAssignment_1(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getSpecFunRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// (module=ModuleVarMacro ":")?
protected class SpecFun_Group_0 extends GroupToken {
public SpecFun_Group_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSpecFunAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecFun_ColonKeyword_0_1(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
}
// module=ModuleVarMacro
protected class SpecFun_ModuleAssignment_0_0 extends AssignmentToken {
public SpecFun_ModuleAssignment_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSpecFunAccess().getModuleAssignment_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ModuleVarMacro_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("module", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("module");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getModuleVarMacroRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSpecFunAccess()
.getModuleModuleVarMacroParserRuleCall_0_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// ":"
protected class SpecFun_ColonKeyword_0_1 extends KeywordToken {
public SpecFun_ColonKeyword_0_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getSpecFunAccess().getColonKeyword_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecFun_ModuleAssignment_0_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// function=FunctionVarMacro
protected class SpecFun_FunctionAssignment_1 extends AssignmentToken {
public SpecFun_FunctionAssignment_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSpecFunAccess().getFunctionAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunctionVarMacro_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("function", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("function");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFunctionVarMacroRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSpecFunAccess()
.getFunctionFunctionVarMacroParserRuleCall_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new SpecFun_Group_0(lastRuleCallOrigin, next, actIndex,
consumed);
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index - 1, consumed);
}
}
}
// ("/" arity=IntVarMacro "::")?
protected class SpecFun_Group_2 extends GroupToken {
public SpecFun_Group_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSpecFunAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecFun_ColonColonKeyword_2_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// "/"
protected class SpecFun_SolidusKeyword_2_0 extends KeywordToken {
public SpecFun_SolidusKeyword_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getSpecFunAccess().getSolidusKeyword_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecFun_FunctionAssignment_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// arity=IntVarMacro
protected class SpecFun_ArityAssignment_2_1 extends AssignmentToken {
public SpecFun_ArityAssignment_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSpecFunAccess().getArityAssignment_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new IntVarMacro_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("arity", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("arity");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getIntVarMacroRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSpecFunAccess()
.getArityIntVarMacroParserRuleCall_2_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new SpecFun_SolidusKeyword_2_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// "::"
protected class SpecFun_ColonColonKeyword_2_2 extends KeywordToken {
public SpecFun_ColonColonKeyword_2_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getSpecFunAccess().getColonColonKeyword_2_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new SpecFun_ArityAssignment_2_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
/************ end Rule SpecFun ****************/
/************
* begin Rule TypeSig ****************
*
* TypeSig: decl=FunType ("when" guards=TypeGuards)?;
*
**/
// decl=FunType ("when" guards=TypeGuards)?
protected class TypeSig_Group extends GroupToken {
public TypeSig_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeSigAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeSig_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new TypeSig_DeclAssignment_0(lastRuleCallOrigin, this,
1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTypeSigRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// decl=FunType
protected class TypeSig_DeclAssignment_0 extends AssignmentToken {
public TypeSig_DeclAssignment_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeSigAccess().getDeclAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("decl", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("decl");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFunTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeSigAccess()
.getDeclFunTypeParserRuleCall_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// ("when" guards=TypeGuards)?
protected class TypeSig_Group_1 extends GroupToken {
public TypeSig_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeSigAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeSig_GuardsAssignment_1_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// "when"
protected class TypeSig_WhenKeyword_1_0 extends KeywordToken {
public TypeSig_WhenKeyword_1_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeSigAccess().getWhenKeyword_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeSig_DeclAssignment_0(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
}
// guards=TypeGuards
protected class TypeSig_GuardsAssignment_1_1 extends AssignmentToken {
public TypeSig_GuardsAssignment_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeSigAccess().getGuardsAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeGuards_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("guards", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("guards");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTypeGuardsRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeSigAccess()
.getGuardsTypeGuardsParserRuleCall_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TypeSig_WhenKeyword_1_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule TypeSig ****************/
/************
* begin Rule FunType ****************
*
* FunType: "(" (args+=TopType ("," args+=TopType)*)? ")" "->"
* return=TopType;
*
**/
// "(" (args+=TopType ("," args+=TopType)*)? ")" "->" return=TopType
protected class FunType_Group extends GroupToken {
public FunType_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getFunTypeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunType_ReturnAssignment_4(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getFunTypeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "("
protected class FunType_LeftParenthesisKeyword_0 extends KeywordToken {
public FunType_LeftParenthesisKeyword_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFunTypeAccess()
.getLeftParenthesisKeyword_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// (args+=TopType ("," args+=TopType)*)?
protected class FunType_Group_1 extends GroupToken {
public FunType_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getFunTypeAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunType_Group_1_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new FunType_ArgsAssignment_1_0(lastRuleCallOrigin, this,
1, inst);
default:
return null;
}
}
}
// args+=TopType
protected class FunType_ArgsAssignment_1_0 extends AssignmentToken {
public FunType_ArgsAssignment_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFunTypeAccess().getArgsAssignment_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("args", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("args");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getFunTypeAccess()
.getArgsTopTypeParserRuleCall_1_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new FunType_LeftParenthesisKeyword_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// ("," args+=TopType)*
protected class FunType_Group_1_1 extends GroupToken {
public FunType_Group_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getFunTypeAccess().getGroup_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunType_ArgsAssignment_1_1_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// ","
protected class FunType_CommaKeyword_1_1_0 extends KeywordToken {
public FunType_CommaKeyword_1_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFunTypeAccess().getCommaKeyword_1_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunType_Group_1_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new FunType_ArgsAssignment_1_0(lastRuleCallOrigin, this,
1, inst);
default:
return null;
}
}
}
// args+=TopType
protected class FunType_ArgsAssignment_1_1_1 extends AssignmentToken {
public FunType_ArgsAssignment_1_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFunTypeAccess().getArgsAssignment_1_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("args", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("args");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getFunTypeAccess()
.getArgsTopTypeParserRuleCall_1_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new FunType_CommaKeyword_1_1_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class FunType_RightParenthesisKeyword_2 extends KeywordToken {
public FunType_RightParenthesisKeyword_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFunTypeAccess()
.getRightParenthesisKeyword_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunType_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new FunType_LeftParenthesisKeyword_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// "->"
protected class FunType_HyphenMinusGreaterThanSignKeyword_3 extends
KeywordToken {
public FunType_HyphenMinusGreaterThanSignKeyword_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFunTypeAccess()
.getHyphenMinusGreaterThanSignKeyword_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunType_RightParenthesisKeyword_2(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// return=TopType
protected class FunType_ReturnAssignment_4 extends AssignmentToken {
public FunType_ReturnAssignment_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFunTypeAccess().getReturnAssignment_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("return", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("return");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getFunTypeAccess()
.getReturnTopTypeParserRuleCall_4_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new FunType_HyphenMinusGreaterThanSignKeyword_3(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule FunType ****************/
/************
* begin Rule TypeGuards ****************
*
* TypeGuards: items+=TypeGuard ("," items+=TypeGuard)*;
*
**/
// items+=TypeGuard ("," items+=TypeGuard)*
protected class TypeGuards_Group extends GroupToken {
public TypeGuards_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeGuardsAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeGuards_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new TypeGuards_ItemsAssignment_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTypeGuardsRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// items+=TypeGuard
protected class TypeGuards_ItemsAssignment_0 extends AssignmentToken {
public TypeGuards_ItemsAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeGuardsAccess().getItemsAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeGuard_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("items", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("items");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTypeGuardRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeGuardsAccess()
.getItemsTypeGuardParserRuleCall_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// ("," items+=TypeGuard)*
protected class TypeGuards_Group_1 extends GroupToken {
public TypeGuards_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeGuardsAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeGuards_ItemsAssignment_1_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// ","
protected class TypeGuards_CommaKeyword_1_0 extends KeywordToken {
public TypeGuards_CommaKeyword_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeGuardsAccess().getCommaKeyword_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeGuards_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new TypeGuards_ItemsAssignment_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// items+=TypeGuard
protected class TypeGuards_ItemsAssignment_1_1 extends AssignmentToken {
public TypeGuards_ItemsAssignment_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeGuardsAccess().getItemsAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeGuard_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("items", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("items");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTypeGuardRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeGuardsAccess()
.getItemsTypeGuardParserRuleCall_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TypeGuards_CommaKeyword_1_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule TypeGuards ****************/
/************
* begin Rule TypeGuard ****************
*
* TypeGuard: typeName=TypeRef "(" types+=TopType ("," types+=TopType)* ")"
* | typeName=VariableLiteral "::" type=TopType;
*
**/
// typeName=TypeRef "(" types+=TopType ("," types+=TopType)* ")" |
// typeName=VariableLiteral "::" type=TopType
protected class TypeGuard_Alternatives extends AlternativesToken {
public TypeGuard_Alternatives(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getTypeGuardAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeGuard_Group_0(lastRuleCallOrigin, this, 0, inst);
case 1:
return new TypeGuard_Group_1(lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTypeGuardRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// typeName=TypeRef "(" types+=TopType ("," types+=TopType)* ")"
protected class TypeGuard_Group_0 extends GroupToken {
public TypeGuard_Group_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeGuardAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeGuard_RightParenthesisKeyword_0_4(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// typeName=TypeRef
protected class TypeGuard_TypeNameAssignment_0_0 extends AssignmentToken {
public TypeGuard_TypeNameAssignment_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeGuardAccess()
.getTypeNameAssignment_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeRef_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("typeName", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("typeName");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTypeRefRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeGuardAccess()
.getTypeNameTypeRefParserRuleCall_0_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// "("
protected class TypeGuard_LeftParenthesisKeyword_0_1 extends KeywordToken {
public TypeGuard_LeftParenthesisKeyword_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeGuardAccess()
.getLeftParenthesisKeyword_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeGuard_TypeNameAssignment_0_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// types+=TopType
protected class TypeGuard_TypesAssignment_0_2 extends AssignmentToken {
public TypeGuard_TypesAssignment_0_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeGuardAccess().getTypesAssignment_0_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("types", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("types");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeGuardAccess()
.getTypesTopTypeParserRuleCall_0_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TypeGuard_LeftParenthesisKeyword_0_1(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ("," types+=TopType)*
protected class TypeGuard_Group_0_3 extends GroupToken {
public TypeGuard_Group_0_3(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeGuardAccess().getGroup_0_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeGuard_TypesAssignment_0_3_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// ","
protected class TypeGuard_CommaKeyword_0_3_0 extends KeywordToken {
public TypeGuard_CommaKeyword_0_3_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeGuardAccess().getCommaKeyword_0_3_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeGuard_Group_0_3(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new TypeGuard_TypesAssignment_0_2(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// types+=TopType
protected class TypeGuard_TypesAssignment_0_3_1 extends AssignmentToken {
public TypeGuard_TypesAssignment_0_3_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeGuardAccess()
.getTypesAssignment_0_3_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("types", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("types");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeGuardAccess()
.getTypesTopTypeParserRuleCall_0_3_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TypeGuard_CommaKeyword_0_3_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class TypeGuard_RightParenthesisKeyword_0_4 extends KeywordToken {
public TypeGuard_RightParenthesisKeyword_0_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeGuardAccess()
.getRightParenthesisKeyword_0_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeGuard_Group_0_3(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new TypeGuard_TypesAssignment_0_2(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// typeName=VariableLiteral "::" type=TopType
protected class TypeGuard_Group_1 extends GroupToken {
public TypeGuard_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeGuardAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeGuard_TypeAssignment_1_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// typeName=VariableLiteral
protected class TypeGuard_TypeNameAssignment_1_0 extends AssignmentToken {
public TypeGuard_TypeNameAssignment_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeGuardAccess()
.getTypeNameAssignment_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new VariableLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("typeName", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("typeName");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getVariableLiteralRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeGuardAccess()
.getTypeNameVariableLiteralParserRuleCall_1_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// "::"
protected class TypeGuard_ColonColonKeyword_1_1 extends KeywordToken {
public TypeGuard_ColonColonKeyword_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeGuardAccess()
.getColonColonKeyword_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeGuard_TypeNameAssignment_1_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// type=TopType
protected class TypeGuard_TypeAssignment_1_2 extends AssignmentToken {
public TypeGuard_TypeAssignment_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeGuardAccess().getTypeAssignment_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("type", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("type");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeGuardAccess()
.getTypeTopTypeParserRuleCall_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TypeGuard_ColonColonKeyword_1_1(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule TypeGuard ****************/
/************
* begin Rule TopType ****************
*
* TopType: (var=VARIABLE "::")? type=Type100;
*
**/
// (var=VARIABLE "::")? type=Type100
protected class TopType_Group extends GroupToken {
public TopType_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTopTypeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_TypeAssignment_1(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTopTypeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// (var=VARIABLE "::")?
protected class TopType_Group_0 extends GroupToken {
public TopType_Group_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTopTypeAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_ColonColonKeyword_0_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// var=VARIABLE
protected class TopType_VarAssignment_0_0 extends AssignmentToken {
public TopType_VarAssignment_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTopTypeAccess().getVarAssignment_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("var", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("var");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getTopTypeAccess().getVarVARIABLETerminalRuleCall_0_0_0(),
value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getTopTypeAccess()
.getVarVARIABLETerminalRuleCall_0_0_0();
return obj;
}
return null;
}
}
// "::"
protected class TopType_ColonColonKeyword_0_1 extends KeywordToken {
public TopType_ColonColonKeyword_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTopTypeAccess().getColonColonKeyword_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_VarAssignment_0_0(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
}
// type=Type100
protected class TopType_TypeAssignment_1 extends AssignmentToken {
public TopType_TypeAssignment_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTopTypeAccess().getTypeAssignment_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type100_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("type", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("type");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getType100Rule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTopTypeAccess()
.getTypeType100ParserRuleCall_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new TopType_Group_0(lastRuleCallOrigin, next, actIndex,
consumed);
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index - 1, consumed);
}
}
}
/************ end Rule TopType ****************/
/************
* begin Rule Type100 ****************
*
* Type100: Type200 (=> ({TopType.leftOperand=current} op="|")
* rightOperand=Type200)*;
*
**/
// Type200 (=> ({TopType.leftOperand=current} op="|") rightOperand=Type200)*
protected class Type100_Group extends GroupToken {
public Type100_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getType100Access().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type100_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type100_Type200ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getBinaryTypeAccess()
.getBinaryTypeAction_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getFunTypeAction_8_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getListTypeAction_4_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getRecordTypeAction_6_1().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getRemoteTypeAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTopTypeRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getTupleTypeAction_5_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getType500Access().getUnaryTypeAction_0_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// Type200
protected class Type100_Type200ParserRuleCall_0 extends RuleCallToken {
public Type100_Type200ParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getType100Access()
.getType200ParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type200_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(Type200_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// (=> ({TopType.leftOperand=current} op="|") rightOperand=Type200)*
protected class Type100_Group_1 extends GroupToken {
public Type100_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getType100Access().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type100_RightOperandAssignment_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getType100Access()
.getTopTypeLeftOperandAction_1_0_0_0().getType()
.getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => ({TopType.leftOperand=current} op="|")
protected class Type100_Group_1_0 extends GroupToken {
public Type100_Group_1_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getType100Access().getGroup_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type100_Group_1_0_0(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
}
// {TopType.leftOperand=current} op="|"
protected class Type100_Group_1_0_0 extends GroupToken {
public Type100_Group_1_0_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getType100Access().getGroup_1_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type100_OpAssignment_1_0_0_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// {TopType.leftOperand=current}
protected class Type100_TopTypeLeftOperandAction_1_0_0_0 extends
ActionToken {
public Type100_TopTypeLeftOperandAction_1_0_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getType100Access()
.getTopTypeLeftOperandAction_1_0_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type100_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type100_Type200ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
final Object val = eObjectConsumer.getConsumable("leftOperand",
false);
if (val == null) {
return null;
}
if (!eObjectConsumer.isConsumedWithLastConsumtion("leftOperand")) {
return null;
}
return createEObjectConsumer((EObject) val);
}
}
// op="|"
protected class Type100_OpAssignment_1_0_0_1 extends AssignmentToken {
public Type100_OpAssignment_1_0_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getType100Access().getOpAssignment_1_0_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type100_TopTypeLeftOperandAction_1_0_0_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("op", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getType100Access().getOpVerticalLineKeyword_1_0_0_1_0(),
value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getType100Access()
.getOpVerticalLineKeyword_1_0_0_1_0();
return obj;
}
return null;
}
}
// rightOperand=Type200
protected class Type100_RightOperandAssignment_1_1 extends AssignmentToken {
public Type100_RightOperandAssignment_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getType100Access()
.getRightOperandAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type200_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("rightOperand", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("rightOperand");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getType200Rule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getType100Access()
.getRightOperandType200ParserRuleCall_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Type100_Group_1_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule Type100 ****************/
/************
* begin Rule Type200 ****************
*
* Type200: Type300 (=> ({TopType.leftOperand=current} op="..")
* rightOperand=Type300)*;
*
**/
// Type300 (=> ({TopType.leftOperand=current} op="..")
// rightOperand=Type300)*
protected class Type200_Group extends GroupToken {
public Type200_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getType200Access().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type200_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type200_Type300ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getBinaryTypeAccess()
.getBinaryTypeAction_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getFunTypeAction_8_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getListTypeAction_4_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getRecordTypeAction_6_1().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getRemoteTypeAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTopTypeRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getTupleTypeAction_5_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getType500Access().getUnaryTypeAction_0_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// Type300
protected class Type200_Type300ParserRuleCall_0 extends RuleCallToken {
public Type200_Type300ParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getType200Access()
.getType300ParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type300_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(Type300_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// (=> ({TopType.leftOperand=current} op="..") rightOperand=Type300)*
protected class Type200_Group_1 extends GroupToken {
public Type200_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getType200Access().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type200_RightOperandAssignment_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getType200Access()
.getTopTypeLeftOperandAction_1_0_0_0().getType()
.getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => ({TopType.leftOperand=current} op="..")
protected class Type200_Group_1_0 extends GroupToken {
public Type200_Group_1_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getType200Access().getGroup_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type200_Group_1_0_0(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
}
// {TopType.leftOperand=current} op=".."
protected class Type200_Group_1_0_0 extends GroupToken {
public Type200_Group_1_0_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getType200Access().getGroup_1_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type200_OpAssignment_1_0_0_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// {TopType.leftOperand=current}
protected class Type200_TopTypeLeftOperandAction_1_0_0_0 extends
ActionToken {
public Type200_TopTypeLeftOperandAction_1_0_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getType200Access()
.getTopTypeLeftOperandAction_1_0_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type200_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type200_Type300ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
final Object val = eObjectConsumer.getConsumable("leftOperand",
false);
if (val == null) {
return null;
}
if (!eObjectConsumer.isConsumedWithLastConsumtion("leftOperand")) {
return null;
}
return createEObjectConsumer((EObject) val);
}
}
// op=".."
protected class Type200_OpAssignment_1_0_0_1 extends AssignmentToken {
public Type200_OpAssignment_1_0_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getType200Access().getOpAssignment_1_0_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type200_TopTypeLeftOperandAction_1_0_0_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("op", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
if (keywordSerializer.isValid(obj.getEObject(), grammarAccess
.getType200Access()
.getOpFullStopFullStopKeyword_1_0_0_1_0(), value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getType200Access()
.getOpFullStopFullStopKeyword_1_0_0_1_0();
return obj;
}
return null;
}
}
// rightOperand=Type300
protected class Type200_RightOperandAssignment_1_1 extends AssignmentToken {
public Type200_RightOperandAssignment_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getType200Access()
.getRightOperandAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type300_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("rightOperand", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("rightOperand");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getType300Rule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getType200Access()
.getRightOperandType300ParserRuleCall_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Type200_Group_1_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule Type200 ****************/
/************
* begin Rule Type300 ****************
*
* Type300: Type400 (=> ({TopType.leftOperand=current} op=ADDOP)
* rightOperand=Type400)*;
*
**/
// Type400 (=> ({TopType.leftOperand=current} op=ADDOP)
// rightOperand=Type400)*
protected class Type300_Group extends GroupToken {
public Type300_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getType300Access().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type300_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type300_Type400ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getBinaryTypeAccess()
.getBinaryTypeAction_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getFunTypeAction_8_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getListTypeAction_4_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getRecordTypeAction_6_1().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getRemoteTypeAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTopTypeRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getTupleTypeAction_5_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getType500Access().getUnaryTypeAction_0_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// Type400
protected class Type300_Type400ParserRuleCall_0 extends RuleCallToken {
public Type300_Type400ParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getType300Access()
.getType400ParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type400_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(Type400_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// (=> ({TopType.leftOperand=current} op=ADDOP) rightOperand=Type400)*
protected class Type300_Group_1 extends GroupToken {
public Type300_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getType300Access().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type300_RightOperandAssignment_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getType300Access()
.getTopTypeLeftOperandAction_1_0_0_0().getType()
.getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => ({TopType.leftOperand=current} op=ADDOP)
protected class Type300_Group_1_0 extends GroupToken {
public Type300_Group_1_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getType300Access().getGroup_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type300_Group_1_0_0(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
}
// {TopType.leftOperand=current} op=ADDOP
protected class Type300_Group_1_0_0 extends GroupToken {
public Type300_Group_1_0_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getType300Access().getGroup_1_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type300_OpAssignment_1_0_0_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// {TopType.leftOperand=current}
protected class Type300_TopTypeLeftOperandAction_1_0_0_0 extends
ActionToken {
public Type300_TopTypeLeftOperandAction_1_0_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getType300Access()
.getTopTypeLeftOperandAction_1_0_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type300_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type300_Type400ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
final Object val = eObjectConsumer.getConsumable("leftOperand",
false);
if (val == null) {
return null;
}
if (!eObjectConsumer.isConsumedWithLastConsumtion("leftOperand")) {
return null;
}
return createEObjectConsumer((EObject) val);
}
}
// op=ADDOP
protected class Type300_OpAssignment_1_0_0_1 extends AssignmentToken {
public Type300_OpAssignment_1_0_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getType300Access().getOpAssignment_1_0_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type300_TopTypeLeftOperandAction_1_0_0_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("op", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getType300Access().getOpADDOPParserRuleCall_1_0_0_1_0(),
value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getType300Access()
.getOpADDOPParserRuleCall_1_0_0_1_0();
return obj;
}
return null;
}
}
// rightOperand=Type400
protected class Type300_RightOperandAssignment_1_1 extends AssignmentToken {
public Type300_RightOperandAssignment_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getType300Access()
.getRightOperandAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type400_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("rightOperand", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("rightOperand");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getType400Rule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getType300Access()
.getRightOperandType400ParserRuleCall_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Type300_Group_1_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule Type300 ****************/
/************
* begin Rule Type400 ****************
*
* Type400: Type500 (=> ({TopType.leftOperand=current} op=MULTOP)
* rightOperand=Type500)*;
*
**/
// Type500 (=> ({TopType.leftOperand=current} op=MULTOP)
// rightOperand=Type500)*
protected class Type400_Group extends GroupToken {
public Type400_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getType400Access().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type400_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type400_Type500ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getBinaryTypeAccess()
.getBinaryTypeAction_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getFunTypeAction_8_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getListTypeAction_4_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getRecordTypeAction_6_1().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getRemoteTypeAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTopTypeRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getTupleTypeAction_5_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getType500Access().getUnaryTypeAction_0_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// Type500
protected class Type400_Type500ParserRuleCall_0 extends RuleCallToken {
public Type400_Type500ParserRuleCall_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getType400Access()
.getType500ParserRuleCall_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type500_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(Type500_Alternatives.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// (=> ({TopType.leftOperand=current} op=MULTOP) rightOperand=Type500)*
protected class Type400_Group_1 extends GroupToken {
public Type400_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getType400Access().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type400_RightOperandAssignment_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getType400Access()
.getTopTypeLeftOperandAction_1_0_0_0().getType()
.getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// => ({TopType.leftOperand=current} op=MULTOP)
protected class Type400_Group_1_0 extends GroupToken {
public Type400_Group_1_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getType400Access().getGroup_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type400_Group_1_0_0(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
}
// {TopType.leftOperand=current} op=MULTOP
protected class Type400_Group_1_0_0 extends GroupToken {
public Type400_Group_1_0_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getType400Access().getGroup_1_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type400_OpAssignment_1_0_0_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// {TopType.leftOperand=current}
protected class Type400_TopTypeLeftOperandAction_1_0_0_0 extends
ActionToken {
public Type400_TopTypeLeftOperandAction_1_0_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getType400Access()
.getTopTypeLeftOperandAction_1_0_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type400_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type400_Type500ParserRuleCall_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
final Object val = eObjectConsumer.getConsumable("leftOperand",
false);
if (val == null) {
return null;
}
if (!eObjectConsumer.isConsumedWithLastConsumtion("leftOperand")) {
return null;
}
return createEObjectConsumer((EObject) val);
}
}
// op=MULTOP
protected class Type400_OpAssignment_1_0_0_1 extends AssignmentToken {
public Type400_OpAssignment_1_0_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getType400Access().getOpAssignment_1_0_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type400_TopTypeLeftOperandAction_1_0_0_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("op", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getType400Access().getOpMULTOPParserRuleCall_1_0_0_1_0(),
value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getType400Access()
.getOpMULTOPParserRuleCall_1_0_0_1_0();
return obj;
}
return null;
}
}
// rightOperand=Type500
protected class Type400_RightOperandAssignment_1_1 extends AssignmentToken {
public Type400_RightOperandAssignment_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getType400Access()
.getRightOperandAssignment_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type500_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("rightOperand", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("rightOperand");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getType500Rule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getType400Access()
.getRightOperandType500ParserRuleCall_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Type400_Group_1_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule Type400 ****************/
/************
* begin Rule Type500 ****************
*
* Type500: {UnaryType} op=PREFIXOP operand=Type | Type;
*
**/
// {UnaryType} op=PREFIXOP operand=Type | Type
protected class Type500_Alternatives extends AlternativesToken {
public Type500_Alternatives(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getType500Access().getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type500_Group_0(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type500_TypeParserRuleCall_1(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getBinaryTypeAccess()
.getBinaryTypeAction_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getFunTypeAction_8_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getListTypeAction_4_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getRecordTypeAction_6_1().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getRemoteTypeAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTopTypeRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getTupleTypeAction_5_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess
.getType500Access().getUnaryTypeAction_0_0()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {UnaryType} op=PREFIXOP operand=Type
protected class Type500_Group_0 extends GroupToken {
public Type500_Group_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getType500Access().getGroup_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type500_OperandAssignment_0_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getType500Access()
.getUnaryTypeAction_0_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {UnaryType}
protected class Type500_UnaryTypeAction_0_0 extends ActionToken {
public Type500_UnaryTypeAction_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getType500Access().getUnaryTypeAction_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// op=PREFIXOP
protected class Type500_OpAssignment_0_1 extends AssignmentToken {
public Type500_OpAssignment_0_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getType500Access().getOpAssignment_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type500_UnaryTypeAction_0_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("op", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("op");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getType500Access().getOpPREFIXOPParserRuleCall_0_1_0(),
value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getType500Access()
.getOpPREFIXOPParserRuleCall_0_1_0();
return obj;
}
return null;
}
}
// operand=Type
protected class Type500_OperandAssignment_0_2 extends AssignmentToken {
public Type500_OperandAssignment_0_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getType500Access().getOperandAssignment_0_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("operand", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("operand");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getType500Access()
.getOperandTypeParserRuleCall_0_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Type500_OpAssignment_0_1(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// Type
protected class Type500_TypeParserRuleCall_1 extends RuleCallToken {
public Type500_TypeParserRuleCall_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getType500Access().getTypeParserRuleCall_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getBinaryTypeAccess()
.getBinaryTypeAction_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getFunTypeAction_8_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getListTypeAction_4_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getRecordTypeAction_6_1().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getRemoteTypeAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTopTypeRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getTupleTypeAction_5_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeRule()
.getType().getClassifier()) {
return null;
}
if (checkForRecursion(Type_Alternatives.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
/************ end Rule Type500 ****************/
/************
* begin Rule Type ****************
*
* Type: "(" TopType ")" | {RemoteType} (m=ModuleVarMacro ":")?
* typeName=TypeRef ("(" (args+=TopType ("," args+=TopType)*)? ")")? |
* typeName=VariableLiteral | value=INTEGER | "[" {ListType} (type=TopType
* ("," "...")?)? "]" | "{" {TupleType} (types+=TopType (","
* types+=TopType)*)? "}" | "#" {RecordType} rec=RecordRef "{"
* (fields+=FieldType ("," fields+=FieldType)*)? "}" | BinaryType | "fun"
* {FunType} "(" type=FunType100? ")";
*
**/
// "(" TopType ")" | {RemoteType} (m=ModuleVarMacro ":")? typeName=TypeRef
// ("(" (args+=TopType ("," args+=TopType)*)? ")")?
// | typeName=VariableLiteral | value=INTEGER | "[" {ListType} (type=TopType
// ("," "...")?)? "]" | "{" {TupleType}
// (types+=TopType ("," types+=TopType)*)? "}" | "#" {RecordType}
// rec=RecordRef "{" (fields+=FieldType (","
// fields+=FieldType)*)? "}" | BinaryType | "fun" {FunType} "("
// type=FunType100? ")"
protected class Type_Alternatives extends AlternativesToken {
public Type_Alternatives(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getTypeAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_Group_0(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type_Group_1(lastRuleCallOrigin, this, 1, inst);
case 2:
return new Type_TypeNameAssignment_2(lastRuleCallOrigin, this,
2, inst);
case 3:
return new Type_ValueAssignment_3(lastRuleCallOrigin, this, 3,
inst);
case 4:
return new Type_Group_4(lastRuleCallOrigin, this, 4, inst);
case 5:
return new Type_Group_5(lastRuleCallOrigin, this, 5, inst);
case 6:
return new Type_Group_6(lastRuleCallOrigin, this, 6, inst);
case 7:
return new Type_BinaryTypeParserRuleCall_7(lastRuleCallOrigin,
this, 7, inst);
case 8:
return new Type_Group_8(lastRuleCallOrigin, this, 8, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getBinaryTypeAccess()
.getBinaryTypeAction_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getFunTypeAction_8_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getListTypeAction_4_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getRecordTypeAction_6_1().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getRemoteTypeAction_1_0().getType()
.getClassifier()
&& getEObject().eClass() != grammarAccess.getTopTypeRule()
.getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeAccess()
.getTupleTypeAction_5_1().getType().getClassifier()
&& getEObject().eClass() != grammarAccess.getTypeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "(" TopType ")"
protected class Type_Group_0 extends GroupToken {
public Type_Group_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_RightParenthesisKeyword_0_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTopTypeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "("
protected class Type_LeftParenthesisKeyword_0_0 extends KeywordToken {
public Type_LeftParenthesisKeyword_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAccess()
.getLeftParenthesisKeyword_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// TopType
protected class Type_TopTypeParserRuleCall_0_1 extends RuleCallToken {
public Type_TopTypeParserRuleCall_0_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getTypeAccess().getTopTypeParserRuleCall_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (checkForRecursion(TopType_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_LeftParenthesisKeyword_0_0(lastRuleCallOrigin,
next, actIndex, inst);
default:
return null;
}
}
}
// ")"
protected class Type_RightParenthesisKeyword_0_2 extends KeywordToken {
public Type_RightParenthesisKeyword_0_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAccess()
.getRightParenthesisKeyword_0_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_TopTypeParserRuleCall_0_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// {RemoteType} (m=ModuleVarMacro ":")? typeName=TypeRef ("(" (args+=TopType
// ("," args+=TopType)*)? ")")?
protected class Type_Group_1 extends GroupToken {
public Type_Group_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_Group_1_3(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type_TypeNameAssignment_1_2(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTypeAccess()
.getRemoteTypeAction_1_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {RemoteType}
protected class Type_RemoteTypeAction_1_0 extends ActionToken {
public Type_RemoteTypeAction_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getTypeAccess().getRemoteTypeAction_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// (m=ModuleVarMacro ":")?
protected class Type_Group_1_1 extends GroupToken {
public Type_Group_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAccess().getGroup_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_ColonKeyword_1_1_1(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
}
// m=ModuleVarMacro
protected class Type_MAssignment_1_1_0 extends AssignmentToken {
public Type_MAssignment_1_1_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAccess().getMAssignment_1_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new ModuleVarMacro_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("m", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("m");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getModuleVarMacroRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeAccess()
.getMModuleVarMacroParserRuleCall_1_1_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Type_RemoteTypeAction_1_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// ":"
protected class Type_ColonKeyword_1_1_1 extends KeywordToken {
public Type_ColonKeyword_1_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAccess().getColonKeyword_1_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_MAssignment_1_1_0(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
}
// typeName=TypeRef
protected class Type_TypeNameAssignment_1_2 extends AssignmentToken {
public Type_TypeNameAssignment_1_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAccess().getTypeNameAssignment_1_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TypeRef_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("typeName", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("typeName");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTypeRefRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeAccess()
.getTypeNameTypeRefParserRuleCall_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Type_Group_1_1(lastRuleCallOrigin, next, actIndex,
consumed);
case 1:
return new Type_RemoteTypeAction_1_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// ("(" (args+=TopType ("," args+=TopType)*)? ")")?
protected class Type_Group_1_3 extends GroupToken {
public Type_Group_1_3(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAccess().getGroup_1_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_RightParenthesisKeyword_1_3_2(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// "("
protected class Type_LeftParenthesisKeyword_1_3_0 extends KeywordToken {
public Type_LeftParenthesisKeyword_1_3_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAccess()
.getLeftParenthesisKeyword_1_3_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_TypeNameAssignment_1_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// (args+=TopType ("," args+=TopType)*)?
protected class Type_Group_1_3_1 extends GroupToken {
public Type_Group_1_3_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAccess().getGroup_1_3_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_Group_1_3_1_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type_ArgsAssignment_1_3_1_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// args+=TopType
protected class Type_ArgsAssignment_1_3_1_0 extends AssignmentToken {
public Type_ArgsAssignment_1_3_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAccess().getArgsAssignment_1_3_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("args", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("args");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeAccess()
.getArgsTopTypeParserRuleCall_1_3_1_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Type_LeftParenthesisKeyword_1_3_0(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ("," args+=TopType)*
protected class Type_Group_1_3_1_1 extends GroupToken {
public Type_Group_1_3_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAccess().getGroup_1_3_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_ArgsAssignment_1_3_1_1_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// ","
protected class Type_CommaKeyword_1_3_1_1_0 extends KeywordToken {
public Type_CommaKeyword_1_3_1_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAccess().getCommaKeyword_1_3_1_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_Group_1_3_1_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type_ArgsAssignment_1_3_1_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// args+=TopType
protected class Type_ArgsAssignment_1_3_1_1_1 extends AssignmentToken {
public Type_ArgsAssignment_1_3_1_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAccess().getArgsAssignment_1_3_1_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("args", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("args");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeAccess()
.getArgsTopTypeParserRuleCall_1_3_1_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Type_CommaKeyword_1_3_1_1_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class Type_RightParenthesisKeyword_1_3_2 extends KeywordToken {
public Type_RightParenthesisKeyword_1_3_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAccess()
.getRightParenthesisKeyword_1_3_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_Group_1_3_1(lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// typeName=VariableLiteral
protected class Type_TypeNameAssignment_2 extends AssignmentToken {
public Type_TypeNameAssignment_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAccess().getTypeNameAssignment_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new VariableLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTypeRule().getType()
.getClassifier()) {
return null;
}
if ((value = eObjectConsumer.getConsumable("typeName", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("typeName");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getVariableLiteralRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeAccess()
.getTypeNameVariableLiteralParserRuleCall_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// value=INTEGER
protected class Type_ValueAssignment_3 extends AssignmentToken {
public Type_ValueAssignment_3(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAccess().getValueAssignment_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTypeRule().getType()
.getClassifier()) {
return null;
}
if ((value = eObjectConsumer.getConsumable("value", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("value");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getTypeAccess().getValueINTEGERParserRuleCall_3_0(),
value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getTypeAccess()
.getValueINTEGERParserRuleCall_3_0();
return obj;
}
return null;
}
}
// "[" {ListType} (type=TopType ("," "...")?)? "]"
protected class Type_Group_4 extends GroupToken {
public Type_Group_4(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAccess().getGroup_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_RightSquareBracketKeyword_4_3(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTypeAccess()
.getListTypeAction_4_1().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "["
protected class Type_LeftSquareBracketKeyword_4_0 extends KeywordToken {
public Type_LeftSquareBracketKeyword_4_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAccess()
.getLeftSquareBracketKeyword_4_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// {ListType}
protected class Type_ListTypeAction_4_1 extends ActionToken {
public Type_ListTypeAction_4_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getTypeAccess().getListTypeAction_4_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_LeftSquareBracketKeyword_4_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// (type=TopType ("," "...")?)?
protected class Type_Group_4_2 extends GroupToken {
public Type_Group_4_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAccess().getGroup_4_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_TypeAssignment_4_2_0(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
}
// type=TopType
protected class Type_TypeAssignment_4_2_0 extends AssignmentToken {
public Type_TypeAssignment_4_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAccess().getTypeAssignment_4_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("type", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("type");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeAccess()
.getTypeTopTypeParserRuleCall_4_2_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Type_ListTypeAction_4_1(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// "]"
protected class Type_RightSquareBracketKeyword_4_3 extends KeywordToken {
public Type_RightSquareBracketKeyword_4_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAccess()
.getRightSquareBracketKeyword_4_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_Group_4_2(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type_ListTypeAction_4_1(lastRuleCallOrigin, this, 1,
inst);
default:
return null;
}
}
}
// "{" {TupleType} (types+=TopType ("," types+=TopType)*)? "}"
protected class Type_Group_5 extends GroupToken {
public Type_Group_5(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAccess().getGroup_5();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_RightCurlyBracketKeyword_5_3(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTypeAccess()
.getTupleTypeAction_5_1().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "{"
protected class Type_LeftCurlyBracketKeyword_5_0 extends KeywordToken {
public Type_LeftCurlyBracketKeyword_5_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAccess()
.getLeftCurlyBracketKeyword_5_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// {TupleType}
protected class Type_TupleTypeAction_5_1 extends ActionToken {
public Type_TupleTypeAction_5_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getTypeAccess().getTupleTypeAction_5_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_LeftCurlyBracketKeyword_5_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// (types+=TopType ("," types+=TopType)*)?
protected class Type_Group_5_2 extends GroupToken {
public Type_Group_5_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAccess().getGroup_5_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_Group_5_2_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type_TypesAssignment_5_2_0(lastRuleCallOrigin, this,
1, inst);
default:
return null;
}
}
}
// types+=TopType
protected class Type_TypesAssignment_5_2_0 extends AssignmentToken {
public Type_TypesAssignment_5_2_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAccess().getTypesAssignment_5_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("types", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("types");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeAccess()
.getTypesTopTypeParserRuleCall_5_2_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Type_TupleTypeAction_5_1(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// ("," types+=TopType)*
protected class Type_Group_5_2_1 extends GroupToken {
public Type_Group_5_2_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAccess().getGroup_5_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_TypesAssignment_5_2_1_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// ","
protected class Type_CommaKeyword_5_2_1_0 extends KeywordToken {
public Type_CommaKeyword_5_2_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAccess().getCommaKeyword_5_2_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_Group_5_2_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type_TypesAssignment_5_2_0(lastRuleCallOrigin, this,
1, inst);
default:
return null;
}
}
}
// types+=TopType
protected class Type_TypesAssignment_5_2_1_1 extends AssignmentToken {
public Type_TypesAssignment_5_2_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAccess().getTypesAssignment_5_2_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("types", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("types");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeAccess()
.getTypesTopTypeParserRuleCall_5_2_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Type_CommaKeyword_5_2_1_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// "}"
protected class Type_RightCurlyBracketKeyword_5_3 extends KeywordToken {
public Type_RightCurlyBracketKeyword_5_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAccess()
.getRightCurlyBracketKeyword_5_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_Group_5_2(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type_TupleTypeAction_5_1(lastRuleCallOrigin, this,
1, inst);
default:
return null;
}
}
}
// "#" {RecordType} rec=RecordRef "{" (fields+=FieldType (","
// fields+=FieldType)*)? "}"
protected class Type_Group_6 extends GroupToken {
public Type_Group_6(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAccess().getGroup_6();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_RightCurlyBracketKeyword_6_5(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTypeAccess()
.getRecordTypeAction_6_1().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "#"
protected class Type_NumberSignKeyword_6_0 extends KeywordToken {
public Type_NumberSignKeyword_6_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAccess().getNumberSignKeyword_6_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// {RecordType}
protected class Type_RecordTypeAction_6_1 extends ActionToken {
public Type_RecordTypeAction_6_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getTypeAccess().getRecordTypeAction_6_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_NumberSignKeyword_6_0(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// rec=RecordRef
protected class Type_RecAssignment_6_2 extends AssignmentToken {
public Type_RecAssignment_6_2(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAccess().getRecAssignment_6_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new RecordRef_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("rec", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rec");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getRecordRefRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeAccess()
.getRecRecordRefParserRuleCall_6_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Type_RecordTypeAction_6_1(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// "{"
protected class Type_LeftCurlyBracketKeyword_6_3 extends KeywordToken {
public Type_LeftCurlyBracketKeyword_6_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAccess()
.getLeftCurlyBracketKeyword_6_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_RecAssignment_6_2(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
}
// (fields+=FieldType ("," fields+=FieldType)*)?
protected class Type_Group_6_4 extends GroupToken {
public Type_Group_6_4(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAccess().getGroup_6_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_Group_6_4_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type_FieldsAssignment_6_4_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// fields+=FieldType
protected class Type_FieldsAssignment_6_4_0 extends AssignmentToken {
public Type_FieldsAssignment_6_4_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAccess().getFieldsAssignment_6_4_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FieldType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("fields", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("fields");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFieldTypeRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeAccess()
.getFieldsFieldTypeParserRuleCall_6_4_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Type_LeftCurlyBracketKeyword_6_3(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// ("," fields+=FieldType)*
protected class Type_Group_6_4_1 extends GroupToken {
public Type_Group_6_4_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAccess().getGroup_6_4_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_FieldsAssignment_6_4_1_1(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// ","
protected class Type_CommaKeyword_6_4_1_0 extends KeywordToken {
public Type_CommaKeyword_6_4_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAccess().getCommaKeyword_6_4_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_Group_6_4_1(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type_FieldsAssignment_6_4_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// fields+=FieldType
protected class Type_FieldsAssignment_6_4_1_1 extends AssignmentToken {
public Type_FieldsAssignment_6_4_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAccess().getFieldsAssignment_6_4_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FieldType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("fields", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("fields");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFieldTypeRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeAccess()
.getFieldsFieldTypeParserRuleCall_6_4_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Type_CommaKeyword_6_4_1_0(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
// "}"
protected class Type_RightCurlyBracketKeyword_6_5 extends KeywordToken {
public Type_RightCurlyBracketKeyword_6_5(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAccess()
.getRightCurlyBracketKeyword_6_5();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_Group_6_4(lastRuleCallOrigin, this, 0, inst);
case 1:
return new Type_LeftCurlyBracketKeyword_6_3(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// BinaryType
protected class Type_BinaryTypeParserRuleCall_7 extends RuleCallToken {
public Type_BinaryTypeParserRuleCall_7(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getTypeAccess()
.getBinaryTypeParserRuleCall_7();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getBinaryTypeAccess()
.getBinaryTypeAction_1().getType().getClassifier()) {
return null;
}
if (checkForRecursion(BinaryType_Group.class, eObjectConsumer)) {
return null;
}
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, inst);
}
}
}
// "fun" {FunType} "(" type=FunType100? ")"
protected class Type_Group_8 extends GroupToken {
public Type_Group_8(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getTypeAccess().getGroup_8();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_RightParenthesisKeyword_8_4(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getTypeAccess()
.getFunTypeAction_8_1().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "fun"
protected class Type_FunKeyword_8_0 extends KeywordToken {
public Type_FunKeyword_8_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAccess().getFunKeyword_8_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// {FunType}
protected class Type_FunTypeAction_8_1 extends ActionToken {
public Type_FunTypeAction_8_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getTypeAccess().getFunTypeAction_8_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_FunKeyword_8_0(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// "("
protected class Type_LeftParenthesisKeyword_8_2 extends KeywordToken {
public Type_LeftParenthesisKeyword_8_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAccess()
.getLeftParenthesisKeyword_8_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_FunTypeAction_8_1(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
}
// type=FunType100?
protected class Type_TypeAssignment_8_3 extends AssignmentToken {
public Type_TypeAssignment_8_3(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getTypeAccess().getTypeAssignment_8_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunType100_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("type", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("type");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFunType100Rule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getTypeAccess()
.getTypeFunType100ParserRuleCall_8_3_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new Type_LeftParenthesisKeyword_8_2(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class Type_RightParenthesisKeyword_8_4 extends KeywordToken {
public Type_RightParenthesisKeyword_8_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getTypeAccess()
.getRightParenthesisKeyword_8_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_TypeAssignment_8_3(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new Type_LeftParenthesisKeyword_8_2(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
/************ end Rule Type ****************/
/************
* begin Rule FieldType ****************
*
* FieldType: typeName=[TypeAttribute|ATOM] "::" type=TopType;
*
**/
// typeName=[TypeAttribute|ATOM] "::" type=TopType
protected class FieldType_Group extends GroupToken {
public FieldType_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getFieldTypeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FieldType_TypeAssignment_2(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getFieldTypeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// typeName=[TypeAttribute|ATOM]
protected class FieldType_TypeNameAssignment_0 extends AssignmentToken {
public FieldType_TypeNameAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFieldTypeAccess().getTypeNameAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("typeName", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("typeName");
if (value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getFieldTypeAccess()
.getTypeNameTypeAttributeCrossReference_0_0().getType()
.getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getFieldTypeAccess()
.getTypeNameTypeAttributeCrossReference_0_0();
return obj;
}
}
return null;
}
}
// "::"
protected class FieldType_ColonColonKeyword_1 extends KeywordToken {
public FieldType_ColonColonKeyword_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFieldTypeAccess().getColonColonKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FieldType_TypeNameAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// type=TopType
protected class FieldType_TypeAssignment_2 extends AssignmentToken {
public FieldType_TypeAssignment_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFieldTypeAccess().getTypeAssignment_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("type", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("type");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getFieldTypeAccess()
.getTypeTopTypeParserRuleCall_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new FieldType_ColonColonKeyword_1(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule FieldType ****************/
/************
* begin Rule BinaryType ****************
*
* BinaryType: "<<" {BinaryType} (type+=BinBaseType ("," type+=BinUnitType)?
* | type+=BinUnitType)? ">>";
*
**/
// "<<" {BinaryType} (type+=BinBaseType ("," type+=BinUnitType)? |
// type+=BinUnitType)? ">>"
protected class BinaryType_Group extends GroupToken {
public BinaryType_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getBinaryTypeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryType_GreaterThanSignGreaterThanSignKeyword_3(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getBinaryTypeAccess()
.getBinaryTypeAction_1().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// "<<"
protected class BinaryType_LessThanSignLessThanSignKeyword_0 extends
KeywordToken {
public BinaryType_LessThanSignLessThanSignKeyword_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getBinaryTypeAccess()
.getLessThanSignLessThanSignKeyword_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
}
// {BinaryType}
protected class BinaryType_BinaryTypeAction_1 extends ActionToken {
public BinaryType_BinaryTypeAction_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getBinaryTypeAccess().getBinaryTypeAction_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryType_LessThanSignLessThanSignKeyword_0(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// (type+=BinBaseType ("," type+=BinUnitType)? | type+=BinUnitType)?
protected class BinaryType_Alternatives_2 extends AlternativesToken {
public BinaryType_Alternatives_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getBinaryTypeAccess().getAlternatives_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryType_Group_2_0(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new BinaryType_TypeAssignment_2_1(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// type+=BinBaseType ("," type+=BinUnitType)?
protected class BinaryType_Group_2_0 extends GroupToken {
public BinaryType_Group_2_0(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getBinaryTypeAccess().getGroup_2_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryType_Group_2_0_1(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new BinaryType_TypeAssignment_2_0_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// type+=BinBaseType
protected class BinaryType_TypeAssignment_2_0_0 extends AssignmentToken {
public BinaryType_TypeAssignment_2_0_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBinaryTypeAccess()
.getTypeAssignment_2_0_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinBaseType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("type", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("type");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getBinBaseTypeRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getBinaryTypeAccess()
.getTypeBinBaseTypeParserRuleCall_2_0_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new BinaryType_BinaryTypeAction_1(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// ("," type+=BinUnitType)?
protected class BinaryType_Group_2_0_1 extends GroupToken {
public BinaryType_Group_2_0_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getBinaryTypeAccess().getGroup_2_0_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryType_TypeAssignment_2_0_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// ","
protected class BinaryType_CommaKeyword_2_0_1_0 extends KeywordToken {
public BinaryType_CommaKeyword_2_0_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getBinaryTypeAccess()
.getCommaKeyword_2_0_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryType_TypeAssignment_2_0_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// type+=BinUnitType
protected class BinaryType_TypeAssignment_2_0_1_1 extends AssignmentToken {
public BinaryType_TypeAssignment_2_0_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBinaryTypeAccess()
.getTypeAssignment_2_0_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinUnitType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("type", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("type");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getBinUnitTypeRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getBinaryTypeAccess()
.getTypeBinUnitTypeParserRuleCall_2_0_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new BinaryType_CommaKeyword_2_0_1_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// type+=BinUnitType
protected class BinaryType_TypeAssignment_2_1 extends AssignmentToken {
public BinaryType_TypeAssignment_2_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBinaryTypeAccess().getTypeAssignment_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinUnitType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("type", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("type");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getBinUnitTypeRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getBinaryTypeAccess()
.getTypeBinUnitTypeParserRuleCall_2_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new BinaryType_BinaryTypeAction_1(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// ">>"
protected class BinaryType_GreaterThanSignGreaterThanSignKeyword_3 extends
KeywordToken {
public BinaryType_GreaterThanSignGreaterThanSignKeyword_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getBinaryTypeAccess()
.getGreaterThanSignGreaterThanSignKeyword_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinaryType_Alternatives_2(lastRuleCallOrigin, this,
0, inst);
case 1:
return new BinaryType_BinaryTypeAction_1(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
/************ end Rule BinaryType ****************/
/************
* begin Rule BinBaseType ****************
*
* BinBaseType: typeName=VariableLiteral ":" type=Type;
*
**/
// typeName=VariableLiteral ":" type=Type
protected class BinBaseType_Group extends GroupToken {
public BinBaseType_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getBinBaseTypeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinBaseType_TypeAssignment_2(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getBinBaseTypeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// typeName=VariableLiteral
protected class BinBaseType_TypeNameAssignment_0 extends AssignmentToken {
public BinBaseType_TypeNameAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBinBaseTypeAccess()
.getTypeNameAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new VariableLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("typeName", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("typeName");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getVariableLiteralRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getBinBaseTypeAccess()
.getTypeNameVariableLiteralParserRuleCall_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// ":"
protected class BinBaseType_ColonKeyword_1 extends KeywordToken {
public BinBaseType_ColonKeyword_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getBinBaseTypeAccess().getColonKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinBaseType_TypeNameAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// type=Type
protected class BinBaseType_TypeAssignment_2 extends AssignmentToken {
public BinBaseType_TypeAssignment_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBinBaseTypeAccess().getTypeAssignment_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("type", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("type");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getBinBaseTypeAccess()
.getTypeTypeParserRuleCall_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new BinBaseType_ColonKeyword_1(lastRuleCallOrigin, next,
actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule BinBaseType ****************/
/************
* begin Rule BinUnitType ****************
*
* BinUnitType: typeName=VariableLiteral ":" m=VARIABLE "*" type=Type;
*
**/
// typeName=VariableLiteral ":" m=VARIABLE "*" type=Type
protected class BinUnitType_Group extends GroupToken {
public BinUnitType_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getBinUnitTypeAccess().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinUnitType_TypeAssignment_4(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getBinUnitTypeRule()
.getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// typeName=VariableLiteral
protected class BinUnitType_TypeNameAssignment_0 extends AssignmentToken {
public BinUnitType_TypeNameAssignment_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBinUnitTypeAccess()
.getTypeNameAssignment_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new VariableLiteral_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("typeName", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("typeName");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getVariableLiteralRule()
.getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getBinUnitTypeAccess()
.getTypeNameVariableLiteralParserRuleCall_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(next,
actIndex, index, consumed);
}
}
}
// ":"
protected class BinUnitType_ColonKeyword_1 extends KeywordToken {
public BinUnitType_ColonKeyword_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getBinUnitTypeAccess().getColonKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinUnitType_TypeNameAssignment_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// m=VARIABLE
protected class BinUnitType_MAssignment_2 extends AssignmentToken {
public BinUnitType_MAssignment_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBinUnitTypeAccess().getMAssignment_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinUnitType_ColonKeyword_1(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("m", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("m");
if (valueSerializer.isValid(obj.getEObject(), grammarAccess
.getBinUnitTypeAccess().getMVARIABLETerminalRuleCall_2_0(),
value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getBinUnitTypeAccess()
.getMVARIABLETerminalRuleCall_2_0();
return obj;
}
return null;
}
}
// "*"
protected class BinUnitType_AsteriskKeyword_3 extends KeywordToken {
public BinUnitType_AsteriskKeyword_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getBinUnitTypeAccess().getAsteriskKeyword_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new BinUnitType_MAssignment_2(lastRuleCallOrigin, this,
0, inst);
default:
return null;
}
}
}
// type=Type
protected class BinUnitType_TypeAssignment_4 extends AssignmentToken {
public BinUnitType_TypeAssignment_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBinUnitTypeAccess().getTypeAssignment_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new Type_Alternatives(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("type", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("type");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getBinUnitTypeAccess()
.getTypeTypeParserRuleCall_4_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new BinUnitType_AsteriskKeyword_3(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule BinUnitType ****************/
/************
* begin Rule FunType100 ****************
*
* FunType100: {FunTypeList} "(" ("..." | items+=TopType (","
* items+=TopType)*)? ")" "->" return=TopType;
*
**/
// {FunTypeList} "(" ("..." | items+=TopType ("," items+=TopType)*)? ")"
// "->" return=TopType
protected class FunType100_Group extends GroupToken {
public FunType100_Group(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getFunType100Access().getGroup();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunType100_ReturnAssignment_5(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if (getEObject().eClass() != grammarAccess.getFunType100Access()
.getFunTypeListAction_0().getType().getClassifier()) {
return null;
}
return eObjectConsumer;
}
}
// {FunTypeList}
protected class FunType100_FunTypeListAction_0 extends ActionToken {
public FunType100_FunTypeListAction_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getFunType100Access().getFunTypeListAction_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
default:
return lastRuleCallOrigin.createFollowerAfterReturn(this,
index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if (!eObjectConsumer.isConsumed()) {
return null;
}
return eObjectConsumer;
}
}
// "("
protected class FunType100_LeftParenthesisKeyword_1 extends KeywordToken {
public FunType100_LeftParenthesisKeyword_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFunType100Access()
.getLeftParenthesisKeyword_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunType100_FunTypeListAction_0(lastRuleCallOrigin,
this, 0, inst);
default:
return null;
}
}
}
// ("..." | items+=TopType ("," items+=TopType)*)?
protected class FunType100_Alternatives_2 extends AlternativesToken {
public FunType100_Alternatives_2(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getFunType100Access().getAlternatives_2();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunType100_Group_2_1(lastRuleCallOrigin, this, 0,
inst);
default:
return null;
}
}
}
// items+=TopType ("," items+=TopType)*
protected class FunType100_Group_2_1 extends GroupToken {
public FunType100_Group_2_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getFunType100Access().getGroup_2_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunType100_Group_2_1_1(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new FunType100_ItemsAssignment_2_1_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// items+=TopType
protected class FunType100_ItemsAssignment_2_1_0 extends AssignmentToken {
public FunType100_ItemsAssignment_2_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFunType100Access()
.getItemsAssignment_2_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("items", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("items");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getFunType100Access()
.getItemsTopTypeParserRuleCall_2_1_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new FunType100_LeftParenthesisKeyword_1(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
// ("," items+=TopType)*
protected class FunType100_Group_2_1_1 extends GroupToken {
public FunType100_Group_2_1_1(final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getFunType100Access().getGroup_2_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunType100_ItemsAssignment_2_1_1_1(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// ","
protected class FunType100_CommaKeyword_2_1_1_0 extends KeywordToken {
public FunType100_CommaKeyword_2_1_1_0(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFunType100Access()
.getCommaKeyword_2_1_1_0();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunType100_Group_2_1_1(lastRuleCallOrigin, this, 0,
inst);
case 1:
return new FunType100_ItemsAssignment_2_1_0(lastRuleCallOrigin,
this, 1, inst);
default:
return null;
}
}
}
// items+=TopType
protected class FunType100_ItemsAssignment_2_1_1_1 extends AssignmentToken {
public FunType100_ItemsAssignment_2_1_1_1(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFunType100Access()
.getItemsAssignment_2_1_1_1();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("items", false)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("items");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getFunType100Access()
.getItemsTopTypeParserRuleCall_2_1_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new FunType100_CommaKeyword_2_1_1_0(lastRuleCallOrigin,
next, actIndex, consumed);
default:
return null;
}
}
}
// ")"
protected class FunType100_RightParenthesisKeyword_3 extends KeywordToken {
public FunType100_RightParenthesisKeyword_3(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFunType100Access()
.getRightParenthesisKeyword_3();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunType100_Alternatives_2(lastRuleCallOrigin, this,
0, inst);
case 1:
return new FunType100_LeftParenthesisKeyword_1(
lastRuleCallOrigin, this, 1, inst);
default:
return null;
}
}
}
// "->"
protected class FunType100_HyphenMinusGreaterThanSignKeyword_4 extends
KeywordToken {
public FunType100_HyphenMinusGreaterThanSignKeyword_4(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFunType100Access()
.getHyphenMinusGreaterThanSignKeyword_4();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new FunType100_RightParenthesisKeyword_3(
lastRuleCallOrigin, this, 0, inst);
default:
return null;
}
}
}
// return=TopType
protected class FunType100_ReturnAssignment_5 extends AssignmentToken {
public FunType100_ReturnAssignment_5(
final AbstractToken lastRuleCallOrigin,
final AbstractToken next, final int transitionIndex,
final IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFunType100Access().getReturnAssignment_5();
}
@Override
public AbstractToken createFollower(final int index,
final IEObjectConsumer inst) {
switch (index) {
case 0:
return new TopType_Group(this, this, 0, inst);
default:
return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if ((value = eObjectConsumer.getConsumable("return", true)) == null) {
return null;
}
final IEObjectConsumer obj = eObjectConsumer
.cloneAndConsume("return");
if (value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
final IEObjectConsumer param = createEObjectConsumer((EObject) value);
if (param.isInstanceOf(grammarAccess.getTopTypeRule().getType()
.getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getFunType100Access()
.getReturnTopTypeParserRuleCall_5_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(
final AbstractToken next, final int actIndex, final int index,
final IEObjectConsumer inst) {
if (value == inst.getEObject() && !inst.isConsumed()) {
return null;
}
switch (index) {
case 0:
return new FunType100_HyphenMinusGreaterThanSignKeyword_4(
lastRuleCallOrigin, next, actIndex, consumed);
default:
return null;
}
}
}
/************ end Rule FunType100 ****************/
}