/*
* generated by Xtext
*/
package org.csu.idl.xtext.parseTreeConstruction;
import org.eclipse.emf.ecore.*;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parsetree.reconstr.IEObjectConsumer;
import org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor;
import org.csu.idl.xtext.services.IDLGrammarAccess;
import com.google.inject.Inject;
@SuppressWarnings("all")
public class IDLParsetreeConstructor extends AbstractParseTreeConstructor {
@Inject
private IDLGrammarAccess grammarAccess;
@Override
protected AbstractToken getRootToken(IEObjectConsumer inst) {
return new ThisRootNode(inst);
}
protected class ThisRootNode extends RootToken {
public ThisRootNode(IEObjectConsumer inst) {
super(inst);
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Specification_Group(this, this, 0, inst);
case 1: return new Include_decl_Group(this, this, 1, inst);
case 2: return new Definition_Alternatives(this, this, 2, inst);
case 3: return new Module_Group(this, this, 3, inst);
case 4: return new Interface_decl_Group(this, this, 4, inst);
case 5: return new Interface_fwd_Group(this, this, 5, inst);
case 6: return new Export_Alternatives(this, this, 6, inst);
case 7: return new Op_decl_Group(this, this, 7, inst);
case 8: return new Op_type_spec_Alternatives(this, this, 8, inst);
case 9: return new Param_decl_Group(this, this, 9, inst);
case 10: return new Attr_decl_Alternatives(this, this, 10, inst);
case 11: return new Readonly_attr_spec_Alternatives(this, this, 11, inst);
case 12: return new Attr_spec_Alternatives(this, this, 12, inst);
case 13: return new Except_decl_Group(this, this, 13, inst);
case 14: return new Type_decl_Alternatives(this, this, 14, inst);
case 15: return new Alias_type_Alternatives(this, this, 15, inst);
case 16: return new Array_type_spec_Group(this, this, 16, inst);
case 17: return new Simple_type_spec_Alternatives(this, this, 17, inst);
case 18: return new Base_type_spec_Alternatives(this, this, 18, inst);
case 19: return new Template_type_spec_Alternatives(this, this, 19, inst);
case 20: return new Constr_type_spec_Alternatives(this, this, 20, inst);
case 21: return new Struct_type_Group(this, this, 21, inst);
case 22: return new Member_Alternatives(this, this, 22, inst);
case 23: return new Union_type_Group(this, this, 23, inst);
case 24: return new Switch_type_spec_cont_Alternatives(this, this, 24, inst);
case 25: return new Case_stmt_Alternatives(this, this, 25, inst);
case 26: return new Enum_type_Group(this, this, 26, inst);
case 27: return new Enum_member_IdentifierAssignment(this, this, 27, inst);
case 28: return new Const_decl_Group(this, this, 28, inst);
case 29: return new Const_type_Alternatives(this, this, 29, inst);
case 30: return new Primitive_def_Alternatives(this, this, 30, inst);
case 31: return new Sequence_type_Group(this, this, 31, inst);
case 32: return new Stringdef_type_Group(this, this, 32, inst);
case 33: return new Wide_stringdef_type_Group(this, this, 33, inst);
case 34: return new Fixed_pt_type_Group(this, this, 34, inst);
case 35: return new Floating_pt_type_Alternatives(this, this, 35, inst);
case 36: return new Integer_type_Alternatives(this, this, 36, inst);
case 37: return new Charstr_type_Alternatives(this, this, 37, inst);
case 38: return new Other_type_Alternatives(this, this, 38, inst);
case 39: return new Fixed_pt_const_type_Group(this, this, 39, inst);
case 40: return new Const_exp_Or_exprParserRuleCall(this, this, 40, inst);
case 41: return new Or_expr_Group(this, this, 41, inst);
case 42: return new Xor_expr_Group(this, this, 42, inst);
case 43: return new And_expr_Group(this, this, 43, inst);
case 44: return new Shift_expr_Group(this, this, 44, inst);
case 45: return new Add_expr_Group(this, this, 45, inst);
case 46: return new Mult_expr_Group(this, this, 46, inst);
case 47: return new Unary_expr_Alternatives(this, this, 47, inst);
case 48: return new Primary_expr_Alternatives(this, this, 48, inst);
case 49: return new ConstantDefRef_ConstantAssignment(this, this, 49, inst);
case 50: return new ValueExpression_ValueAssignment(this, this, 50, inst);
default: return null;
}
}
}
/************ begin Rule specification ****************
*
* specification returns IDL::TranslationUnit:
* {IDL::TranslationUnit} includes+=include_decl* contains+=definition*;
*
**/
// {IDL::TranslationUnit} includes+=include_decl* contains+=definition*
protected class Specification_Group extends GroupToken {
public Specification_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSpecificationAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Specification_ContainsAssignment_2(lastRuleCallOrigin, this, 0, inst);
case 1: return new Specification_IncludesAssignment_1(lastRuleCallOrigin, this, 1, inst);
case 2: return new Specification_TranslationUnitAction_0(lastRuleCallOrigin, this, 2, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getSpecificationAccess().getTranslationUnitAction_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {IDL::TranslationUnit}
protected class Specification_TranslationUnitAction_0 extends ActionToken {
public Specification_TranslationUnitAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getSpecificationAccess().getTranslationUnitAction_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if(!eObjectConsumer.isConsumed()) return null;
return eObjectConsumer;
}
}
// includes+=include_decl*
protected class Specification_IncludesAssignment_1 extends AssignmentToken {
public Specification_IncludesAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSpecificationAccess().getIncludesAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Include_decl_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("includes",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("includes");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getInclude_declRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSpecificationAccess().getIncludesInclude_declParserRuleCall_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Specification_IncludesAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Specification_TranslationUnitAction_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// contains+=definition*
protected class Specification_ContainsAssignment_2 extends AssignmentToken {
public Specification_ContainsAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSpecificationAccess().getContainsAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Definition_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("contains",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("contains");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getDefinitionRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSpecificationAccess().getContainsDefinitionParserRuleCall_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Specification_ContainsAssignment_2(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Specification_IncludesAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
case 2: return new Specification_TranslationUnitAction_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule specification ****************/
/************ begin Rule include_decl ****************
*
* include_decl returns IDL::Include:
* "#include" importURI=STRING;
*
**/
// "#include" importURI=STRING
protected class Include_decl_Group extends GroupToken {
public Include_decl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getInclude_declAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Include_decl_ImportURIAssignment_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getInclude_declRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "#include"
protected class Include_decl_IncludeKeyword_0 extends KeywordToken {
public Include_decl_IncludeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getInclude_declAccess().getIncludeKeyword_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// importURI=STRING
protected class Include_decl_ImportURIAssignment_1 extends AssignmentToken {
public Include_decl_ImportURIAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getInclude_declAccess().getImportURIAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Include_decl_IncludeKeyword_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("importURI",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("importURI");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInclude_declAccess().getImportURISTRINGTerminalRuleCall_1_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getInclude_declAccess().getImportURISTRINGTerminalRuleCall_1_0();
return obj;
}
return null;
}
}
/************ end Rule include_decl ****************/
/************ begin Rule definition ****************
*
* //| value ';' //value pertenece a corba 2.3
* //| type_id_decl ';'
* //| type_prefix_decl ';'
* //| event ';'
* //| component ';'
* //| home_decl ';'
* definition returns IDL::Contained:
* type_decl ";" | const_decl ";" | except_decl ";" | interface_decl ";" | interface_fwd ";" | module ";";
*
**/
// type_decl ";" | const_decl ";" | except_decl ";" | interface_decl ";" | interface_fwd ";" | module ";"
protected class Definition_Alternatives extends AlternativesToken {
public Definition_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getDefinitionAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Definition_Group_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Definition_Group_1(lastRuleCallOrigin, this, 1, inst);
case 2: return new Definition_Group_2(lastRuleCallOrigin, this, 2, inst);
case 3: return new Definition_Group_3(lastRuleCallOrigin, this, 3, inst);
case 4: return new Definition_Group_4(lastRuleCallOrigin, this, 4, inst);
case 5: return new Definition_Group_5(lastRuleCallOrigin, this, 5, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAlias_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getConst_declRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getEnum_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getExcept_declRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getInterface_fwdRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getInterface_declRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getModuleRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getStruct_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getUnion_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// type_decl ";"
protected class Definition_Group_0 extends GroupToken {
public Definition_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getDefinitionAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Definition_SemicolonKeyword_0_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAlias_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getEnum_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getStruct_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getUnion_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// type_decl
protected class Definition_Type_declParserRuleCall_0_0 extends RuleCallToken {
public Definition_Type_declParserRuleCall_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getDefinitionAccess().getType_declParserRuleCall_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Type_decl_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Type_decl_Alternatives.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// ";"
protected class Definition_SemicolonKeyword_0_1 extends KeywordToken {
public Definition_SemicolonKeyword_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getDefinitionAccess().getSemicolonKeyword_0_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Definition_Type_declParserRuleCall_0_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// const_decl ";"
protected class Definition_Group_1 extends GroupToken {
public Definition_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getDefinitionAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Definition_SemicolonKeyword_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getConst_declRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// const_decl
protected class Definition_Const_declParserRuleCall_1_0 extends RuleCallToken {
public Definition_Const_declParserRuleCall_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getDefinitionAccess().getConst_declParserRuleCall_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Const_decl_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Const_decl_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// ";"
protected class Definition_SemicolonKeyword_1_1 extends KeywordToken {
public Definition_SemicolonKeyword_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getDefinitionAccess().getSemicolonKeyword_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Definition_Const_declParserRuleCall_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// except_decl ";"
protected class Definition_Group_2 extends GroupToken {
public Definition_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getDefinitionAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Definition_SemicolonKeyword_2_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getExcept_declRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// except_decl
protected class Definition_Except_declParserRuleCall_2_0 extends RuleCallToken {
public Definition_Except_declParserRuleCall_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getDefinitionAccess().getExcept_declParserRuleCall_2_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Except_decl_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Except_decl_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// ";"
protected class Definition_SemicolonKeyword_2_1 extends KeywordToken {
public Definition_SemicolonKeyword_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getDefinitionAccess().getSemicolonKeyword_2_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Definition_Except_declParserRuleCall_2_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// interface_decl ";"
protected class Definition_Group_3 extends GroupToken {
public Definition_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getDefinitionAccess().getGroup_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Definition_SemicolonKeyword_3_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getInterface_declRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// interface_decl
protected class Definition_Interface_declParserRuleCall_3_0 extends RuleCallToken {
public Definition_Interface_declParserRuleCall_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getDefinitionAccess().getInterface_declParserRuleCall_3_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Interface_decl_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Interface_decl_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// ";"
protected class Definition_SemicolonKeyword_3_1 extends KeywordToken {
public Definition_SemicolonKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getDefinitionAccess().getSemicolonKeyword_3_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Definition_Interface_declParserRuleCall_3_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// interface_fwd ";"
protected class Definition_Group_4 extends GroupToken {
public Definition_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getDefinitionAccess().getGroup_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Definition_SemicolonKeyword_4_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getInterface_fwdRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// interface_fwd
protected class Definition_Interface_fwdParserRuleCall_4_0 extends RuleCallToken {
public Definition_Interface_fwdParserRuleCall_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getDefinitionAccess().getInterface_fwdParserRuleCall_4_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Interface_fwd_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Interface_fwd_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// ";"
protected class Definition_SemicolonKeyword_4_1 extends KeywordToken {
public Definition_SemicolonKeyword_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getDefinitionAccess().getSemicolonKeyword_4_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Definition_Interface_fwdParserRuleCall_4_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// module ";"
protected class Definition_Group_5 extends GroupToken {
public Definition_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getDefinitionAccess().getGroup_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Definition_SemicolonKeyword_5_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getModuleRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// module
protected class Definition_ModuleParserRuleCall_5_0 extends RuleCallToken {
public Definition_ModuleParserRuleCall_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getDefinitionAccess().getModuleParserRuleCall_5_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Module_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Module_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// ";"
protected class Definition_SemicolonKeyword_5_1 extends KeywordToken {
public Definition_SemicolonKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getDefinitionAccess().getSemicolonKeyword_5_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Definition_ModuleParserRuleCall_5_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
/************ end Rule definition ****************/
/************ begin Rule module ****************
*
* module returns IDL::ModuleDef:
* "module" identifier=ID "{" (contains+=definition | ";")* "}";
*
**/
// "module" identifier=ID "{" (contains+=definition | ";")* "}"
protected class Module_Group extends GroupToken {
public Module_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getModuleAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Module_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getModuleRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "module"
protected class Module_ModuleKeyword_0 extends KeywordToken {
public Module_ModuleKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getModuleAccess().getModuleKeyword_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// identifier=ID
protected class Module_IdentifierAssignment_1 extends AssignmentToken {
public Module_IdentifierAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getModuleAccess().getIdentifierAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Module_ModuleKeyword_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getModuleAccess().getIdentifierIDTerminalRuleCall_1_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getModuleAccess().getIdentifierIDTerminalRuleCall_1_0();
return obj;
}
return null;
}
}
// "{"
protected class Module_LeftCurlyBracketKeyword_2 extends KeywordToken {
public Module_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getModuleAccess().getLeftCurlyBracketKeyword_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Module_IdentifierAssignment_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// (contains+=definition | ";")*
protected class Module_Alternatives_3 extends AlternativesToken {
public Module_Alternatives_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getModuleAccess().getAlternatives_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Module_ContainsAssignment_3_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// contains+=definition
protected class Module_ContainsAssignment_3_0 extends AssignmentToken {
public Module_ContainsAssignment_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getModuleAccess().getContainsAssignment_3_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Definition_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("contains",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("contains");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getDefinitionRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getModuleAccess().getContainsDefinitionParserRuleCall_3_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Module_Alternatives_3(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Module_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// "}"
protected class Module_RightCurlyBracketKeyword_4 extends KeywordToken {
public Module_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getModuleAccess().getRightCurlyBracketKeyword_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Module_Alternatives_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new Module_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
/************ end Rule module ****************/
/************ begin Rule interface_decl ****************
*
* interface_decl returns IDL::InterfaceDef:
* (isAbstract?="abstract" | isCustom?="local")? "interface" identifier=ID (":" derivesFrom+=[IDL::InterfaceDef] (","
* derivesFrom+=[IDL::InterfaceDef])*)? "{" (contains+=export | ";")* "}";
*
**/
// (isAbstract?="abstract" | isCustom?="local")? "interface" identifier=ID (":" derivesFrom+=[IDL::InterfaceDef] (","
// derivesFrom+=[IDL::InterfaceDef])*)? "{" (contains+=export | ";")* "}"
protected class Interface_decl_Group extends GroupToken {
public Interface_decl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getInterface_declAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Interface_decl_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getInterface_declRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// (isAbstract?="abstract" | isCustom?="local")?
protected class Interface_decl_Alternatives_0 extends AlternativesToken {
public Interface_decl_Alternatives_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getInterface_declAccess().getAlternatives_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Interface_decl_IsAbstractAssignment_0_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Interface_decl_IsCustomAssignment_0_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// isAbstract?="abstract"
protected class Interface_decl_IsAbstractAssignment_0_0 extends AssignmentToken {
public Interface_decl_IsAbstractAssignment_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getInterface_declAccess().getIsAbstractAssignment_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("isAbstract",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("isAbstract");
if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
type = AssignmentType.KEYWORD;
element = grammarAccess.getInterface_declAccess().getIsAbstractAbstractKeyword_0_0_0();
return obj;
}
return null;
}
}
// isCustom?="local"
protected class Interface_decl_IsCustomAssignment_0_1 extends AssignmentToken {
public Interface_decl_IsCustomAssignment_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getInterface_declAccess().getIsCustomAssignment_0_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("isCustom",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("isCustom");
if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
type = AssignmentType.KEYWORD;
element = grammarAccess.getInterface_declAccess().getIsCustomLocalKeyword_0_1_0();
return obj;
}
return null;
}
}
// "interface"
protected class Interface_decl_InterfaceKeyword_1 extends KeywordToken {
public Interface_decl_InterfaceKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getInterface_declAccess().getInterfaceKeyword_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Interface_decl_Alternatives_0(lastRuleCallOrigin, this, 0, inst);
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
}
}
}
// identifier=ID
protected class Interface_decl_IdentifierAssignment_2 extends AssignmentToken {
public Interface_decl_IdentifierAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getInterface_declAccess().getIdentifierAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Interface_decl_InterfaceKeyword_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInterface_declAccess().getIdentifierIDTerminalRuleCall_2_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getInterface_declAccess().getIdentifierIDTerminalRuleCall_2_0();
return obj;
}
return null;
}
}
// (":" derivesFrom+=[IDL::InterfaceDef] ("," derivesFrom+=[IDL::InterfaceDef])*)?
protected class Interface_decl_Group_3 extends GroupToken {
public Interface_decl_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getInterface_declAccess().getGroup_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Interface_decl_Group_3_2(lastRuleCallOrigin, this, 0, inst);
case 1: return new Interface_decl_DerivesFromAssignment_3_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// ":"
protected class Interface_decl_ColonKeyword_3_0 extends KeywordToken {
public Interface_decl_ColonKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getInterface_declAccess().getColonKeyword_3_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Interface_decl_IdentifierAssignment_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// derivesFrom+=[IDL::InterfaceDef]
protected class Interface_decl_DerivesFromAssignment_3_1 extends AssignmentToken {
public Interface_decl_DerivesFromAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getInterface_declAccess().getDerivesFromAssignment_3_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Interface_decl_ColonKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("derivesFrom",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("derivesFrom");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getInterface_declAccess().getDerivesFromInterfaceDefCrossReference_3_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getInterface_declAccess().getDerivesFromInterfaceDefCrossReference_3_1_0();
return obj;
}
}
return null;
}
}
// ("," derivesFrom+=[IDL::InterfaceDef])*
protected class Interface_decl_Group_3_2 extends GroupToken {
public Interface_decl_Group_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getInterface_declAccess().getGroup_3_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Interface_decl_DerivesFromAssignment_3_2_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ","
protected class Interface_decl_CommaKeyword_3_2_0 extends KeywordToken {
public Interface_decl_CommaKeyword_3_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getInterface_declAccess().getCommaKeyword_3_2_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Interface_decl_Group_3_2(lastRuleCallOrigin, this, 0, inst);
case 1: return new Interface_decl_DerivesFromAssignment_3_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// derivesFrom+=[IDL::InterfaceDef]
protected class Interface_decl_DerivesFromAssignment_3_2_1 extends AssignmentToken {
public Interface_decl_DerivesFromAssignment_3_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getInterface_declAccess().getDerivesFromAssignment_3_2_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Interface_decl_CommaKeyword_3_2_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("derivesFrom",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("derivesFrom");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getInterface_declAccess().getDerivesFromInterfaceDefCrossReference_3_2_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getInterface_declAccess().getDerivesFromInterfaceDefCrossReference_3_2_1_0();
return obj;
}
}
return null;
}
}
// "{"
protected class Interface_decl_LeftCurlyBracketKeyword_4 extends KeywordToken {
public Interface_decl_LeftCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getInterface_declAccess().getLeftCurlyBracketKeyword_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Interface_decl_Group_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new Interface_decl_IdentifierAssignment_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// (contains+=export | ";")*
protected class Interface_decl_Alternatives_5 extends AlternativesToken {
public Interface_decl_Alternatives_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getInterface_declAccess().getAlternatives_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Interface_decl_ContainsAssignment_5_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// contains+=export
protected class Interface_decl_ContainsAssignment_5_0 extends AssignmentToken {
public Interface_decl_ContainsAssignment_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getInterface_declAccess().getContainsAssignment_5_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Export_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("contains",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("contains");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getExportRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getInterface_declAccess().getContainsExportParserRuleCall_5_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Interface_decl_Alternatives_5(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Interface_decl_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// "}"
protected class Interface_decl_RightCurlyBracketKeyword_6 extends KeywordToken {
public Interface_decl_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getInterface_declAccess().getRightCurlyBracketKeyword_6();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Interface_decl_Alternatives_5(lastRuleCallOrigin, this, 0, inst);
case 1: return new Interface_decl_LeftCurlyBracketKeyword_4(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
/************ end Rule interface_decl ****************/
/************ begin Rule interface_fwd ****************
*
* interface_fwd returns IDL::ForwardDef:
* ("abstract" | "local")? "interface" identifier=ID;
*
**/
// ("abstract" | "local")? "interface" identifier=ID
protected class Interface_fwd_Group extends GroupToken {
public Interface_fwd_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getInterface_fwdAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Interface_fwd_IdentifierAssignment_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getInterface_fwdRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "interface"
protected class Interface_fwd_InterfaceKeyword_1 extends KeywordToken {
public Interface_fwd_InterfaceKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getInterface_fwdAccess().getInterfaceKeyword_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// identifier=ID
protected class Interface_fwd_IdentifierAssignment_2 extends AssignmentToken {
public Interface_fwd_IdentifierAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getInterface_fwdAccess().getIdentifierAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Interface_fwd_InterfaceKeyword_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInterface_fwdAccess().getIdentifierIDTerminalRuleCall_2_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getInterface_fwdAccess().getIdentifierIDTerminalRuleCall_2_0();
return obj;
}
return null;
}
}
/************ end Rule interface_fwd ****************/
/************ begin Rule export ****************
*
* // | type_id_decl ';'
* // | type_prefix_decl ';'
* export returns IDL::Contained:
* type_decl ";" | const_decl ";" | except_decl ";" | attr_decl ";" | op_decl ";";
*
**/
// type_decl ";" | const_decl ";" | except_decl ";" | attr_decl ";" | op_decl ";"
protected class Export_Alternatives extends AlternativesToken {
public Export_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getExportAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Export_Group_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Export_Group_1(lastRuleCallOrigin, this, 1, inst);
case 2: return new Export_Group_2(lastRuleCallOrigin, this, 2, inst);
case 3: return new Export_Group_3(lastRuleCallOrigin, this, 3, inst);
case 4: return new Export_Group_4(lastRuleCallOrigin, this, 4, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAlias_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getAttr_specRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getConst_declRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getEnum_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getExcept_declRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getOp_declRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getStruct_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getUnion_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// type_decl ";"
protected class Export_Group_0 extends GroupToken {
public Export_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExportAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Export_SemicolonKeyword_0_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAlias_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getEnum_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getStruct_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getUnion_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// type_decl
protected class Export_Type_declParserRuleCall_0_0 extends RuleCallToken {
public Export_Type_declParserRuleCall_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExportAccess().getType_declParserRuleCall_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Type_decl_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Type_decl_Alternatives.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// ";"
protected class Export_SemicolonKeyword_0_1 extends KeywordToken {
public Export_SemicolonKeyword_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExportAccess().getSemicolonKeyword_0_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Export_Type_declParserRuleCall_0_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// const_decl ";"
protected class Export_Group_1 extends GroupToken {
public Export_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExportAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Export_SemicolonKeyword_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getConst_declRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// const_decl
protected class Export_Const_declParserRuleCall_1_0 extends RuleCallToken {
public Export_Const_declParserRuleCall_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExportAccess().getConst_declParserRuleCall_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Const_decl_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Const_decl_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// ";"
protected class Export_SemicolonKeyword_1_1 extends KeywordToken {
public Export_SemicolonKeyword_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExportAccess().getSemicolonKeyword_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Export_Const_declParserRuleCall_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// except_decl ";"
protected class Export_Group_2 extends GroupToken {
public Export_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExportAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Export_SemicolonKeyword_2_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getExcept_declRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// except_decl
protected class Export_Except_declParserRuleCall_2_0 extends RuleCallToken {
public Export_Except_declParserRuleCall_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExportAccess().getExcept_declParserRuleCall_2_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Except_decl_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Except_decl_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// ";"
protected class Export_SemicolonKeyword_2_1 extends KeywordToken {
public Export_SemicolonKeyword_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExportAccess().getSemicolonKeyword_2_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Export_Except_declParserRuleCall_2_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// attr_decl ";"
protected class Export_Group_3 extends GroupToken {
public Export_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExportAccess().getGroup_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Export_SemicolonKeyword_3_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAttr_specRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// attr_decl
protected class Export_Attr_declParserRuleCall_3_0 extends RuleCallToken {
public Export_Attr_declParserRuleCall_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExportAccess().getAttr_declParserRuleCall_3_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_decl_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Attr_decl_Alternatives.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// ";"
protected class Export_SemicolonKeyword_3_1 extends KeywordToken {
public Export_SemicolonKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExportAccess().getSemicolonKeyword_3_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Export_Attr_declParserRuleCall_3_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// op_decl ";"
protected class Export_Group_4 extends GroupToken {
public Export_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExportAccess().getGroup_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Export_SemicolonKeyword_4_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getOp_declRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// op_decl
protected class Export_Op_declParserRuleCall_4_0 extends RuleCallToken {
public Export_Op_declParserRuleCall_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getExportAccess().getOp_declParserRuleCall_4_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Op_decl_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// ";"
protected class Export_SemicolonKeyword_4_1 extends KeywordToken {
public Export_SemicolonKeyword_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExportAccess().getSemicolonKeyword_4_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Export_Op_declParserRuleCall_4_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
/************ end Rule export ****************/
/************ begin Rule op_decl ****************
*
* op_decl returns IDL::OperationDef:
* isOneway?="oneway"? (containedType=op_type_spec | sharedType=[IDL::TypedefDef]) identifier=ID "("
* (parameters+=param_decl ("," parameters+=param_decl)*)? ")" ("raises" "(" canRaise+=[IDL::ExceptionDef] (","
* canRaise+=[IDL::ExceptionDef])* ")")? ("context" "(" contexts+=STRING ("," contexts+=STRING)* ")")?;
*
**/
// isOneway?="oneway"? (containedType=op_type_spec | sharedType=[IDL::TypedefDef]) identifier=ID "("
// (parameters+=param_decl ("," parameters+=param_decl)*)? ")" ("raises" "(" canRaise+=[IDL::ExceptionDef] (","
// canRaise+=[IDL::ExceptionDef])* ")")? ("context" "(" contexts+=STRING ("," contexts+=STRING)* ")")?
protected class Op_decl_Group extends GroupToken {
public Op_decl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getOp_declAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_Group_7(lastRuleCallOrigin, this, 0, inst);
case 1: return new Op_decl_Group_6(lastRuleCallOrigin, this, 1, inst);
case 2: return new Op_decl_RightParenthesisKeyword_5(lastRuleCallOrigin, this, 2, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getOp_declRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// isOneway?="oneway"?
protected class Op_decl_IsOnewayAssignment_0 extends AssignmentToken {
public Op_decl_IsOnewayAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getOp_declAccess().getIsOnewayAssignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("isOneway",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("isOneway");
if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
type = AssignmentType.KEYWORD;
element = grammarAccess.getOp_declAccess().getIsOnewayOnewayKeyword_0_0();
return obj;
}
return null;
}
}
// containedType=op_type_spec | sharedType=[IDL::TypedefDef]
protected class Op_decl_Alternatives_1 extends AlternativesToken {
public Op_decl_Alternatives_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getOp_declAccess().getAlternatives_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_ContainedTypeAssignment_1_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Op_decl_SharedTypeAssignment_1_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// containedType=op_type_spec
protected class Op_decl_ContainedTypeAssignment_1_0 extends AssignmentToken {
public Op_decl_ContainedTypeAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getOp_declAccess().getContainedTypeAssignment_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_type_spec_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("containedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("containedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getOp_type_specRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getOp_declAccess().getContainedTypeOp_type_specParserRuleCall_1_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Op_decl_IsOnewayAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index - 1, consumed);
}
}
}
// sharedType=[IDL::TypedefDef]
protected class Op_decl_SharedTypeAssignment_1_1 extends AssignmentToken {
public Op_decl_SharedTypeAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getOp_declAccess().getSharedTypeAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_IsOnewayAssignment_0(lastRuleCallOrigin, this, 0, inst);
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("sharedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sharedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getOp_declAccess().getSharedTypeTypedefDefCrossReference_1_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getOp_declAccess().getSharedTypeTypedefDefCrossReference_1_1_0();
return obj;
}
}
return null;
}
}
// identifier=ID
protected class Op_decl_IdentifierAssignment_2 extends AssignmentToken {
public Op_decl_IdentifierAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getOp_declAccess().getIdentifierAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_Alternatives_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getOp_declAccess().getIdentifierIDTerminalRuleCall_2_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getOp_declAccess().getIdentifierIDTerminalRuleCall_2_0();
return obj;
}
return null;
}
}
// "("
protected class Op_decl_LeftParenthesisKeyword_3 extends KeywordToken {
public Op_decl_LeftParenthesisKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getOp_declAccess().getLeftParenthesisKeyword_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_IdentifierAssignment_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// (parameters+=param_decl ("," parameters+=param_decl)*)?
protected class Op_decl_Group_4 extends GroupToken {
public Op_decl_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getOp_declAccess().getGroup_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_Group_4_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Op_decl_ParametersAssignment_4_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// parameters+=param_decl
protected class Op_decl_ParametersAssignment_4_0 extends AssignmentToken {
public Op_decl_ParametersAssignment_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getOp_declAccess().getParametersAssignment_4_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Param_decl_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("parameters",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parameters");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getParam_declRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getOp_declAccess().getParametersParam_declParserRuleCall_4_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Op_decl_LeftParenthesisKeyword_3(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// ("," parameters+=param_decl)*
protected class Op_decl_Group_4_1 extends GroupToken {
public Op_decl_Group_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getOp_declAccess().getGroup_4_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_ParametersAssignment_4_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ","
protected class Op_decl_CommaKeyword_4_1_0 extends KeywordToken {
public Op_decl_CommaKeyword_4_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getOp_declAccess().getCommaKeyword_4_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_Group_4_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Op_decl_ParametersAssignment_4_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// parameters+=param_decl
protected class Op_decl_ParametersAssignment_4_1_1 extends AssignmentToken {
public Op_decl_ParametersAssignment_4_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getOp_declAccess().getParametersAssignment_4_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Param_decl_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("parameters",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parameters");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getParam_declRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getOp_declAccess().getParametersParam_declParserRuleCall_4_1_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Op_decl_CommaKeyword_4_1_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// ")"
protected class Op_decl_RightParenthesisKeyword_5 extends KeywordToken {
public Op_decl_RightParenthesisKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getOp_declAccess().getRightParenthesisKeyword_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_Group_4(lastRuleCallOrigin, this, 0, inst);
case 1: return new Op_decl_LeftParenthesisKeyword_3(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// ("raises" "(" canRaise+=[IDL::ExceptionDef] ("," canRaise+=[IDL::ExceptionDef])* ")")?
protected class Op_decl_Group_6 extends GroupToken {
public Op_decl_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getOp_declAccess().getGroup_6();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_RightParenthesisKeyword_6_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "raises"
protected class Op_decl_RaisesKeyword_6_0 extends KeywordToken {
public Op_decl_RaisesKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getOp_declAccess().getRaisesKeyword_6_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_RightParenthesisKeyword_5(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "("
protected class Op_decl_LeftParenthesisKeyword_6_1 extends KeywordToken {
public Op_decl_LeftParenthesisKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getOp_declAccess().getLeftParenthesisKeyword_6_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_RaisesKeyword_6_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// canRaise+=[IDL::ExceptionDef]
protected class Op_decl_CanRaiseAssignment_6_2 extends AssignmentToken {
public Op_decl_CanRaiseAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getOp_declAccess().getCanRaiseAssignment_6_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_LeftParenthesisKeyword_6_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("canRaise",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("canRaise");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getOp_declAccess().getCanRaiseExceptionDefCrossReference_6_2_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getOp_declAccess().getCanRaiseExceptionDefCrossReference_6_2_0();
return obj;
}
}
return null;
}
}
// ("," canRaise+=[IDL::ExceptionDef])*
protected class Op_decl_Group_6_3 extends GroupToken {
public Op_decl_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getOp_declAccess().getGroup_6_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_CanRaiseAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ","
protected class Op_decl_CommaKeyword_6_3_0 extends KeywordToken {
public Op_decl_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getOp_declAccess().getCommaKeyword_6_3_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_Group_6_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new Op_decl_CanRaiseAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// canRaise+=[IDL::ExceptionDef]
protected class Op_decl_CanRaiseAssignment_6_3_1 extends AssignmentToken {
public Op_decl_CanRaiseAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getOp_declAccess().getCanRaiseAssignment_6_3_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_CommaKeyword_6_3_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("canRaise",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("canRaise");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getOp_declAccess().getCanRaiseExceptionDefCrossReference_6_3_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getOp_declAccess().getCanRaiseExceptionDefCrossReference_6_3_1_0();
return obj;
}
}
return null;
}
}
// ")"
protected class Op_decl_RightParenthesisKeyword_6_4 extends KeywordToken {
public Op_decl_RightParenthesisKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getOp_declAccess().getRightParenthesisKeyword_6_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_Group_6_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new Op_decl_CanRaiseAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// ("context" "(" contexts+=STRING ("," contexts+=STRING)* ")")?
protected class Op_decl_Group_7 extends GroupToken {
public Op_decl_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getOp_declAccess().getGroup_7();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_RightParenthesisKeyword_7_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "context"
protected class Op_decl_ContextKeyword_7_0 extends KeywordToken {
public Op_decl_ContextKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getOp_declAccess().getContextKeyword_7_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_Group_6(lastRuleCallOrigin, this, 0, inst);
case 1: return new Op_decl_RightParenthesisKeyword_5(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// "("
protected class Op_decl_LeftParenthesisKeyword_7_1 extends KeywordToken {
public Op_decl_LeftParenthesisKeyword_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getOp_declAccess().getLeftParenthesisKeyword_7_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_ContextKeyword_7_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// contexts+=STRING
protected class Op_decl_ContextsAssignment_7_2 extends AssignmentToken {
public Op_decl_ContextsAssignment_7_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getOp_declAccess().getContextsAssignment_7_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_LeftParenthesisKeyword_7_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("contexts",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("contexts");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getOp_declAccess().getContextsSTRINGTerminalRuleCall_7_2_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getOp_declAccess().getContextsSTRINGTerminalRuleCall_7_2_0();
return obj;
}
return null;
}
}
// ("," contexts+=STRING)*
protected class Op_decl_Group_7_3 extends GroupToken {
public Op_decl_Group_7_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getOp_declAccess().getGroup_7_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_ContextsAssignment_7_3_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ","
protected class Op_decl_CommaKeyword_7_3_0 extends KeywordToken {
public Op_decl_CommaKeyword_7_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getOp_declAccess().getCommaKeyword_7_3_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_Group_7_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new Op_decl_ContextsAssignment_7_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// contexts+=STRING
protected class Op_decl_ContextsAssignment_7_3_1 extends AssignmentToken {
public Op_decl_ContextsAssignment_7_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getOp_declAccess().getContextsAssignment_7_3_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_CommaKeyword_7_3_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("contexts",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("contexts");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getOp_declAccess().getContextsSTRINGTerminalRuleCall_7_3_1_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getOp_declAccess().getContextsSTRINGTerminalRuleCall_7_3_1_0();
return obj;
}
return null;
}
}
// ")"
protected class Op_decl_RightParenthesisKeyword_7_4 extends KeywordToken {
public Op_decl_RightParenthesisKeyword_7_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getOp_declAccess().getRightParenthesisKeyword_7_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_decl_Group_7_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new Op_decl_ContextsAssignment_7_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
/************ end Rule op_decl ****************/
/************ begin Rule op_type_spec ****************
*
* op_type_spec returns IDL::IDLType:
* base_type_spec | {IDL::PrimitiveDef} kind=void_type;
*
**/
// base_type_spec | {IDL::PrimitiveDef} kind=void_type
protected class Op_type_spec_Alternatives extends AlternativesToken {
public Op_type_spec_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getOp_type_specAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_type_spec_Base_type_specParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Op_type_spec_Group_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getOp_type_specAccess().getPrimitiveDefAction_1_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// base_type_spec
protected class Op_type_spec_Base_type_specParserRuleCall_0 extends RuleCallToken {
public Op_type_spec_Base_type_specParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getOp_type_specAccess().getBase_type_specParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Base_type_spec_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Base_type_spec_Alternatives.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// {IDL::PrimitiveDef} kind=void_type
protected class Op_type_spec_Group_1 extends GroupToken {
public Op_type_spec_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getOp_type_specAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_type_spec_KindAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// {IDL::PrimitiveDef}
protected class Op_type_spec_PrimitiveDefAction_1_0 extends ActionToken {
public Op_type_spec_PrimitiveDefAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getOp_type_specAccess().getPrimitiveDefAction_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if(!eObjectConsumer.isConsumed()) return null;
return eObjectConsumer;
}
}
// kind=void_type
protected class Op_type_spec_KindAssignment_1_1 extends AssignmentToken {
public Op_type_spec_KindAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getOp_type_specAccess().getKindAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Op_type_spec_PrimitiveDefAction_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getOp_type_specAccess().getKindVoid_typeEnumRuleCall_1_1_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getOp_type_specAccess().getKindVoid_typeEnumRuleCall_1_1_0();
return obj;
}
return null;
}
}
/************ end Rule op_type_spec ****************/
/************ begin Rule param_decl ****************
*
* param_decl returns IDL::ParameterDef:
* direction=param_attribute (containedType=base_type_spec | sharedType=[IDL::TypedefDef]) identifier=ID;
*
**/
// direction=param_attribute (containedType=base_type_spec | sharedType=[IDL::TypedefDef]) identifier=ID
protected class Param_decl_Group extends GroupToken {
public Param_decl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getParam_declAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Param_decl_IdentifierAssignment_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getParam_declRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// direction=param_attribute
protected class Param_decl_DirectionAssignment_0 extends AssignmentToken {
public Param_decl_DirectionAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getParam_declAccess().getDirectionAssignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("direction",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("direction");
if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getParam_declAccess().getDirectionParam_attributeEnumRuleCall_0_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getParam_declAccess().getDirectionParam_attributeEnumRuleCall_0_0();
return obj;
}
return null;
}
}
// containedType=base_type_spec | sharedType=[IDL::TypedefDef]
protected class Param_decl_Alternatives_1 extends AlternativesToken {
public Param_decl_Alternatives_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getParam_declAccess().getAlternatives_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Param_decl_ContainedTypeAssignment_1_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Param_decl_SharedTypeAssignment_1_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// containedType=base_type_spec
protected class Param_decl_ContainedTypeAssignment_1_0 extends AssignmentToken {
public Param_decl_ContainedTypeAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getParam_declAccess().getContainedTypeAssignment_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Base_type_spec_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("containedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("containedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getBase_type_specRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getParam_declAccess().getContainedTypeBase_type_specParserRuleCall_1_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Param_decl_DirectionAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// sharedType=[IDL::TypedefDef]
protected class Param_decl_SharedTypeAssignment_1_1 extends AssignmentToken {
public Param_decl_SharedTypeAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getParam_declAccess().getSharedTypeAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Param_decl_DirectionAssignment_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("sharedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sharedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getParam_declAccess().getSharedTypeTypedefDefCrossReference_1_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getParam_declAccess().getSharedTypeTypedefDefCrossReference_1_1_0();
return obj;
}
}
return null;
}
}
// identifier=ID
protected class Param_decl_IdentifierAssignment_2 extends AssignmentToken {
public Param_decl_IdentifierAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getParam_declAccess().getIdentifierAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Param_decl_Alternatives_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getParam_declAccess().getIdentifierIDTerminalRuleCall_2_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getParam_declAccess().getIdentifierIDTerminalRuleCall_2_0();
return obj;
}
return null;
}
}
/************ end Rule param_decl ****************/
/************ begin Rule attr_decl ****************
*
* attr_decl returns IDL::AttributeDef:
* readonly_attr_spec | attr_spec;
*
**/
// readonly_attr_spec | attr_spec
protected class Attr_decl_Alternatives extends AlternativesToken {
public Attr_decl_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getAttr_declAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_decl_Readonly_attr_specParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Attr_decl_Attr_specParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAttr_specRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// readonly_attr_spec
protected class Attr_decl_Readonly_attr_specParserRuleCall_0 extends RuleCallToken {
public Attr_decl_Readonly_attr_specParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAttr_declAccess().getReadonly_attr_specParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Readonly_attr_spec_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Readonly_attr_spec_Alternatives.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// attr_spec
protected class Attr_decl_Attr_specParserRuleCall_1 extends RuleCallToken {
public Attr_decl_Attr_specParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAttr_declAccess().getAttr_specParserRuleCall_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Attr_spec_Alternatives.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
/************ end Rule attr_decl ****************/
/************ begin Rule readonly_attr_spec ****************
*
* readonly_attr_spec returns IDL::AttributeDef:
* isReadonly?="readonly" "attribute" (containedType=base_type_spec | sharedType=[IDL::TypedefDef]) identifier=ID
* "raises" "(" getRaises+=[IDL::ExceptionDef] ("," getRaises+=[IDL::ExceptionDef])* ")" | isReadonly?="readonly"
* "attribute" (containedType=base_type_spec | sharedType=[IDL::TypedefDef]) identifier=ID;
*
**/
// isReadonly?="readonly" "attribute" (containedType=base_type_spec | sharedType=[IDL::TypedefDef]) identifier=ID "raises"
// "(" getRaises+=[IDL::ExceptionDef] ("," getRaises+=[IDL::ExceptionDef])* ")" | isReadonly?="readonly" "attribute"
// (containedType=base_type_spec | sharedType=[IDL::TypedefDef]) identifier=ID
protected class Readonly_attr_spec_Alternatives extends AlternativesToken {
public Readonly_attr_spec_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Readonly_attr_spec_Group_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Readonly_attr_spec_Group_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getReadonly_attr_specRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// isReadonly?="readonly" "attribute" (containedType=base_type_spec | sharedType=[IDL::TypedefDef]) identifier=ID "raises"
// "(" getRaises+=[IDL::ExceptionDef] ("," getRaises+=[IDL::ExceptionDef])* ")"
protected class Readonly_attr_spec_Group_0 extends GroupToken {
public Readonly_attr_spec_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Readonly_attr_spec_RightParenthesisKeyword_0_8(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// isReadonly?="readonly"
protected class Readonly_attr_spec_IsReadonlyAssignment_0_0 extends AssignmentToken {
public Readonly_attr_spec_IsReadonlyAssignment_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getIsReadonlyAssignment_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("isReadonly",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("isReadonly");
if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
type = AssignmentType.KEYWORD;
element = grammarAccess.getReadonly_attr_specAccess().getIsReadonlyReadonlyKeyword_0_0_0();
return obj;
}
return null;
}
}
// "attribute"
protected class Readonly_attr_spec_AttributeKeyword_0_1 extends KeywordToken {
public Readonly_attr_spec_AttributeKeyword_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getAttributeKeyword_0_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Readonly_attr_spec_IsReadonlyAssignment_0_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// containedType=base_type_spec | sharedType=[IDL::TypedefDef]
protected class Readonly_attr_spec_Alternatives_0_2 extends AlternativesToken {
public Readonly_attr_spec_Alternatives_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getAlternatives_0_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Readonly_attr_spec_ContainedTypeAssignment_0_2_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Readonly_attr_spec_SharedTypeAssignment_0_2_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// containedType=base_type_spec
protected class Readonly_attr_spec_ContainedTypeAssignment_0_2_0 extends AssignmentToken {
public Readonly_attr_spec_ContainedTypeAssignment_0_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getContainedTypeAssignment_0_2_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Base_type_spec_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("containedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("containedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getBase_type_specRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getReadonly_attr_specAccess().getContainedTypeBase_type_specParserRuleCall_0_2_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Readonly_attr_spec_AttributeKeyword_0_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// sharedType=[IDL::TypedefDef]
protected class Readonly_attr_spec_SharedTypeAssignment_0_2_1 extends AssignmentToken {
public Readonly_attr_spec_SharedTypeAssignment_0_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getSharedTypeAssignment_0_2_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Readonly_attr_spec_AttributeKeyword_0_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("sharedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sharedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getReadonly_attr_specAccess().getSharedTypeTypedefDefCrossReference_0_2_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getReadonly_attr_specAccess().getSharedTypeTypedefDefCrossReference_0_2_1_0();
return obj;
}
}
return null;
}
}
// identifier=ID
protected class Readonly_attr_spec_IdentifierAssignment_0_3 extends AssignmentToken {
public Readonly_attr_spec_IdentifierAssignment_0_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getIdentifierAssignment_0_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Readonly_attr_spec_Alternatives_0_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getReadonly_attr_specAccess().getIdentifierIDTerminalRuleCall_0_3_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getReadonly_attr_specAccess().getIdentifierIDTerminalRuleCall_0_3_0();
return obj;
}
return null;
}
}
// "raises"
protected class Readonly_attr_spec_RaisesKeyword_0_4 extends KeywordToken {
public Readonly_attr_spec_RaisesKeyword_0_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getRaisesKeyword_0_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Readonly_attr_spec_IdentifierAssignment_0_3(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "("
protected class Readonly_attr_spec_LeftParenthesisKeyword_0_5 extends KeywordToken {
public Readonly_attr_spec_LeftParenthesisKeyword_0_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getLeftParenthesisKeyword_0_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Readonly_attr_spec_RaisesKeyword_0_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// getRaises+=[IDL::ExceptionDef]
protected class Readonly_attr_spec_GetRaisesAssignment_0_6 extends AssignmentToken {
public Readonly_attr_spec_GetRaisesAssignment_0_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getGetRaisesAssignment_0_6();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Readonly_attr_spec_LeftParenthesisKeyword_0_5(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("getRaises",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("getRaises");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getReadonly_attr_specAccess().getGetRaisesExceptionDefCrossReference_0_6_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getReadonly_attr_specAccess().getGetRaisesExceptionDefCrossReference_0_6_0();
return obj;
}
}
return null;
}
}
// ("," getRaises+=[IDL::ExceptionDef])*
protected class Readonly_attr_spec_Group_0_7 extends GroupToken {
public Readonly_attr_spec_Group_0_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getGroup_0_7();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Readonly_attr_spec_GetRaisesAssignment_0_7_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ","
protected class Readonly_attr_spec_CommaKeyword_0_7_0 extends KeywordToken {
public Readonly_attr_spec_CommaKeyword_0_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getCommaKeyword_0_7_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Readonly_attr_spec_Group_0_7(lastRuleCallOrigin, this, 0, inst);
case 1: return new Readonly_attr_spec_GetRaisesAssignment_0_6(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// getRaises+=[IDL::ExceptionDef]
protected class Readonly_attr_spec_GetRaisesAssignment_0_7_1 extends AssignmentToken {
public Readonly_attr_spec_GetRaisesAssignment_0_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getGetRaisesAssignment_0_7_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Readonly_attr_spec_CommaKeyword_0_7_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("getRaises",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("getRaises");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getReadonly_attr_specAccess().getGetRaisesExceptionDefCrossReference_0_7_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getReadonly_attr_specAccess().getGetRaisesExceptionDefCrossReference_0_7_1_0();
return obj;
}
}
return null;
}
}
// ")"
protected class Readonly_attr_spec_RightParenthesisKeyword_0_8 extends KeywordToken {
public Readonly_attr_spec_RightParenthesisKeyword_0_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getRightParenthesisKeyword_0_8();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Readonly_attr_spec_Group_0_7(lastRuleCallOrigin, this, 0, inst);
case 1: return new Readonly_attr_spec_GetRaisesAssignment_0_6(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// isReadonly?="readonly" "attribute" (containedType=base_type_spec | sharedType=[IDL::TypedefDef]) identifier=ID
protected class Readonly_attr_spec_Group_1 extends GroupToken {
public Readonly_attr_spec_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Readonly_attr_spec_IdentifierAssignment_1_3(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// isReadonly?="readonly"
protected class Readonly_attr_spec_IsReadonlyAssignment_1_0 extends AssignmentToken {
public Readonly_attr_spec_IsReadonlyAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getIsReadonlyAssignment_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("isReadonly",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("isReadonly");
if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl
type = AssignmentType.KEYWORD;
element = grammarAccess.getReadonly_attr_specAccess().getIsReadonlyReadonlyKeyword_1_0_0();
return obj;
}
return null;
}
}
// "attribute"
protected class Readonly_attr_spec_AttributeKeyword_1_1 extends KeywordToken {
public Readonly_attr_spec_AttributeKeyword_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getAttributeKeyword_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Readonly_attr_spec_IsReadonlyAssignment_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// containedType=base_type_spec | sharedType=[IDL::TypedefDef]
protected class Readonly_attr_spec_Alternatives_1_2 extends AlternativesToken {
public Readonly_attr_spec_Alternatives_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getAlternatives_1_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Readonly_attr_spec_ContainedTypeAssignment_1_2_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Readonly_attr_spec_SharedTypeAssignment_1_2_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// containedType=base_type_spec
protected class Readonly_attr_spec_ContainedTypeAssignment_1_2_0 extends AssignmentToken {
public Readonly_attr_spec_ContainedTypeAssignment_1_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getContainedTypeAssignment_1_2_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Base_type_spec_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("containedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("containedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getBase_type_specRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getReadonly_attr_specAccess().getContainedTypeBase_type_specParserRuleCall_1_2_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Readonly_attr_spec_AttributeKeyword_1_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// sharedType=[IDL::TypedefDef]
protected class Readonly_attr_spec_SharedTypeAssignment_1_2_1 extends AssignmentToken {
public Readonly_attr_spec_SharedTypeAssignment_1_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getSharedTypeAssignment_1_2_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Readonly_attr_spec_AttributeKeyword_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("sharedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sharedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getReadonly_attr_specAccess().getSharedTypeTypedefDefCrossReference_1_2_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getReadonly_attr_specAccess().getSharedTypeTypedefDefCrossReference_1_2_1_0();
return obj;
}
}
return null;
}
}
// identifier=ID
protected class Readonly_attr_spec_IdentifierAssignment_1_3 extends AssignmentToken {
public Readonly_attr_spec_IdentifierAssignment_1_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getReadonly_attr_specAccess().getIdentifierAssignment_1_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Readonly_attr_spec_Alternatives_1_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getReadonly_attr_specAccess().getIdentifierIDTerminalRuleCall_1_3_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getReadonly_attr_specAccess().getIdentifierIDTerminalRuleCall_1_3_0();
return obj;
}
return null;
}
}
/************ end Rule readonly_attr_spec ****************/
/************ begin Rule attr_spec ****************
*
* attr_spec returns IDL::AttributeDef:
* "attribute" (containedType=base_type_spec | sharedType=[IDL::TypedefDef]) identifier=ID ("getraises" "("
* getRaises+=[IDL::ExceptionDef] ("," getRaises+=[IDL::ExceptionDef])* ")" ("setraises" "("
* setRaises+=[IDL::ExceptionDef] ("," setRaises+=[IDL::ExceptionDef])* ")")? | "setraises" "("
* setRaises+=[IDL::ExceptionDef] ("," setRaises+=[IDL::ExceptionDef])* ")") | "attribute" (containedType=base_type_spec
* | sharedType=[IDL::TypedefDef]) identifier=ID;
*
**/
// "attribute" (containedType=base_type_spec | sharedType=[IDL::TypedefDef]) identifier=ID ("getraises" "("
// getRaises+=[IDL::ExceptionDef] ("," getRaises+=[IDL::ExceptionDef])* ")" ("setraises" "("
// setRaises+=[IDL::ExceptionDef] ("," setRaises+=[IDL::ExceptionDef])* ")")? | "setraises" "("
// setRaises+=[IDL::ExceptionDef] ("," setRaises+=[IDL::ExceptionDef])* ")") | "attribute" (containedType=base_type_spec |
// sharedType=[IDL::TypedefDef]) identifier=ID
protected class Attr_spec_Alternatives extends AlternativesToken {
public Attr_spec_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getAttr_specAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_Group_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Attr_spec_Group_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAttr_specRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "attribute" (containedType=base_type_spec | sharedType=[IDL::TypedefDef]) identifier=ID ("getraises" "("
// getRaises+=[IDL::ExceptionDef] ("," getRaises+=[IDL::ExceptionDef])* ")" ("setraises" "("
// setRaises+=[IDL::ExceptionDef] ("," setRaises+=[IDL::ExceptionDef])* ")")? | "setraises" "("
// setRaises+=[IDL::ExceptionDef] ("," setRaises+=[IDL::ExceptionDef])* ")")
protected class Attr_spec_Group_0 extends GroupToken {
public Attr_spec_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getAttr_specAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_Alternatives_0_3(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "attribute"
protected class Attr_spec_AttributeKeyword_0_0 extends KeywordToken {
public Attr_spec_AttributeKeyword_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getAttr_specAccess().getAttributeKeyword_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// containedType=base_type_spec | sharedType=[IDL::TypedefDef]
protected class Attr_spec_Alternatives_0_1 extends AlternativesToken {
public Attr_spec_Alternatives_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getAttr_specAccess().getAlternatives_0_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_ContainedTypeAssignment_0_1_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Attr_spec_SharedTypeAssignment_0_1_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// containedType=base_type_spec
protected class Attr_spec_ContainedTypeAssignment_0_1_0 extends AssignmentToken {
public Attr_spec_ContainedTypeAssignment_0_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAttr_specAccess().getContainedTypeAssignment_0_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Base_type_spec_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("containedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("containedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getBase_type_specRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getAttr_specAccess().getContainedTypeBase_type_specParserRuleCall_0_1_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Attr_spec_AttributeKeyword_0_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// sharedType=[IDL::TypedefDef]
protected class Attr_spec_SharedTypeAssignment_0_1_1 extends AssignmentToken {
public Attr_spec_SharedTypeAssignment_0_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAttr_specAccess().getSharedTypeAssignment_0_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_AttributeKeyword_0_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("sharedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sharedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getAttr_specAccess().getSharedTypeTypedefDefCrossReference_0_1_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getAttr_specAccess().getSharedTypeTypedefDefCrossReference_0_1_1_0();
return obj;
}
}
return null;
}
}
// identifier=ID
protected class Attr_spec_IdentifierAssignment_0_2 extends AssignmentToken {
public Attr_spec_IdentifierAssignment_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAttr_specAccess().getIdentifierAssignment_0_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_Alternatives_0_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAttr_specAccess().getIdentifierIDTerminalRuleCall_0_2_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getAttr_specAccess().getIdentifierIDTerminalRuleCall_0_2_0();
return obj;
}
return null;
}
}
// "getraises" "(" getRaises+=[IDL::ExceptionDef] ("," getRaises+=[IDL::ExceptionDef])* ")" ("setraises" "("
// setRaises+=[IDL::ExceptionDef] ("," setRaises+=[IDL::ExceptionDef])* ")")? | "setraises" "("
// setRaises+=[IDL::ExceptionDef] ("," setRaises+=[IDL::ExceptionDef])* ")"
protected class Attr_spec_Alternatives_0_3 extends AlternativesToken {
public Attr_spec_Alternatives_0_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getAttr_specAccess().getAlternatives_0_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_Group_0_3_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Attr_spec_Group_0_3_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// "getraises" "(" getRaises+=[IDL::ExceptionDef] ("," getRaises+=[IDL::ExceptionDef])* ")" ("setraises" "("
// setRaises+=[IDL::ExceptionDef] ("," setRaises+=[IDL::ExceptionDef])* ")")?
protected class Attr_spec_Group_0_3_0 extends GroupToken {
public Attr_spec_Group_0_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getAttr_specAccess().getGroup_0_3_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_Group_0_3_0_5(lastRuleCallOrigin, this, 0, inst);
case 1: return new Attr_spec_RightParenthesisKeyword_0_3_0_4(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// "getraises"
protected class Attr_spec_GetraisesKeyword_0_3_0_0 extends KeywordToken {
public Attr_spec_GetraisesKeyword_0_3_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getAttr_specAccess().getGetraisesKeyword_0_3_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_IdentifierAssignment_0_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "("
protected class Attr_spec_LeftParenthesisKeyword_0_3_0_1 extends KeywordToken {
public Attr_spec_LeftParenthesisKeyword_0_3_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getAttr_specAccess().getLeftParenthesisKeyword_0_3_0_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_GetraisesKeyword_0_3_0_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// getRaises+=[IDL::ExceptionDef]
protected class Attr_spec_GetRaisesAssignment_0_3_0_2 extends AssignmentToken {
public Attr_spec_GetRaisesAssignment_0_3_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAttr_specAccess().getGetRaisesAssignment_0_3_0_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_LeftParenthesisKeyword_0_3_0_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("getRaises",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("getRaises");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getAttr_specAccess().getGetRaisesExceptionDefCrossReference_0_3_0_2_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getAttr_specAccess().getGetRaisesExceptionDefCrossReference_0_3_0_2_0();
return obj;
}
}
return null;
}
}
// ("," getRaises+=[IDL::ExceptionDef])*
protected class Attr_spec_Group_0_3_0_3 extends GroupToken {
public Attr_spec_Group_0_3_0_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getAttr_specAccess().getGroup_0_3_0_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_GetRaisesAssignment_0_3_0_3_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ","
protected class Attr_spec_CommaKeyword_0_3_0_3_0 extends KeywordToken {
public Attr_spec_CommaKeyword_0_3_0_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getAttr_specAccess().getCommaKeyword_0_3_0_3_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_Group_0_3_0_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new Attr_spec_GetRaisesAssignment_0_3_0_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// getRaises+=[IDL::ExceptionDef]
protected class Attr_spec_GetRaisesAssignment_0_3_0_3_1 extends AssignmentToken {
public Attr_spec_GetRaisesAssignment_0_3_0_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAttr_specAccess().getGetRaisesAssignment_0_3_0_3_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_CommaKeyword_0_3_0_3_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("getRaises",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("getRaises");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getAttr_specAccess().getGetRaisesExceptionDefCrossReference_0_3_0_3_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getAttr_specAccess().getGetRaisesExceptionDefCrossReference_0_3_0_3_1_0();
return obj;
}
}
return null;
}
}
// ")"
protected class Attr_spec_RightParenthesisKeyword_0_3_0_4 extends KeywordToken {
public Attr_spec_RightParenthesisKeyword_0_3_0_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getAttr_specAccess().getRightParenthesisKeyword_0_3_0_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_Group_0_3_0_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new Attr_spec_GetRaisesAssignment_0_3_0_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// ("setraises" "(" setRaises+=[IDL::ExceptionDef] ("," setRaises+=[IDL::ExceptionDef])* ")")?
protected class Attr_spec_Group_0_3_0_5 extends GroupToken {
public Attr_spec_Group_0_3_0_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getAttr_specAccess().getGroup_0_3_0_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_RightParenthesisKeyword_0_3_0_5_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "setraises"
protected class Attr_spec_SetraisesKeyword_0_3_0_5_0 extends KeywordToken {
public Attr_spec_SetraisesKeyword_0_3_0_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getAttr_specAccess().getSetraisesKeyword_0_3_0_5_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_RightParenthesisKeyword_0_3_0_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "("
protected class Attr_spec_LeftParenthesisKeyword_0_3_0_5_1 extends KeywordToken {
public Attr_spec_LeftParenthesisKeyword_0_3_0_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getAttr_specAccess().getLeftParenthesisKeyword_0_3_0_5_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_SetraisesKeyword_0_3_0_5_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// setRaises+=[IDL::ExceptionDef]
protected class Attr_spec_SetRaisesAssignment_0_3_0_5_2 extends AssignmentToken {
public Attr_spec_SetRaisesAssignment_0_3_0_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAttr_specAccess().getSetRaisesAssignment_0_3_0_5_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_LeftParenthesisKeyword_0_3_0_5_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("setRaises",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("setRaises");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getAttr_specAccess().getSetRaisesExceptionDefCrossReference_0_3_0_5_2_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getAttr_specAccess().getSetRaisesExceptionDefCrossReference_0_3_0_5_2_0();
return obj;
}
}
return null;
}
}
// ("," setRaises+=[IDL::ExceptionDef])*
protected class Attr_spec_Group_0_3_0_5_3 extends GroupToken {
public Attr_spec_Group_0_3_0_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getAttr_specAccess().getGroup_0_3_0_5_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_SetRaisesAssignment_0_3_0_5_3_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ","
protected class Attr_spec_CommaKeyword_0_3_0_5_3_0 extends KeywordToken {
public Attr_spec_CommaKeyword_0_3_0_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getAttr_specAccess().getCommaKeyword_0_3_0_5_3_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_Group_0_3_0_5_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new Attr_spec_SetRaisesAssignment_0_3_0_5_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// setRaises+=[IDL::ExceptionDef]
protected class Attr_spec_SetRaisesAssignment_0_3_0_5_3_1 extends AssignmentToken {
public Attr_spec_SetRaisesAssignment_0_3_0_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAttr_specAccess().getSetRaisesAssignment_0_3_0_5_3_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_CommaKeyword_0_3_0_5_3_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("setRaises",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("setRaises");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getAttr_specAccess().getSetRaisesExceptionDefCrossReference_0_3_0_5_3_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getAttr_specAccess().getSetRaisesExceptionDefCrossReference_0_3_0_5_3_1_0();
return obj;
}
}
return null;
}
}
// ")"
protected class Attr_spec_RightParenthesisKeyword_0_3_0_5_4 extends KeywordToken {
public Attr_spec_RightParenthesisKeyword_0_3_0_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getAttr_specAccess().getRightParenthesisKeyword_0_3_0_5_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_Group_0_3_0_5_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new Attr_spec_SetRaisesAssignment_0_3_0_5_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// "setraises" "(" setRaises+=[IDL::ExceptionDef] ("," setRaises+=[IDL::ExceptionDef])* ")"
protected class Attr_spec_Group_0_3_1 extends GroupToken {
public Attr_spec_Group_0_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getAttr_specAccess().getGroup_0_3_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_RightParenthesisKeyword_0_3_1_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "setraises"
protected class Attr_spec_SetraisesKeyword_0_3_1_0 extends KeywordToken {
public Attr_spec_SetraisesKeyword_0_3_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getAttr_specAccess().getSetraisesKeyword_0_3_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_IdentifierAssignment_0_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "("
protected class Attr_spec_LeftParenthesisKeyword_0_3_1_1 extends KeywordToken {
public Attr_spec_LeftParenthesisKeyword_0_3_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getAttr_specAccess().getLeftParenthesisKeyword_0_3_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_SetraisesKeyword_0_3_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// setRaises+=[IDL::ExceptionDef]
protected class Attr_spec_SetRaisesAssignment_0_3_1_2 extends AssignmentToken {
public Attr_spec_SetRaisesAssignment_0_3_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAttr_specAccess().getSetRaisesAssignment_0_3_1_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_LeftParenthesisKeyword_0_3_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("setRaises",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("setRaises");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getAttr_specAccess().getSetRaisesExceptionDefCrossReference_0_3_1_2_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getAttr_specAccess().getSetRaisesExceptionDefCrossReference_0_3_1_2_0();
return obj;
}
}
return null;
}
}
// ("," setRaises+=[IDL::ExceptionDef])*
protected class Attr_spec_Group_0_3_1_3 extends GroupToken {
public Attr_spec_Group_0_3_1_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getAttr_specAccess().getGroup_0_3_1_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_SetRaisesAssignment_0_3_1_3_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ","
protected class Attr_spec_CommaKeyword_0_3_1_3_0 extends KeywordToken {
public Attr_spec_CommaKeyword_0_3_1_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getAttr_specAccess().getCommaKeyword_0_3_1_3_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_Group_0_3_1_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new Attr_spec_SetRaisesAssignment_0_3_1_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// setRaises+=[IDL::ExceptionDef]
protected class Attr_spec_SetRaisesAssignment_0_3_1_3_1 extends AssignmentToken {
public Attr_spec_SetRaisesAssignment_0_3_1_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAttr_specAccess().getSetRaisesAssignment_0_3_1_3_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_CommaKeyword_0_3_1_3_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("setRaises",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("setRaises");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getAttr_specAccess().getSetRaisesExceptionDefCrossReference_0_3_1_3_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getAttr_specAccess().getSetRaisesExceptionDefCrossReference_0_3_1_3_1_0();
return obj;
}
}
return null;
}
}
// ")"
protected class Attr_spec_RightParenthesisKeyword_0_3_1_4 extends KeywordToken {
public Attr_spec_RightParenthesisKeyword_0_3_1_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getAttr_specAccess().getRightParenthesisKeyword_0_3_1_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_Group_0_3_1_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new Attr_spec_SetRaisesAssignment_0_3_1_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// "attribute" (containedType=base_type_spec | sharedType=[IDL::TypedefDef]) identifier=ID
protected class Attr_spec_Group_1 extends GroupToken {
public Attr_spec_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getAttr_specAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_IdentifierAssignment_1_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "attribute"
protected class Attr_spec_AttributeKeyword_1_0 extends KeywordToken {
public Attr_spec_AttributeKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getAttr_specAccess().getAttributeKeyword_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// containedType=base_type_spec | sharedType=[IDL::TypedefDef]
protected class Attr_spec_Alternatives_1_1 extends AlternativesToken {
public Attr_spec_Alternatives_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getAttr_specAccess().getAlternatives_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_ContainedTypeAssignment_1_1_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Attr_spec_SharedTypeAssignment_1_1_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// containedType=base_type_spec
protected class Attr_spec_ContainedTypeAssignment_1_1_0 extends AssignmentToken {
public Attr_spec_ContainedTypeAssignment_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAttr_specAccess().getContainedTypeAssignment_1_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Base_type_spec_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("containedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("containedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getBase_type_specRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getAttr_specAccess().getContainedTypeBase_type_specParserRuleCall_1_1_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Attr_spec_AttributeKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// sharedType=[IDL::TypedefDef]
protected class Attr_spec_SharedTypeAssignment_1_1_1 extends AssignmentToken {
public Attr_spec_SharedTypeAssignment_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAttr_specAccess().getSharedTypeAssignment_1_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_AttributeKeyword_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("sharedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sharedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getAttr_specAccess().getSharedTypeTypedefDefCrossReference_1_1_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getAttr_specAccess().getSharedTypeTypedefDefCrossReference_1_1_1_0();
return obj;
}
}
return null;
}
}
// identifier=ID
protected class Attr_spec_IdentifierAssignment_1_2 extends AssignmentToken {
public Attr_spec_IdentifierAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAttr_specAccess().getIdentifierAssignment_1_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Attr_spec_Alternatives_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAttr_specAccess().getIdentifierIDTerminalRuleCall_1_2_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getAttr_specAccess().getIdentifierIDTerminalRuleCall_1_2_0();
return obj;
}
return null;
}
}
/************ end Rule attr_spec ****************/
/************ begin Rule except_decl ****************
*
* except_decl returns IDL::ExceptionDef:
* "exception" identifier=ID "{" members+=member* "}";
*
**/
// "exception" identifier=ID "{" members+=member* "}"
protected class Except_decl_Group extends GroupToken {
public Except_decl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExcept_declAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Except_decl_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getExcept_declRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "exception"
protected class Except_decl_ExceptionKeyword_0 extends KeywordToken {
public Except_decl_ExceptionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExcept_declAccess().getExceptionKeyword_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// identifier=ID
protected class Except_decl_IdentifierAssignment_1 extends AssignmentToken {
public Except_decl_IdentifierAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExcept_declAccess().getIdentifierAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Except_decl_ExceptionKeyword_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getExcept_declAccess().getIdentifierIDTerminalRuleCall_1_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getExcept_declAccess().getIdentifierIDTerminalRuleCall_1_0();
return obj;
}
return null;
}
}
// "{"
protected class Except_decl_LeftCurlyBracketKeyword_2 extends KeywordToken {
public Except_decl_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExcept_declAccess().getLeftCurlyBracketKeyword_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Except_decl_IdentifierAssignment_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// members+=member*
protected class Except_decl_MembersAssignment_3 extends AssignmentToken {
public Except_decl_MembersAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExcept_declAccess().getMembersAssignment_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Member_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("members",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("members");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getMemberRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExcept_declAccess().getMembersMemberParserRuleCall_3_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Except_decl_MembersAssignment_3(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Except_decl_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// "}"
protected class Except_decl_RightCurlyBracketKeyword_4 extends KeywordToken {
public Except_decl_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExcept_declAccess().getRightCurlyBracketKeyword_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Except_decl_MembersAssignment_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new Except_decl_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
/************ end Rule except_decl ****************/
/************ begin Rule type_decl ****************
*
* type_decl returns IDL::TypedefDef:
* alias_type | struct_type | union_type | enum_type | "native" ID | constr_forward_decl;
*
**/
// alias_type | struct_type | union_type | enum_type | "native" ID | constr_forward_decl
protected class Type_decl_Alternatives extends AlternativesToken {
public Type_decl_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getType_declAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Type_decl_Alias_typeParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Type_decl_Struct_typeParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
case 2: return new Type_decl_Union_typeParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
case 3: return new Type_decl_Enum_typeParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
case 4: return new Type_decl_Constr_forward_declParserRuleCall_5(lastRuleCallOrigin, this, 4, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAlias_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getEnum_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getStruct_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getUnion_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// alias_type
protected class Type_decl_Alias_typeParserRuleCall_0 extends RuleCallToken {
public Type_decl_Alias_typeParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getType_declAccess().getAlias_typeParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Alias_type_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAlias_typeRule().getType().getClassifier())
return null;
if(checkForRecursion(Alias_type_Alternatives.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// struct_type
protected class Type_decl_Struct_typeParserRuleCall_1 extends RuleCallToken {
public Type_decl_Struct_typeParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getType_declAccess().getStruct_typeParserRuleCall_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Struct_type_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getStruct_typeRule().getType().getClassifier())
return null;
if(checkForRecursion(Struct_type_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// union_type
protected class Type_decl_Union_typeParserRuleCall_2 extends RuleCallToken {
public Type_decl_Union_typeParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getType_declAccess().getUnion_typeParserRuleCall_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Union_type_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getUnion_typeRule().getType().getClassifier())
return null;
if(checkForRecursion(Union_type_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// enum_type
protected class Type_decl_Enum_typeParserRuleCall_3 extends RuleCallToken {
public Type_decl_Enum_typeParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getType_declAccess().getEnum_typeParserRuleCall_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Enum_type_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getEnum_typeRule().getType().getClassifier())
return null;
if(checkForRecursion(Enum_type_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// constr_forward_decl
protected class Type_decl_Constr_forward_declParserRuleCall_5 extends UnassignedTextToken {
public Type_decl_Constr_forward_declParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getType_declAccess().getConstr_forward_declParserRuleCall_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
/************ end Rule type_decl ****************/
/************ begin Rule alias_type ****************
*
* alias_type returns IDL::AliasDef:
* "typedef" containedType=array_type_spec | "typedef" (containedType=simple_type_spec | sharedType=[IDL::TypedefDef])
* identifier=ID;
*
**/
// "typedef" containedType=array_type_spec | "typedef" (containedType=simple_type_spec | sharedType=[IDL::TypedefDef])
// identifier=ID
protected class Alias_type_Alternatives extends AlternativesToken {
public Alias_type_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getAlias_typeAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Alias_type_Group_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Alias_type_Group_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAlias_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "typedef" containedType=array_type_spec
protected class Alias_type_Group_0 extends GroupToken {
public Alias_type_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getAlias_typeAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Alias_type_ContainedTypeAssignment_0_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "typedef"
protected class Alias_type_TypedefKeyword_0_0 extends KeywordToken {
public Alias_type_TypedefKeyword_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getAlias_typeAccess().getTypedefKeyword_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// containedType=array_type_spec
protected class Alias_type_ContainedTypeAssignment_0_1 extends AssignmentToken {
public Alias_type_ContainedTypeAssignment_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAlias_typeAccess().getContainedTypeAssignment_0_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Array_type_spec_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("containedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("containedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getArray_type_specRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getAlias_typeAccess().getContainedTypeArray_type_specParserRuleCall_0_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Alias_type_TypedefKeyword_0_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// "typedef" (containedType=simple_type_spec | sharedType=[IDL::TypedefDef]) identifier=ID
protected class Alias_type_Group_1 extends GroupToken {
public Alias_type_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getAlias_typeAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Alias_type_IdentifierAssignment_1_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "typedef"
protected class Alias_type_TypedefKeyword_1_0 extends KeywordToken {
public Alias_type_TypedefKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getAlias_typeAccess().getTypedefKeyword_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// containedType=simple_type_spec | sharedType=[IDL::TypedefDef]
protected class Alias_type_Alternatives_1_1 extends AlternativesToken {
public Alias_type_Alternatives_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getAlias_typeAccess().getAlternatives_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Alias_type_ContainedTypeAssignment_1_1_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Alias_type_SharedTypeAssignment_1_1_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// containedType=simple_type_spec
protected class Alias_type_ContainedTypeAssignment_1_1_0 extends AssignmentToken {
public Alias_type_ContainedTypeAssignment_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAlias_typeAccess().getContainedTypeAssignment_1_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Simple_type_spec_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("containedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("containedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getSimple_type_specRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getAlias_typeAccess().getContainedTypeSimple_type_specParserRuleCall_1_1_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Alias_type_TypedefKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// sharedType=[IDL::TypedefDef]
protected class Alias_type_SharedTypeAssignment_1_1_1 extends AssignmentToken {
public Alias_type_SharedTypeAssignment_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAlias_typeAccess().getSharedTypeAssignment_1_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Alias_type_TypedefKeyword_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("sharedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sharedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getAlias_typeAccess().getSharedTypeTypedefDefCrossReference_1_1_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getAlias_typeAccess().getSharedTypeTypedefDefCrossReference_1_1_1_0();
return obj;
}
}
return null;
}
}
// identifier=ID
protected class Alias_type_IdentifierAssignment_1_2 extends AssignmentToken {
public Alias_type_IdentifierAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAlias_typeAccess().getIdentifierAssignment_1_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Alias_type_Alternatives_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAlias_typeAccess().getIdentifierIDTerminalRuleCall_1_2_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getAlias_typeAccess().getIdentifierIDTerminalRuleCall_1_2_0();
return obj;
}
return null;
}
}
/************ end Rule alias_type ****************/
/************ begin Rule array_type_spec ****************
*
* / *id_array
* : ID ('['const_exp']')+
* ;* /array_type_spec returns IDL::ArrayDef:
* (containedType=simple_type_spec | sharedType=[IDL::TypedefDef]) name=ID ("[" bounds+=const_exp "]")+;
*
**/
// (containedType=simple_type_spec | sharedType=[IDL::TypedefDef]) name=ID ("[" bounds+=const_exp "]")+
protected class Array_type_spec_Group extends GroupToken {
public Array_type_spec_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getArray_type_specAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Array_type_spec_Group_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getArray_type_specRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// containedType=simple_type_spec | sharedType=[IDL::TypedefDef]
protected class Array_type_spec_Alternatives_0 extends AlternativesToken {
public Array_type_spec_Alternatives_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getArray_type_specAccess().getAlternatives_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Array_type_spec_ContainedTypeAssignment_0_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Array_type_spec_SharedTypeAssignment_0_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// containedType=simple_type_spec
protected class Array_type_spec_ContainedTypeAssignment_0_0 extends AssignmentToken {
public Array_type_spec_ContainedTypeAssignment_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getArray_type_specAccess().getContainedTypeAssignment_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Simple_type_spec_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("containedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("containedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getSimple_type_specRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getArray_type_specAccess().getContainedTypeSimple_type_specParserRuleCall_0_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
}
}
}
// sharedType=[IDL::TypedefDef]
protected class Array_type_spec_SharedTypeAssignment_0_1 extends AssignmentToken {
public Array_type_spec_SharedTypeAssignment_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getArray_type_specAccess().getSharedTypeAssignment_0_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("sharedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sharedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getArray_type_specAccess().getSharedTypeTypedefDefCrossReference_0_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getArray_type_specAccess().getSharedTypeTypedefDefCrossReference_0_1_0();
return obj;
}
}
return null;
}
}
// name=ID
protected class Array_type_spec_NameAssignment_1 extends AssignmentToken {
public Array_type_spec_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getArray_type_specAccess().getNameAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Array_type_spec_Alternatives_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getArray_type_specAccess().getNameIDTerminalRuleCall_1_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getArray_type_specAccess().getNameIDTerminalRuleCall_1_0();
return obj;
}
return null;
}
}
// ("[" bounds+=const_exp "]")+
protected class Array_type_spec_Group_2 extends GroupToken {
public Array_type_spec_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getArray_type_specAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Array_type_spec_RightSquareBracketKeyword_2_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "["
protected class Array_type_spec_LeftSquareBracketKeyword_2_0 extends KeywordToken {
public Array_type_spec_LeftSquareBracketKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getArray_type_specAccess().getLeftSquareBracketKeyword_2_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Array_type_spec_Group_2(lastRuleCallOrigin, this, 0, inst);
case 1: return new Array_type_spec_NameAssignment_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// bounds+=const_exp
protected class Array_type_spec_BoundsAssignment_2_1 extends AssignmentToken {
public Array_type_spec_BoundsAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getArray_type_specAccess().getBoundsAssignment_2_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Const_exp_Or_exprParserRuleCall(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("bounds",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("bounds");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getConst_expRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getArray_type_specAccess().getBoundsConst_expParserRuleCall_2_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Array_type_spec_LeftSquareBracketKeyword_2_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// "]"
protected class Array_type_spec_RightSquareBracketKeyword_2_2 extends KeywordToken {
public Array_type_spec_RightSquareBracketKeyword_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getArray_type_specAccess().getRightSquareBracketKeyword_2_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Array_type_spec_BoundsAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
/************ end Rule array_type_spec ****************/
/************ begin Rule simple_type_spec ****************
*
* simple_type_spec returns IDL::IDLType:
* base_type_spec | template_type_spec;
*
**/
// base_type_spec | template_type_spec
protected class Simple_type_spec_Alternatives extends AlternativesToken {
public Simple_type_spec_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getSimple_type_specAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Simple_type_spec_Base_type_specParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Simple_type_spec_Template_type_specParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getFixed_pt_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getBase_type_specRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getSequence_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getStringdef_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getWide_stringdef_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// base_type_spec
protected class Simple_type_spec_Base_type_specParserRuleCall_0 extends RuleCallToken {
public Simple_type_spec_Base_type_specParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getSimple_type_specAccess().getBase_type_specParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Base_type_spec_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getBase_type_specRule().getType().getClassifier())
return null;
if(checkForRecursion(Base_type_spec_Alternatives.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// template_type_spec
protected class Simple_type_spec_Template_type_specParserRuleCall_1 extends RuleCallToken {
public Simple_type_spec_Template_type_specParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getSimple_type_specAccess().getTemplate_type_specParserRuleCall_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Template_type_spec_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getFixed_pt_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getSequence_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getStringdef_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getWide_stringdef_typeRule().getType().getClassifier())
return null;
if(checkForRecursion(Template_type_spec_Alternatives.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
/************ end Rule simple_type_spec ****************/
/************ begin Rule base_type_spec ****************
*
* base_type_spec returns IDL::PrimitiveDef:
* primitive_def | kind=object_type;
*
**/
// primitive_def | kind=object_type
protected class Base_type_spec_Alternatives extends AlternativesToken {
public Base_type_spec_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getBase_type_specAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Base_type_spec_Primitive_defParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Base_type_spec_KindAssignment_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getBase_type_specRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// primitive_def
protected class Base_type_spec_Primitive_defParserRuleCall_0 extends RuleCallToken {
public Base_type_spec_Primitive_defParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getBase_type_specAccess().getPrimitive_defParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Primitive_def_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Primitive_def_Alternatives.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// kind=object_type
protected class Base_type_spec_KindAssignment_1 extends AssignmentToken {
public Base_type_spec_KindAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getBase_type_specAccess().getKindAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getBase_type_specAccess().getKindObject_typeEnumRuleCall_1_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getBase_type_specAccess().getKindObject_typeEnumRuleCall_1_0();
return obj;
}
return null;
}
}
/************ end Rule base_type_spec ****************/
/************ begin Rule template_type_spec ****************
*
* template_type_spec returns IDL::IDLType:
* sequence_type | stringdef_type | wide_stringdef_type | fixed_pt_type;
*
**/
// sequence_type | stringdef_type | wide_stringdef_type | fixed_pt_type
protected class Template_type_spec_Alternatives extends AlternativesToken {
public Template_type_spec_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getTemplate_type_specAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Template_type_spec_Sequence_typeParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Template_type_spec_Stringdef_typeParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
case 2: return new Template_type_spec_Wide_stringdef_typeParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
case 3: return new Template_type_spec_Fixed_pt_typeParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getFixed_pt_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getSequence_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getStringdef_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getWide_stringdef_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// sequence_type
protected class Template_type_spec_Sequence_typeParserRuleCall_0 extends RuleCallToken {
public Template_type_spec_Sequence_typeParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getTemplate_type_specAccess().getSequence_typeParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Sequence_type_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getSequence_typeRule().getType().getClassifier())
return null;
if(checkForRecursion(Sequence_type_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// stringdef_type
protected class Template_type_spec_Stringdef_typeParserRuleCall_1 extends RuleCallToken {
public Template_type_spec_Stringdef_typeParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getTemplate_type_specAccess().getStringdef_typeParserRuleCall_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Stringdef_type_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getStringdef_typeRule().getType().getClassifier())
return null;
if(checkForRecursion(Stringdef_type_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// wide_stringdef_type
protected class Template_type_spec_Wide_stringdef_typeParserRuleCall_2 extends RuleCallToken {
public Template_type_spec_Wide_stringdef_typeParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getTemplate_type_specAccess().getWide_stringdef_typeParserRuleCall_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Wide_stringdef_type_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getWide_stringdef_typeRule().getType().getClassifier())
return null;
if(checkForRecursion(Wide_stringdef_type_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// fixed_pt_type
protected class Template_type_spec_Fixed_pt_typeParserRuleCall_3 extends RuleCallToken {
public Template_type_spec_Fixed_pt_typeParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getTemplate_type_specAccess().getFixed_pt_typeParserRuleCall_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Fixed_pt_type_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getFixed_pt_typeRule().getType().getClassifier())
return null;
if(checkForRecursion(Fixed_pt_type_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
/************ end Rule template_type_spec ****************/
/************ begin Rule constr_type_spec ****************
*
* constr_type_spec returns IDL::TypedefDef:
* struct_type | union_type | enum_type;
*
**/
// struct_type | union_type | enum_type
protected class Constr_type_spec_Alternatives extends AlternativesToken {
public Constr_type_spec_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getConstr_type_specAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Constr_type_spec_Struct_typeParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Constr_type_spec_Union_typeParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
case 2: return new Constr_type_spec_Enum_typeParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getEnum_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getStruct_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getUnion_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// struct_type
protected class Constr_type_spec_Struct_typeParserRuleCall_0 extends RuleCallToken {
public Constr_type_spec_Struct_typeParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getConstr_type_specAccess().getStruct_typeParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Struct_type_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getStruct_typeRule().getType().getClassifier())
return null;
if(checkForRecursion(Struct_type_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// union_type
protected class Constr_type_spec_Union_typeParserRuleCall_1 extends RuleCallToken {
public Constr_type_spec_Union_typeParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getConstr_type_specAccess().getUnion_typeParserRuleCall_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Union_type_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getUnion_typeRule().getType().getClassifier())
return null;
if(checkForRecursion(Union_type_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// enum_type
protected class Constr_type_spec_Enum_typeParserRuleCall_2 extends RuleCallToken {
public Constr_type_spec_Enum_typeParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getConstr_type_specAccess().getEnum_typeParserRuleCall_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Enum_type_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getEnum_typeRule().getType().getClassifier())
return null;
if(checkForRecursion(Enum_type_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
/************ end Rule constr_type_spec ****************/
/************ begin Rule struct_type ****************
*
* struct_type returns IDL::StructDef:
* "struct" identifier=ID "{" members+=member+ "}";
*
**/
// "struct" identifier=ID "{" members+=member+ "}"
protected class Struct_type_Group extends GroupToken {
public Struct_type_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getStruct_typeAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Struct_type_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getStruct_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "struct"
protected class Struct_type_StructKeyword_0 extends KeywordToken {
public Struct_type_StructKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getStruct_typeAccess().getStructKeyword_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// identifier=ID
protected class Struct_type_IdentifierAssignment_1 extends AssignmentToken {
public Struct_type_IdentifierAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getStruct_typeAccess().getIdentifierAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Struct_type_StructKeyword_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getStruct_typeAccess().getIdentifierIDTerminalRuleCall_1_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getStruct_typeAccess().getIdentifierIDTerminalRuleCall_1_0();
return obj;
}
return null;
}
}
// "{"
protected class Struct_type_LeftCurlyBracketKeyword_2 extends KeywordToken {
public Struct_type_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getStruct_typeAccess().getLeftCurlyBracketKeyword_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Struct_type_IdentifierAssignment_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// members+=member+
protected class Struct_type_MembersAssignment_3 extends AssignmentToken {
public Struct_type_MembersAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getStruct_typeAccess().getMembersAssignment_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Member_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("members",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("members");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getMemberRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getStruct_typeAccess().getMembersMemberParserRuleCall_3_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Struct_type_MembersAssignment_3(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Struct_type_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// "}"
protected class Struct_type_RightCurlyBracketKeyword_4 extends KeywordToken {
public Struct_type_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getStruct_typeAccess().getRightCurlyBracketKeyword_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Struct_type_MembersAssignment_3(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
/************ end Rule struct_type ****************/
/************ begin Rule member ****************
*
* member returns IDL::Field:
* containedType=array_type_spec / *identifier= id_array* / ";" | containedType=simple_type_spec identifier=ID ";" |
* containedType=struct_type identifier=ID ";" | sharedType=[IDL::TypedefDef] identifier=ID ";";
*
**/
// containedType=array_type_spec / *identifier= id_array* / ";" | containedType=simple_type_spec identifier=ID ";" |
// containedType=struct_type identifier=ID ";" | sharedType=[IDL::TypedefDef] identifier=ID ";"
protected class Member_Alternatives extends AlternativesToken {
public Member_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getMemberAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Member_Group_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Member_Group_1(lastRuleCallOrigin, this, 1, inst);
case 2: return new Member_Group_2(lastRuleCallOrigin, this, 2, inst);
case 3: return new Member_Group_3(lastRuleCallOrigin, this, 3, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getMemberRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// containedType=array_type_spec / *identifier= id_array* / ";"
protected class Member_Group_0 extends GroupToken {
public Member_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getMemberAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Member_SemicolonKeyword_0_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// containedType=array_type_spec
protected class Member_ContainedTypeAssignment_0_0 extends AssignmentToken {
public Member_ContainedTypeAssignment_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getMemberAccess().getContainedTypeAssignment_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Array_type_spec_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("containedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("containedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getArray_type_specRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getMemberAccess().getContainedTypeArray_type_specParserRuleCall_0_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
}
}
}
// / *identifier= id_array* / ";"
protected class Member_SemicolonKeyword_0_1 extends KeywordToken {
public Member_SemicolonKeyword_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getMemberAccess().getSemicolonKeyword_0_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Member_ContainedTypeAssignment_0_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// containedType=simple_type_spec identifier=ID ";"
protected class Member_Group_1 extends GroupToken {
public Member_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getMemberAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Member_SemicolonKeyword_1_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// containedType=simple_type_spec
protected class Member_ContainedTypeAssignment_1_0 extends AssignmentToken {
public Member_ContainedTypeAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getMemberAccess().getContainedTypeAssignment_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Simple_type_spec_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("containedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("containedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getSimple_type_specRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getMemberAccess().getContainedTypeSimple_type_specParserRuleCall_1_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
}
}
}
// identifier=ID
protected class Member_IdentifierAssignment_1_1 extends AssignmentToken {
public Member_IdentifierAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getMemberAccess().getIdentifierAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Member_ContainedTypeAssignment_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getMemberAccess().getIdentifierIDTerminalRuleCall_1_1_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getMemberAccess().getIdentifierIDTerminalRuleCall_1_1_0();
return obj;
}
return null;
}
}
// ";"
protected class Member_SemicolonKeyword_1_2 extends KeywordToken {
public Member_SemicolonKeyword_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getMemberAccess().getSemicolonKeyword_1_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Member_IdentifierAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// containedType=struct_type identifier=ID ";"
protected class Member_Group_2 extends GroupToken {
public Member_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getMemberAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Member_SemicolonKeyword_2_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// containedType=struct_type
protected class Member_ContainedTypeAssignment_2_0 extends AssignmentToken {
public Member_ContainedTypeAssignment_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getMemberAccess().getContainedTypeAssignment_2_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Struct_type_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("containedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("containedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getStruct_typeRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getMemberAccess().getContainedTypeStruct_typeParserRuleCall_2_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
}
}
}
// identifier=ID
protected class Member_IdentifierAssignment_2_1 extends AssignmentToken {
public Member_IdentifierAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getMemberAccess().getIdentifierAssignment_2_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Member_ContainedTypeAssignment_2_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getMemberAccess().getIdentifierIDTerminalRuleCall_2_1_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getMemberAccess().getIdentifierIDTerminalRuleCall_2_1_0();
return obj;
}
return null;
}
}
// ";"
protected class Member_SemicolonKeyword_2_2 extends KeywordToken {
public Member_SemicolonKeyword_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getMemberAccess().getSemicolonKeyword_2_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Member_IdentifierAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// sharedType=[IDL::TypedefDef] identifier=ID ";"
protected class Member_Group_3 extends GroupToken {
public Member_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getMemberAccess().getGroup_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Member_SemicolonKeyword_3_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// sharedType=[IDL::TypedefDef]
protected class Member_SharedTypeAssignment_3_0 extends AssignmentToken {
public Member_SharedTypeAssignment_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getMemberAccess().getSharedTypeAssignment_3_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("sharedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sharedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getMemberAccess().getSharedTypeTypedefDefCrossReference_3_0_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getMemberAccess().getSharedTypeTypedefDefCrossReference_3_0_0();
return obj;
}
}
return null;
}
}
// identifier=ID
protected class Member_IdentifierAssignment_3_1 extends AssignmentToken {
public Member_IdentifierAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getMemberAccess().getIdentifierAssignment_3_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Member_SharedTypeAssignment_3_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getMemberAccess().getIdentifierIDTerminalRuleCall_3_1_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getMemberAccess().getIdentifierIDTerminalRuleCall_3_1_0();
return obj;
}
return null;
}
}
// ";"
protected class Member_SemicolonKeyword_3_2 extends KeywordToken {
public Member_SemicolonKeyword_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getMemberAccess().getSemicolonKeyword_3_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Member_IdentifierAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
/************ end Rule member ****************/
/************ begin Rule union_type ****************
*
* union_type returns IDL::UnionDef:
* "union" identifier=ID "switch" "(" (containedDiscrim=switch_type_spec_cont | sharedDiscrim=[IDL::EnumDef]) ")" "{"
* unionMembers+=case_stmt+ "}";
*
**/
// "union" identifier=ID "switch" "(" (containedDiscrim=switch_type_spec_cont | sharedDiscrim=[IDL::EnumDef]) ")" "{"
// unionMembers+=case_stmt+ "}"
protected class Union_type_Group extends GroupToken {
public Union_type_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getUnion_typeAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Union_type_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getUnion_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "union"
protected class Union_type_UnionKeyword_0 extends KeywordToken {
public Union_type_UnionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getUnion_typeAccess().getUnionKeyword_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// identifier=ID
protected class Union_type_IdentifierAssignment_1 extends AssignmentToken {
public Union_type_IdentifierAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getUnion_typeAccess().getIdentifierAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Union_type_UnionKeyword_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getUnion_typeAccess().getIdentifierIDTerminalRuleCall_1_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getUnion_typeAccess().getIdentifierIDTerminalRuleCall_1_0();
return obj;
}
return null;
}
}
// "switch"
protected class Union_type_SwitchKeyword_2 extends KeywordToken {
public Union_type_SwitchKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getUnion_typeAccess().getSwitchKeyword_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Union_type_IdentifierAssignment_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "("
protected class Union_type_LeftParenthesisKeyword_3 extends KeywordToken {
public Union_type_LeftParenthesisKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getUnion_typeAccess().getLeftParenthesisKeyword_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Union_type_SwitchKeyword_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// containedDiscrim=switch_type_spec_cont | sharedDiscrim=[IDL::EnumDef]
protected class Union_type_Alternatives_4 extends AlternativesToken {
public Union_type_Alternatives_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getUnion_typeAccess().getAlternatives_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Union_type_ContainedDiscrimAssignment_4_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Union_type_SharedDiscrimAssignment_4_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// containedDiscrim=switch_type_spec_cont
protected class Union_type_ContainedDiscrimAssignment_4_0 extends AssignmentToken {
public Union_type_ContainedDiscrimAssignment_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getUnion_typeAccess().getContainedDiscrimAssignment_4_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Switch_type_spec_cont_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("containedDiscrim",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("containedDiscrim");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getSwitch_type_spec_contRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getUnion_typeAccess().getContainedDiscrimSwitch_type_spec_contParserRuleCall_4_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Union_type_LeftParenthesisKeyword_3(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// sharedDiscrim=[IDL::EnumDef]
protected class Union_type_SharedDiscrimAssignment_4_1 extends AssignmentToken {
public Union_type_SharedDiscrimAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getUnion_typeAccess().getSharedDiscrimAssignment_4_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Union_type_LeftParenthesisKeyword_3(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("sharedDiscrim",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sharedDiscrim");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getUnion_typeAccess().getSharedDiscrimEnumDefCrossReference_4_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getUnion_typeAccess().getSharedDiscrimEnumDefCrossReference_4_1_0();
return obj;
}
}
return null;
}
}
// ")"
protected class Union_type_RightParenthesisKeyword_5 extends KeywordToken {
public Union_type_RightParenthesisKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getUnion_typeAccess().getRightParenthesisKeyword_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Union_type_Alternatives_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "{"
protected class Union_type_LeftCurlyBracketKeyword_6 extends KeywordToken {
public Union_type_LeftCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getUnion_typeAccess().getLeftCurlyBracketKeyword_6();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Union_type_RightParenthesisKeyword_5(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// unionMembers+=case_stmt+
protected class Union_type_UnionMembersAssignment_7 extends AssignmentToken {
public Union_type_UnionMembersAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getUnion_typeAccess().getUnionMembersAssignment_7();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("unionMembers",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("unionMembers");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCase_stmtRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getUnion_typeAccess().getUnionMembersCase_stmtParserRuleCall_7_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Union_type_UnionMembersAssignment_7(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Union_type_LeftCurlyBracketKeyword_6(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// "}"
protected class Union_type_RightCurlyBracketKeyword_8 extends KeywordToken {
public Union_type_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getUnion_typeAccess().getRightCurlyBracketKeyword_8();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Union_type_UnionMembersAssignment_7(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
/************ end Rule union_type ****************/
/************ begin Rule switch_type_spec_cont ****************
*
* switch_type_spec_cont returns IDL::IDLType:
* integer_type | {IDL::PrimitiveDef} kind=char_type | {IDL::PrimitiveDef} kind=boolean_type | enum_type;
*
**/
// integer_type | {IDL::PrimitiveDef} kind=char_type | {IDL::PrimitiveDef} kind=boolean_type | enum_type
protected class Switch_type_spec_cont_Alternatives extends AlternativesToken {
public Switch_type_spec_cont_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getSwitch_type_spec_contAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Switch_type_spec_cont_Integer_typeParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Switch_type_spec_cont_Group_1(lastRuleCallOrigin, this, 1, inst);
case 2: return new Switch_type_spec_cont_Group_2(lastRuleCallOrigin, this, 2, inst);
case 3: return new Switch_type_spec_cont_Enum_typeParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getEnum_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getSwitch_type_spec_contAccess().getPrimitiveDefAction_2_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// integer_type
protected class Switch_type_spec_cont_Integer_typeParserRuleCall_0 extends RuleCallToken {
public Switch_type_spec_cont_Integer_typeParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getSwitch_type_spec_contAccess().getInteger_typeParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Integer_type_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getInteger_typeRule().getType().getClassifier())
return null;
if(checkForRecursion(Integer_type_Alternatives.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// {IDL::PrimitiveDef} kind=char_type
protected class Switch_type_spec_cont_Group_1 extends GroupToken {
public Switch_type_spec_cont_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSwitch_type_spec_contAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Switch_type_spec_cont_KindAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getSwitch_type_spec_contAccess().getPrimitiveDefAction_1_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {IDL::PrimitiveDef}
protected class Switch_type_spec_cont_PrimitiveDefAction_1_0 extends ActionToken {
public Switch_type_spec_cont_PrimitiveDefAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getSwitch_type_spec_contAccess().getPrimitiveDefAction_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if(!eObjectConsumer.isConsumed()) return null;
return eObjectConsumer;
}
}
// kind=char_type
protected class Switch_type_spec_cont_KindAssignment_1_1 extends AssignmentToken {
public Switch_type_spec_cont_KindAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSwitch_type_spec_contAccess().getKindAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Switch_type_spec_cont_PrimitiveDefAction_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getSwitch_type_spec_contAccess().getKindChar_typeEnumRuleCall_1_1_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getSwitch_type_spec_contAccess().getKindChar_typeEnumRuleCall_1_1_0();
return obj;
}
return null;
}
}
// {IDL::PrimitiveDef} kind=boolean_type
protected class Switch_type_spec_cont_Group_2 extends GroupToken {
public Switch_type_spec_cont_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSwitch_type_spec_contAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Switch_type_spec_cont_KindAssignment_2_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getSwitch_type_spec_contAccess().getPrimitiveDefAction_2_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {IDL::PrimitiveDef}
protected class Switch_type_spec_cont_PrimitiveDefAction_2_0 extends ActionToken {
public Switch_type_spec_cont_PrimitiveDefAction_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getSwitch_type_spec_contAccess().getPrimitiveDefAction_2_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if(!eObjectConsumer.isConsumed()) return null;
return eObjectConsumer;
}
}
// kind=boolean_type
protected class Switch_type_spec_cont_KindAssignment_2_1 extends AssignmentToken {
public Switch_type_spec_cont_KindAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSwitch_type_spec_contAccess().getKindAssignment_2_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Switch_type_spec_cont_PrimitiveDefAction_2_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getSwitch_type_spec_contAccess().getKindBoolean_typeEnumRuleCall_2_1_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getSwitch_type_spec_contAccess().getKindBoolean_typeEnumRuleCall_2_1_0();
return obj;
}
return null;
}
}
// enum_type
protected class Switch_type_spec_cont_Enum_typeParserRuleCall_3 extends RuleCallToken {
public Switch_type_spec_cont_Enum_typeParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getSwitch_type_spec_contAccess().getEnum_typeParserRuleCall_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Enum_type_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getEnum_typeRule().getType().getClassifier())
return null;
if(checkForRecursion(Enum_type_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
/************ end Rule switch_type_spec_cont ****************/
/************ begin Rule case_stmt ****************
*
* case_stmt returns IDL::UnionField:
* ("case" label+=const_exp ":" | / *label+=* / "default" ":")+ containedType=array_type_spec / *identifier= id_array* / ";"
* | ("case" label+=const_exp ":" | / *label+=* / "default" ":")+ (containedType=simple_type_spec |
* sharedType=[IDL::TypedefDef]) identifier=ID ";";
*
**/
// ("case" label+=const_exp ":" | / *label+=* / "default" ":")+ containedType=array_type_spec / *identifier= id_array* / ";" |
// ("case" label+=const_exp ":" | / *label+=* / "default" ":")+ (containedType=simple_type_spec |
// sharedType=[IDL::TypedefDef]) identifier=ID ";"
protected class Case_stmt_Alternatives extends AlternativesToken {
public Case_stmt_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_Group_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Case_stmt_Group_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getCase_stmtRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// ("case" label+=const_exp ":" | / *label+=* / "default" ":")+ containedType=array_type_spec / *identifier= id_array* / ";"
protected class Case_stmt_Group_0 extends GroupToken {
public Case_stmt_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_SemicolonKeyword_0_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ("case" label+=const_exp ":" | / *label+=* / "default" ":")+
protected class Case_stmt_Alternatives_0_0 extends AlternativesToken {
public Case_stmt_Alternatives_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getAlternatives_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_Group_0_0_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Case_stmt_Group_0_0_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// "case" label+=const_exp ":"
protected class Case_stmt_Group_0_0_0 extends GroupToken {
public Case_stmt_Group_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getGroup_0_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_ColonKeyword_0_0_0_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "case"
protected class Case_stmt_CaseKeyword_0_0_0_0 extends KeywordToken {
public Case_stmt_CaseKeyword_0_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getCaseKeyword_0_0_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_Alternatives_0_0(lastRuleCallOrigin, this, 0, inst);
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
}
}
}
// label+=const_exp
protected class Case_stmt_LabelAssignment_0_0_0_1 extends AssignmentToken {
public Case_stmt_LabelAssignment_0_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getLabelAssignment_0_0_0_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Const_exp_Or_exprParserRuleCall(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("label",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("label");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getConst_expRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCase_stmtAccess().getLabelConst_expParserRuleCall_0_0_0_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Case_stmt_CaseKeyword_0_0_0_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// ":"
protected class Case_stmt_ColonKeyword_0_0_0_2 extends KeywordToken {
public Case_stmt_ColonKeyword_0_0_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getColonKeyword_0_0_0_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_LabelAssignment_0_0_0_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// / *label+=* / "default" ":"
protected class Case_stmt_Group_0_0_1 extends GroupToken {
public Case_stmt_Group_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getGroup_0_0_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_ColonKeyword_0_0_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// / *label+=* / "default"
protected class Case_stmt_DefaultKeyword_0_0_1_0 extends KeywordToken {
public Case_stmt_DefaultKeyword_0_0_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getDefaultKeyword_0_0_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// ":"
protected class Case_stmt_ColonKeyword_0_0_1_1 extends KeywordToken {
public Case_stmt_ColonKeyword_0_0_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getColonKeyword_0_0_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_DefaultKeyword_0_0_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// containedType=array_type_spec
protected class Case_stmt_ContainedTypeAssignment_0_1 extends AssignmentToken {
public Case_stmt_ContainedTypeAssignment_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getContainedTypeAssignment_0_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Array_type_spec_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("containedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("containedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getArray_type_specRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCase_stmtAccess().getContainedTypeArray_type_specParserRuleCall_0_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Case_stmt_Alternatives_0_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// / *identifier= id_array* / ";"
protected class Case_stmt_SemicolonKeyword_0_2 extends KeywordToken {
public Case_stmt_SemicolonKeyword_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getSemicolonKeyword_0_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_ContainedTypeAssignment_0_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ("case" label+=const_exp ":" | / *label+=* / "default" ":")+ (containedType=simple_type_spec |
// sharedType=[IDL::TypedefDef]) identifier=ID ";"
protected class Case_stmt_Group_1 extends GroupToken {
public Case_stmt_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_SemicolonKeyword_1_3(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ("case" label+=const_exp ":" | / *label+=* / "default" ":")+
protected class Case_stmt_Alternatives_1_0 extends AlternativesToken {
public Case_stmt_Alternatives_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getAlternatives_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_Group_1_0_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Case_stmt_Group_1_0_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// "case" label+=const_exp ":"
protected class Case_stmt_Group_1_0_0 extends GroupToken {
public Case_stmt_Group_1_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getGroup_1_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_ColonKeyword_1_0_0_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "case"
protected class Case_stmt_CaseKeyword_1_0_0_0 extends KeywordToken {
public Case_stmt_CaseKeyword_1_0_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getCaseKeyword_1_0_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_Alternatives_1_0(lastRuleCallOrigin, this, 0, inst);
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
}
}
}
// label+=const_exp
protected class Case_stmt_LabelAssignment_1_0_0_1 extends AssignmentToken {
public Case_stmt_LabelAssignment_1_0_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getLabelAssignment_1_0_0_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Const_exp_Or_exprParserRuleCall(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("label",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("label");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getConst_expRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCase_stmtAccess().getLabelConst_expParserRuleCall_1_0_0_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Case_stmt_CaseKeyword_1_0_0_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// ":"
protected class Case_stmt_ColonKeyword_1_0_0_2 extends KeywordToken {
public Case_stmt_ColonKeyword_1_0_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getColonKeyword_1_0_0_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_LabelAssignment_1_0_0_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// / *label+=* / "default" ":"
protected class Case_stmt_Group_1_0_1 extends GroupToken {
public Case_stmt_Group_1_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getGroup_1_0_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_ColonKeyword_1_0_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// / *label+=* / "default"
protected class Case_stmt_DefaultKeyword_1_0_1_0 extends KeywordToken {
public Case_stmt_DefaultKeyword_1_0_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getDefaultKeyword_1_0_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// ":"
protected class Case_stmt_ColonKeyword_1_0_1_1 extends KeywordToken {
public Case_stmt_ColonKeyword_1_0_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getColonKeyword_1_0_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_DefaultKeyword_1_0_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// containedType=simple_type_spec | sharedType=[IDL::TypedefDef]
protected class Case_stmt_Alternatives_1_1 extends AlternativesToken {
public Case_stmt_Alternatives_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getAlternatives_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_ContainedTypeAssignment_1_1_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Case_stmt_SharedTypeAssignment_1_1_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// containedType=simple_type_spec
protected class Case_stmt_ContainedTypeAssignment_1_1_0 extends AssignmentToken {
public Case_stmt_ContainedTypeAssignment_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getContainedTypeAssignment_1_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Simple_type_spec_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("containedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("containedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getSimple_type_specRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCase_stmtAccess().getContainedTypeSimple_type_specParserRuleCall_1_1_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Case_stmt_Alternatives_1_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// sharedType=[IDL::TypedefDef]
protected class Case_stmt_SharedTypeAssignment_1_1_1 extends AssignmentToken {
public Case_stmt_SharedTypeAssignment_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getSharedTypeAssignment_1_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_Alternatives_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("sharedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sharedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCase_stmtAccess().getSharedTypeTypedefDefCrossReference_1_1_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getCase_stmtAccess().getSharedTypeTypedefDefCrossReference_1_1_1_0();
return obj;
}
}
return null;
}
}
// identifier=ID
protected class Case_stmt_IdentifierAssignment_1_2 extends AssignmentToken {
public Case_stmt_IdentifierAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getIdentifierAssignment_1_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_Alternatives_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCase_stmtAccess().getIdentifierIDTerminalRuleCall_1_2_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getCase_stmtAccess().getIdentifierIDTerminalRuleCall_1_2_0();
return obj;
}
return null;
}
}
// ";"
protected class Case_stmt_SemicolonKeyword_1_3 extends KeywordToken {
public Case_stmt_SemicolonKeyword_1_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCase_stmtAccess().getSemicolonKeyword_1_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Case_stmt_IdentifierAssignment_1_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
/************ end Rule case_stmt ****************/
/************ begin Rule enum_type ****************
*
* enum_type returns IDL::EnumDef:
* "enum" identifier=ID "{" members+=enum_member ("," members+=enum_member)* "}";
*
**/
// "enum" identifier=ID "{" members+=enum_member ("," members+=enum_member)* "}"
protected class Enum_type_Group extends GroupToken {
public Enum_type_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getEnum_typeAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Enum_type_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getEnum_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "enum"
protected class Enum_type_EnumKeyword_0 extends KeywordToken {
public Enum_type_EnumKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getEnum_typeAccess().getEnumKeyword_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// identifier=ID
protected class Enum_type_IdentifierAssignment_1 extends AssignmentToken {
public Enum_type_IdentifierAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getEnum_typeAccess().getIdentifierAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Enum_type_EnumKeyword_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getEnum_typeAccess().getIdentifierIDTerminalRuleCall_1_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getEnum_typeAccess().getIdentifierIDTerminalRuleCall_1_0();
return obj;
}
return null;
}
}
// "{"
protected class Enum_type_LeftCurlyBracketKeyword_2 extends KeywordToken {
public Enum_type_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getEnum_typeAccess().getLeftCurlyBracketKeyword_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Enum_type_IdentifierAssignment_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// members+=enum_member
protected class Enum_type_MembersAssignment_3 extends AssignmentToken {
public Enum_type_MembersAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getEnum_typeAccess().getMembersAssignment_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Enum_member_IdentifierAssignment(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("members",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("members");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getEnum_memberRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getEnum_typeAccess().getMembersEnum_memberParserRuleCall_3_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Enum_type_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// ("," members+=enum_member)*
protected class Enum_type_Group_4 extends GroupToken {
public Enum_type_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getEnum_typeAccess().getGroup_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Enum_type_MembersAssignment_4_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ","
protected class Enum_type_CommaKeyword_4_0 extends KeywordToken {
public Enum_type_CommaKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getEnum_typeAccess().getCommaKeyword_4_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Enum_type_Group_4(lastRuleCallOrigin, this, 0, inst);
case 1: return new Enum_type_MembersAssignment_3(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// members+=enum_member
protected class Enum_type_MembersAssignment_4_1 extends AssignmentToken {
public Enum_type_MembersAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getEnum_typeAccess().getMembersAssignment_4_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Enum_member_IdentifierAssignment(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("members",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("members");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getEnum_memberRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getEnum_typeAccess().getMembersEnum_memberParserRuleCall_4_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Enum_type_CommaKeyword_4_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// "}"
protected class Enum_type_RightCurlyBracketKeyword_5 extends KeywordToken {
public Enum_type_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getEnum_typeAccess().getRightCurlyBracketKeyword_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Enum_type_Group_4(lastRuleCallOrigin, this, 0, inst);
case 1: return new Enum_type_MembersAssignment_3(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
/************ end Rule enum_type ****************/
/************ begin Rule enum_member ****************
*
* enum_member returns IDL::EnumMember:
* identifier=ID;
*
**/
// identifier=ID
protected class Enum_member_IdentifierAssignment extends AssignmentToken {
public Enum_member_IdentifierAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getEnum_memberAccess().getIdentifierAssignment();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getEnum_memberRule().getType().getClassifier())
return null;
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getEnum_memberAccess().getIdentifierIDTerminalRuleCall_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getEnum_memberAccess().getIdentifierIDTerminalRuleCall_0();
return obj;
}
return null;
}
}
/************ end Rule enum_member ****************/
/************ begin Rule const_decl ****************
*
* // FIXME: las constantes de tipo FixedDef tienen un value distinto (no const_exp) 12.34D
* // TODO: implementar plantilla xtend para completar los datos de los elementos containedType
* // como por ejemplo el fixedDef y sus campos parte real y parte flotante
* // TODO: comprobar con xtend o cheq que el sharedType es un alias de un tipo básico!!
* const_decl returns IDL::ConstantDef:
* "const" (containedType=const_type | sharedType=[IDL::AliasDef]) identifier=ID "=" constValue=const_exp;
*
**/
// "const" (containedType=const_type | sharedType=[IDL::AliasDef]) identifier=ID "=" constValue=const_exp
protected class Const_decl_Group extends GroupToken {
public Const_decl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getConst_declAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Const_decl_ConstValueAssignment_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getConst_declRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "const"
protected class Const_decl_ConstKeyword_0 extends KeywordToken {
public Const_decl_ConstKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getConst_declAccess().getConstKeyword_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// containedType=const_type | sharedType=[IDL::AliasDef]
protected class Const_decl_Alternatives_1 extends AlternativesToken {
public Const_decl_Alternatives_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getConst_declAccess().getAlternatives_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Const_decl_ContainedTypeAssignment_1_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Const_decl_SharedTypeAssignment_1_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// containedType=const_type
protected class Const_decl_ContainedTypeAssignment_1_0 extends AssignmentToken {
public Const_decl_ContainedTypeAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getConst_declAccess().getContainedTypeAssignment_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Const_type_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("containedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("containedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getConst_typeRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getConst_declAccess().getContainedTypeConst_typeParserRuleCall_1_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Const_decl_ConstKeyword_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// sharedType=[IDL::AliasDef]
protected class Const_decl_SharedTypeAssignment_1_1 extends AssignmentToken {
public Const_decl_SharedTypeAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getConst_declAccess().getSharedTypeAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Const_decl_ConstKeyword_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("sharedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sharedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getConst_declAccess().getSharedTypeAliasDefCrossReference_1_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getConst_declAccess().getSharedTypeAliasDefCrossReference_1_1_0();
return obj;
}
}
return null;
}
}
// identifier=ID
protected class Const_decl_IdentifierAssignment_2 extends AssignmentToken {
public Const_decl_IdentifierAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getConst_declAccess().getIdentifierAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Const_decl_Alternatives_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("identifier",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("identifier");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getConst_declAccess().getIdentifierIDTerminalRuleCall_2_0(), value, null)) {
type = AssignmentType.TERMINAL_RULE_CALL;
element = grammarAccess.getConst_declAccess().getIdentifierIDTerminalRuleCall_2_0();
return obj;
}
return null;
}
}
// "="
protected class Const_decl_EqualsSignKeyword_3 extends KeywordToken {
public Const_decl_EqualsSignKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getConst_declAccess().getEqualsSignKeyword_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Const_decl_IdentifierAssignment_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// constValue=const_exp
protected class Const_decl_ConstValueAssignment_4 extends AssignmentToken {
public Const_decl_ConstValueAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getConst_declAccess().getConstValueAssignment_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Const_exp_Or_exprParserRuleCall(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("constValue",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("constValue");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getConst_expRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getConst_declAccess().getConstValueConst_expParserRuleCall_4_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Const_decl_EqualsSignKeyword_3(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule const_decl ****************/
/************ begin Rule const_type ****************
*
* const_type returns IDL::IDLType:
* primitive_def | stringdef_type | wide_stringdef_type | fixed_pt_const_type;
*
**/
// primitive_def | stringdef_type | wide_stringdef_type | fixed_pt_const_type
protected class Const_type_Alternatives extends AlternativesToken {
public Const_type_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getConst_typeAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Const_type_Primitive_defParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Const_type_Stringdef_typeParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
case 2: return new Const_type_Wide_stringdef_typeParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
case 3: return new Const_type_Fixed_pt_const_typeParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getFixed_pt_const_typeAccess().getFixedDefAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getOther_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getStringdef_typeRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getWide_stringdef_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// primitive_def
protected class Const_type_Primitive_defParserRuleCall_0 extends RuleCallToken {
public Const_type_Primitive_defParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getConst_typeAccess().getPrimitive_defParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Primitive_def_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getOther_typeRule().getType().getClassifier())
return null;
if(checkForRecursion(Primitive_def_Alternatives.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// stringdef_type
protected class Const_type_Stringdef_typeParserRuleCall_1 extends RuleCallToken {
public Const_type_Stringdef_typeParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getConst_typeAccess().getStringdef_typeParserRuleCall_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Stringdef_type_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getStringdef_typeRule().getType().getClassifier())
return null;
if(checkForRecursion(Stringdef_type_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// wide_stringdef_type
protected class Const_type_Wide_stringdef_typeParserRuleCall_2 extends RuleCallToken {
public Const_type_Wide_stringdef_typeParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getConst_typeAccess().getWide_stringdef_typeParserRuleCall_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Wide_stringdef_type_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getWide_stringdef_typeRule().getType().getClassifier())
return null;
if(checkForRecursion(Wide_stringdef_type_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// fixed_pt_const_type
protected class Const_type_Fixed_pt_const_typeParserRuleCall_3 extends RuleCallToken {
public Const_type_Fixed_pt_const_typeParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getConst_typeAccess().getFixed_pt_const_typeParserRuleCall_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Fixed_pt_const_type_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getFixed_pt_const_typeAccess().getFixedDefAction_0().getType().getClassifier())
return null;
if(checkForRecursion(Fixed_pt_const_type_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
/************ end Rule const_type ****************/
/************ begin Rule primitive_def ****************
*
* primitive_def returns IDL::PrimitiveDef:
* integer_type | floating_pt_type | charstr_type | other_type;
*
**/
// integer_type | floating_pt_type | charstr_type | other_type
protected class Primitive_def_Alternatives extends AlternativesToken {
public Primitive_def_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getPrimitive_defAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Primitive_def_Integer_typeParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Primitive_def_Floating_pt_typeParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
case 2: return new Primitive_def_Charstr_typeParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
case 3: return new Primitive_def_Other_typeParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getOther_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// integer_type
protected class Primitive_def_Integer_typeParserRuleCall_0 extends RuleCallToken {
public Primitive_def_Integer_typeParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getPrimitive_defAccess().getInteger_typeParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Integer_type_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Integer_type_Alternatives.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// floating_pt_type
protected class Primitive_def_Floating_pt_typeParserRuleCall_1 extends RuleCallToken {
public Primitive_def_Floating_pt_typeParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getPrimitive_defAccess().getFloating_pt_typeParserRuleCall_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Floating_pt_type_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Floating_pt_type_Alternatives.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// charstr_type
protected class Primitive_def_Charstr_typeParserRuleCall_2 extends RuleCallToken {
public Primitive_def_Charstr_typeParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getPrimitive_defAccess().getCharstr_typeParserRuleCall_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Charstr_type_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Charstr_type_Alternatives.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// other_type
protected class Primitive_def_Other_typeParserRuleCall_3 extends RuleCallToken {
public Primitive_def_Other_typeParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getPrimitive_defAccess().getOther_typeParserRuleCall_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Other_type_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Other_type_Alternatives.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
/************ end Rule primitive_def ****************/
/************ begin Rule sequence_type ****************
*
* //----------------------------
* // DECLARATORS
* //----------------------------
* / *
* declarators
* : declarator ( ',' declarator )*
* ;
*
* simple_declarators
* : (simple_declarator (',' simple_declarator)*)
* ;
*
* declarator
* : simple_declarator
* | complex_declarator
* ;
*
* simple_declarator
* : ID
* ;
*
* // TODO: añadir el arraydef!!!
* complex_declarator
* : ID ('[' const_exp ']')+
* ;
* * ///---------------------------
* // TEMPLATE TYPES
* //---------------------------
* sequence_type returns IDL::SequenceDef:
* "sequence" "<" (containedType=simple_type_spec | sharedType=[IDL::TypedefDef]) ("," bound=const_exp)? ">";
*
**/
// "sequence" "<" (containedType=simple_type_spec | sharedType=[IDL::TypedefDef]) ("," bound=const_exp)? ">"
protected class Sequence_type_Group extends GroupToken {
public Sequence_type_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSequence_typeAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Sequence_type_GreaterThanSignKeyword_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getSequence_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "sequence"
protected class Sequence_type_SequenceKeyword_0 extends KeywordToken {
public Sequence_type_SequenceKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getSequence_typeAccess().getSequenceKeyword_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// "<"
protected class Sequence_type_LessThanSignKeyword_1 extends KeywordToken {
public Sequence_type_LessThanSignKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getSequence_typeAccess().getLessThanSignKeyword_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Sequence_type_SequenceKeyword_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// containedType=simple_type_spec | sharedType=[IDL::TypedefDef]
protected class Sequence_type_Alternatives_2 extends AlternativesToken {
public Sequence_type_Alternatives_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getSequence_typeAccess().getAlternatives_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Sequence_type_ContainedTypeAssignment_2_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Sequence_type_SharedTypeAssignment_2_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
// containedType=simple_type_spec
protected class Sequence_type_ContainedTypeAssignment_2_0 extends AssignmentToken {
public Sequence_type_ContainedTypeAssignment_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSequence_typeAccess().getContainedTypeAssignment_2_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Simple_type_spec_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("containedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("containedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getSimple_type_specRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSequence_typeAccess().getContainedTypeSimple_type_specParserRuleCall_2_0_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Sequence_type_LessThanSignKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// sharedType=[IDL::TypedefDef]
protected class Sequence_type_SharedTypeAssignment_2_1 extends AssignmentToken {
public Sequence_type_SharedTypeAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSequence_typeAccess().getSharedTypeAssignment_2_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Sequence_type_LessThanSignKeyword_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("sharedType",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sharedType");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getSequence_typeAccess().getSharedTypeTypedefDefCrossReference_2_1_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getSequence_typeAccess().getSharedTypeTypedefDefCrossReference_2_1_0();
return obj;
}
}
return null;
}
}
// ("," bound=const_exp)?
protected class Sequence_type_Group_3 extends GroupToken {
public Sequence_type_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSequence_typeAccess().getGroup_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Sequence_type_BoundAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// ","
protected class Sequence_type_CommaKeyword_3_0 extends KeywordToken {
public Sequence_type_CommaKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getSequence_typeAccess().getCommaKeyword_3_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Sequence_type_Alternatives_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// bound=const_exp
protected class Sequence_type_BoundAssignment_3_1 extends AssignmentToken {
public Sequence_type_BoundAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSequence_typeAccess().getBoundAssignment_3_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Const_exp_Or_exprParserRuleCall(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("bound",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("bound");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getConst_expRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSequence_typeAccess().getBoundConst_expParserRuleCall_3_1_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Sequence_type_CommaKeyword_3_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// ">"
protected class Sequence_type_GreaterThanSignKeyword_4 extends KeywordToken {
public Sequence_type_GreaterThanSignKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getSequence_typeAccess().getGreaterThanSignKeyword_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Sequence_type_Group_3(lastRuleCallOrigin, this, 0, inst);
case 1: return new Sequence_type_Alternatives_2(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
}
/************ end Rule sequence_type ****************/
/************ begin Rule stringdef_type ****************
*
* stringdef_type returns IDL::StringDef:
* "string" "<" bound=const_exp ">";
*
**/
// "string" "<" bound=const_exp ">"
protected class Stringdef_type_Group extends GroupToken {
public Stringdef_type_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getStringdef_typeAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Stringdef_type_GreaterThanSignKeyword_3(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getStringdef_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "string"
protected class Stringdef_type_StringKeyword_0 extends KeywordToken {
public Stringdef_type_StringKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getStringdef_typeAccess().getStringKeyword_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// "<"
protected class Stringdef_type_LessThanSignKeyword_1 extends KeywordToken {
public Stringdef_type_LessThanSignKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getStringdef_typeAccess().getLessThanSignKeyword_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Stringdef_type_StringKeyword_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// bound=const_exp
protected class Stringdef_type_BoundAssignment_2 extends AssignmentToken {
public Stringdef_type_BoundAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getStringdef_typeAccess().getBoundAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Const_exp_Or_exprParserRuleCall(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("bound",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("bound");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getConst_expRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getStringdef_typeAccess().getBoundConst_expParserRuleCall_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Stringdef_type_LessThanSignKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// ">"
protected class Stringdef_type_GreaterThanSignKeyword_3 extends KeywordToken {
public Stringdef_type_GreaterThanSignKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getStringdef_typeAccess().getGreaterThanSignKeyword_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Stringdef_type_BoundAssignment_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
/************ end Rule stringdef_type ****************/
/************ begin Rule wide_stringdef_type ****************
*
* wide_stringdef_type returns IDL::WstringDef:
* "wstring" "<" bound=const_exp ">";
*
**/
// "wstring" "<" bound=const_exp ">"
protected class Wide_stringdef_type_Group extends GroupToken {
public Wide_stringdef_type_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getWide_stringdef_typeAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Wide_stringdef_type_GreaterThanSignKeyword_3(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getWide_stringdef_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "wstring"
protected class Wide_stringdef_type_WstringKeyword_0 extends KeywordToken {
public Wide_stringdef_type_WstringKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getWide_stringdef_typeAccess().getWstringKeyword_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// "<"
protected class Wide_stringdef_type_LessThanSignKeyword_1 extends KeywordToken {
public Wide_stringdef_type_LessThanSignKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getWide_stringdef_typeAccess().getLessThanSignKeyword_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Wide_stringdef_type_WstringKeyword_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// bound=const_exp
protected class Wide_stringdef_type_BoundAssignment_2 extends AssignmentToken {
public Wide_stringdef_type_BoundAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getWide_stringdef_typeAccess().getBoundAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Const_exp_Or_exprParserRuleCall(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("bound",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("bound");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getConst_expRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getWide_stringdef_typeAccess().getBoundConst_expParserRuleCall_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Wide_stringdef_type_LessThanSignKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// ">"
protected class Wide_stringdef_type_GreaterThanSignKeyword_3 extends KeywordToken {
public Wide_stringdef_type_GreaterThanSignKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getWide_stringdef_typeAccess().getGreaterThanSignKeyword_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Wide_stringdef_type_BoundAssignment_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
/************ end Rule wide_stringdef_type ****************/
/************ begin Rule fixed_pt_type ****************
*
* fixed_pt_type returns IDL::FixedDef:
* "fixed" "<" digits=const_exp "," scale=const_exp ">";
*
**/
// "fixed" "<" digits=const_exp "," scale=const_exp ">"
protected class Fixed_pt_type_Group extends GroupToken {
public Fixed_pt_type_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getFixed_pt_typeAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Fixed_pt_type_GreaterThanSignKeyword_5(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getFixed_pt_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "fixed"
protected class Fixed_pt_type_FixedKeyword_0 extends KeywordToken {
public Fixed_pt_type_FixedKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFixed_pt_typeAccess().getFixedKeyword_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// "<"
protected class Fixed_pt_type_LessThanSignKeyword_1 extends KeywordToken {
public Fixed_pt_type_LessThanSignKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFixed_pt_typeAccess().getLessThanSignKeyword_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Fixed_pt_type_FixedKeyword_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// digits=const_exp
protected class Fixed_pt_type_DigitsAssignment_2 extends AssignmentToken {
public Fixed_pt_type_DigitsAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFixed_pt_typeAccess().getDigitsAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Const_exp_Or_exprParserRuleCall(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("digits",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("digits");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getConst_expRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getFixed_pt_typeAccess().getDigitsConst_expParserRuleCall_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Fixed_pt_type_LessThanSignKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// ","
protected class Fixed_pt_type_CommaKeyword_3 extends KeywordToken {
public Fixed_pt_type_CommaKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFixed_pt_typeAccess().getCommaKeyword_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Fixed_pt_type_DigitsAssignment_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// scale=const_exp
protected class Fixed_pt_type_ScaleAssignment_4 extends AssignmentToken {
public Fixed_pt_type_ScaleAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFixed_pt_typeAccess().getScaleAssignment_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Const_exp_Or_exprParserRuleCall(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("scale",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("scale");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getConst_expRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getFixed_pt_typeAccess().getScaleConst_expParserRuleCall_4_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Fixed_pt_type_CommaKeyword_3(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// ">"
protected class Fixed_pt_type_GreaterThanSignKeyword_5 extends KeywordToken {
public Fixed_pt_type_GreaterThanSignKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFixed_pt_typeAccess().getGreaterThanSignKeyword_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Fixed_pt_type_ScaleAssignment_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
/************ end Rule fixed_pt_type ****************/
/************ begin Rule floating_pt_type ****************
*
* //---------------------------
* // BASE TYPES
* //---------------------------
* floating_pt_type returns IDL::PrimitiveDef:
* kind=float_type | kind=double_type | kind=longdouble_type;
*
**/
// kind=float_type | kind=double_type | kind=longdouble_type
protected class Floating_pt_type_Alternatives extends AlternativesToken {
public Floating_pt_type_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getFloating_pt_typeAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Floating_pt_type_KindAssignment_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Floating_pt_type_KindAssignment_1(lastRuleCallOrigin, this, 1, inst);
case 2: return new Floating_pt_type_KindAssignment_2(lastRuleCallOrigin, this, 2, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getFloating_pt_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// kind=float_type
protected class Floating_pt_type_KindAssignment_0 extends AssignmentToken {
public Floating_pt_type_KindAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFloating_pt_typeAccess().getKindAssignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getFloating_pt_typeAccess().getKindFloat_typeEnumRuleCall_0_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getFloating_pt_typeAccess().getKindFloat_typeEnumRuleCall_0_0();
return obj;
}
return null;
}
}
// kind=double_type
protected class Floating_pt_type_KindAssignment_1 extends AssignmentToken {
public Floating_pt_type_KindAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFloating_pt_typeAccess().getKindAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getFloating_pt_typeAccess().getKindDouble_typeEnumRuleCall_1_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getFloating_pt_typeAccess().getKindDouble_typeEnumRuleCall_1_0();
return obj;
}
return null;
}
}
// kind=longdouble_type
protected class Floating_pt_type_KindAssignment_2 extends AssignmentToken {
public Floating_pt_type_KindAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getFloating_pt_typeAccess().getKindAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getFloating_pt_typeAccess().getKindLongdouble_typeParserRuleCall_2_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getFloating_pt_typeAccess().getKindLongdouble_typeParserRuleCall_2_0();
return obj;
}
return null;
}
}
/************ end Rule floating_pt_type ****************/
/************ begin Rule integer_type ****************
*
* integer_type returns IDL::PrimitiveDef:
* kind=short_type | kind=long_type | kind=longlong_type | kind=ushort_type | kind=ulong_type | kind=ulonglong_type;
*
**/
// kind=short_type | kind=long_type | kind=longlong_type | kind=ushort_type | kind=ulong_type | kind=ulonglong_type
protected class Integer_type_Alternatives extends AlternativesToken {
public Integer_type_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getInteger_typeAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Integer_type_KindAssignment_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Integer_type_KindAssignment_1(lastRuleCallOrigin, this, 1, inst);
case 2: return new Integer_type_KindAssignment_2(lastRuleCallOrigin, this, 2, inst);
case 3: return new Integer_type_KindAssignment_3(lastRuleCallOrigin, this, 3, inst);
case 4: return new Integer_type_KindAssignment_4(lastRuleCallOrigin, this, 4, inst);
case 5: return new Integer_type_KindAssignment_5(lastRuleCallOrigin, this, 5, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getInteger_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// kind=short_type
protected class Integer_type_KindAssignment_0 extends AssignmentToken {
public Integer_type_KindAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getInteger_typeAccess().getKindAssignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getInteger_typeAccess().getKindShort_typeEnumRuleCall_0_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getInteger_typeAccess().getKindShort_typeEnumRuleCall_0_0();
return obj;
}
return null;
}
}
// kind=long_type
protected class Integer_type_KindAssignment_1 extends AssignmentToken {
public Integer_type_KindAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getInteger_typeAccess().getKindAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getInteger_typeAccess().getKindLong_typeEnumRuleCall_1_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getInteger_typeAccess().getKindLong_typeEnumRuleCall_1_0();
return obj;
}
return null;
}
}
// kind=longlong_type
protected class Integer_type_KindAssignment_2 extends AssignmentToken {
public Integer_type_KindAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getInteger_typeAccess().getKindAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInteger_typeAccess().getKindLonglong_typeParserRuleCall_2_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getInteger_typeAccess().getKindLonglong_typeParserRuleCall_2_0();
return obj;
}
return null;
}
}
// kind=ushort_type
protected class Integer_type_KindAssignment_3 extends AssignmentToken {
public Integer_type_KindAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getInteger_typeAccess().getKindAssignment_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInteger_typeAccess().getKindUshort_typeParserRuleCall_3_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getInteger_typeAccess().getKindUshort_typeParserRuleCall_3_0();
return obj;
}
return null;
}
}
// kind=ulong_type
protected class Integer_type_KindAssignment_4 extends AssignmentToken {
public Integer_type_KindAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getInteger_typeAccess().getKindAssignment_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInteger_typeAccess().getKindUlong_typeParserRuleCall_4_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getInteger_typeAccess().getKindUlong_typeParserRuleCall_4_0();
return obj;
}
return null;
}
}
// kind=ulonglong_type
protected class Integer_type_KindAssignment_5 extends AssignmentToken {
public Integer_type_KindAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getInteger_typeAccess().getKindAssignment_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInteger_typeAccess().getKindUlonglong_typeParserRuleCall_5_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getInteger_typeAccess().getKindUlonglong_typeParserRuleCall_5_0();
return obj;
}
return null;
}
}
/************ end Rule integer_type ****************/
/************ begin Rule charstr_type ****************
*
* charstr_type returns IDL::PrimitiveDef:
* kind=char_type | kind=wide_char_type | kind=string_type | kind=wide_string_type;
*
**/
// kind=char_type | kind=wide_char_type | kind=string_type | kind=wide_string_type
protected class Charstr_type_Alternatives extends AlternativesToken {
public Charstr_type_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getCharstr_typeAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Charstr_type_KindAssignment_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Charstr_type_KindAssignment_1(lastRuleCallOrigin, this, 1, inst);
case 2: return new Charstr_type_KindAssignment_2(lastRuleCallOrigin, this, 2, inst);
case 3: return new Charstr_type_KindAssignment_3(lastRuleCallOrigin, this, 3, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getCharstr_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// kind=char_type
protected class Charstr_type_KindAssignment_0 extends AssignmentToken {
public Charstr_type_KindAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCharstr_typeAccess().getKindAssignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getCharstr_typeAccess().getKindChar_typeEnumRuleCall_0_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getCharstr_typeAccess().getKindChar_typeEnumRuleCall_0_0();
return obj;
}
return null;
}
}
// kind=wide_char_type
protected class Charstr_type_KindAssignment_1 extends AssignmentToken {
public Charstr_type_KindAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCharstr_typeAccess().getKindAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getCharstr_typeAccess().getKindWide_char_typeEnumRuleCall_1_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getCharstr_typeAccess().getKindWide_char_typeEnumRuleCall_1_0();
return obj;
}
return null;
}
}
// kind=string_type
protected class Charstr_type_KindAssignment_2 extends AssignmentToken {
public Charstr_type_KindAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCharstr_typeAccess().getKindAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getCharstr_typeAccess().getKindString_typeEnumRuleCall_2_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getCharstr_typeAccess().getKindString_typeEnumRuleCall_2_0();
return obj;
}
return null;
}
}
// kind=wide_string_type
protected class Charstr_type_KindAssignment_3 extends AssignmentToken {
public Charstr_type_KindAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCharstr_typeAccess().getKindAssignment_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getCharstr_typeAccess().getKindWide_string_typeEnumRuleCall_3_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getCharstr_typeAccess().getKindWide_string_typeEnumRuleCall_3_0();
return obj;
}
return null;
}
}
/************ end Rule charstr_type ****************/
/************ begin Rule other_type ****************
*
* other_type returns IDL::PrimitiveDef:
* kind=boolean_type | kind=octet_type | kind=any_type;
*
**/
// kind=boolean_type | kind=octet_type | kind=any_type
protected class Other_type_Alternatives extends AlternativesToken {
public Other_type_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getOther_typeAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Other_type_KindAssignment_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Other_type_KindAssignment_1(lastRuleCallOrigin, this, 1, inst);
case 2: return new Other_type_KindAssignment_2(lastRuleCallOrigin, this, 2, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getOther_typeRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// kind=boolean_type
protected class Other_type_KindAssignment_0 extends AssignmentToken {
public Other_type_KindAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getOther_typeAccess().getKindAssignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getOther_typeAccess().getKindBoolean_typeEnumRuleCall_0_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getOther_typeAccess().getKindBoolean_typeEnumRuleCall_0_0();
return obj;
}
return null;
}
}
// kind=octet_type
protected class Other_type_KindAssignment_1 extends AssignmentToken {
public Other_type_KindAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getOther_typeAccess().getKindAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getOther_typeAccess().getKindOctet_typeEnumRuleCall_1_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getOther_typeAccess().getKindOctet_typeEnumRuleCall_1_0();
return obj;
}
return null;
}
}
// kind=any_type
protected class Other_type_KindAssignment_2 extends AssignmentToken {
public Other_type_KindAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getOther_typeAccess().getKindAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("kind",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("kind");
if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getOther_typeAccess().getKindAny_typeEnumRuleCall_2_0(), value, null)) {
type = AssignmentType.ENUM_RULE_CALL;
element = grammarAccess.getOther_typeAccess().getKindAny_typeEnumRuleCall_2_0();
return obj;
}
return null;
}
}
/************ end Rule other_type ****************/
/************ begin Rule fixed_pt_const_type ****************
*
* fixed_pt_const_type returns IDL::FixedDef:
* {IDL::FixedDef} "fixed";
*
**/
// {IDL::FixedDef} "fixed"
protected class Fixed_pt_const_type_Group extends GroupToken {
public Fixed_pt_const_type_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getFixed_pt_const_typeAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Fixed_pt_const_type_FixedKeyword_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getFixed_pt_const_typeAccess().getFixedDefAction_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {IDL::FixedDef}
protected class Fixed_pt_const_type_FixedDefAction_0 extends ActionToken {
public Fixed_pt_const_type_FixedDefAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getFixed_pt_const_typeAccess().getFixedDefAction_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if(!eObjectConsumer.isConsumed()) return null;
return eObjectConsumer;
}
}
// "fixed"
protected class Fixed_pt_const_type_FixedKeyword_1 extends KeywordToken {
public Fixed_pt_const_type_FixedKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getFixed_pt_const_typeAccess().getFixedKeyword_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Fixed_pt_const_type_FixedDefAction_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
/************ end Rule fixed_pt_const_type ****************/
/************ begin Rule const_exp ****************
*
* //---------------------------
* // CONST EXP
* //---------------------------
* const_exp returns IDL::Expression:
* or_expr;
*
**/
// or_expr
protected class Const_exp_Or_exprParserRuleCall extends RuleCallToken {
public Const_exp_Or_exprParserRuleCall(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getConst_expAccess().getOr_exprParserRuleCall();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Or_expr_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getMult_exprAccess().getBinaryExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getConstantDefRefRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getUnary_exprAccess().getUnaryExpressionAction_0_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getValueExpressionRule().getType().getClassifier())
return null;
if(checkForRecursion(Or_expr_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
/************ end Rule const_exp ****************/
/************ begin Rule or_expr ****************
*
* or_expr returns IDL::Expression:
* xor_expr ({IDL::BinaryExpression.left=current} operator="|" right=xor_expr)*;
*
**/
// xor_expr ({IDL::BinaryExpression.left=current} operator="|" right=xor_expr)*
protected class Or_expr_Group extends GroupToken {
public Or_expr_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getOr_exprAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Or_expr_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Or_expr_Xor_exprParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getMult_exprAccess().getBinaryExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getConstantDefRefRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getUnary_exprAccess().getUnaryExpressionAction_0_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getValueExpressionRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// xor_expr
protected class Or_expr_Xor_exprParserRuleCall_0 extends RuleCallToken {
public Or_expr_Xor_exprParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getOr_exprAccess().getXor_exprParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Xor_expr_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Xor_expr_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// ({IDL::BinaryExpression.left=current} operator="|" right=xor_expr)*
protected class Or_expr_Group_1 extends GroupToken {
public Or_expr_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getOr_exprAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Or_expr_RightAssignment_1_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getOr_exprAccess().getBinaryExpressionLeftAction_1_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {IDL::BinaryExpression.left=current}
protected class Or_expr_BinaryExpressionLeftAction_1_0 extends ActionToken {
public Or_expr_BinaryExpressionLeftAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getOr_exprAccess().getBinaryExpressionLeftAction_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Or_expr_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Or_expr_Xor_exprParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
Object val = eObjectConsumer.getConsumable("left", false);
if(val == null) return null;
if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null;
return createEObjectConsumer((EObject) val);
}
}
// operator="|"
protected class Or_expr_OperatorAssignment_1_1 extends AssignmentToken {
public Or_expr_OperatorAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getOr_exprAccess().getOperatorAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Or_expr_BinaryExpressionLeftAction_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("operator",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operator");
if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getOr_exprAccess().getOperatorVerticalLineKeyword_1_1_0(), value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getOr_exprAccess().getOperatorVerticalLineKeyword_1_1_0();
return obj;
}
return null;
}
}
// right=xor_expr
protected class Or_expr_RightAssignment_1_2 extends AssignmentToken {
public Or_expr_RightAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getOr_exprAccess().getRightAssignment_1_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Xor_expr_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("right",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getXor_exprRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getOr_exprAccess().getRightXor_exprParserRuleCall_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Or_expr_OperatorAssignment_1_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule or_expr ****************/
/************ begin Rule xor_expr ****************
*
* xor_expr returns IDL::Expression:
* and_expr ({IDL::BinaryExpression.left=current} operator="^" right=and_expr)*;
*
**/
// and_expr ({IDL::BinaryExpression.left=current} operator="^" right=and_expr)*
protected class Xor_expr_Group extends GroupToken {
public Xor_expr_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getXor_exprAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Xor_expr_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Xor_expr_And_exprParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getOr_exprAccess().getBinaryExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getConstantDefRefRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getUnary_exprAccess().getUnaryExpressionAction_0_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getValueExpressionRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// and_expr
protected class Xor_expr_And_exprParserRuleCall_0 extends RuleCallToken {
public Xor_expr_And_exprParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getXor_exprAccess().getAnd_exprParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new And_expr_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(And_expr_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// ({IDL::BinaryExpression.left=current} operator="^" right=and_expr)*
protected class Xor_expr_Group_1 extends GroupToken {
public Xor_expr_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getXor_exprAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Xor_expr_RightAssignment_1_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getXor_exprAccess().getBinaryExpressionLeftAction_1_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {IDL::BinaryExpression.left=current}
protected class Xor_expr_BinaryExpressionLeftAction_1_0 extends ActionToken {
public Xor_expr_BinaryExpressionLeftAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getXor_exprAccess().getBinaryExpressionLeftAction_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Xor_expr_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Xor_expr_And_exprParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
Object val = eObjectConsumer.getConsumable("left", false);
if(val == null) return null;
if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null;
return createEObjectConsumer((EObject) val);
}
}
// operator="^"
protected class Xor_expr_OperatorAssignment_1_1 extends AssignmentToken {
public Xor_expr_OperatorAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getXor_exprAccess().getOperatorAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Xor_expr_BinaryExpressionLeftAction_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("operator",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operator");
if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getXor_exprAccess().getOperatorCircumflexAccentKeyword_1_1_0(), value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getXor_exprAccess().getOperatorCircumflexAccentKeyword_1_1_0();
return obj;
}
return null;
}
}
// right=and_expr
protected class Xor_expr_RightAssignment_1_2 extends AssignmentToken {
public Xor_expr_RightAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getXor_exprAccess().getRightAssignment_1_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new And_expr_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("right",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getAnd_exprRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getXor_exprAccess().getRightAnd_exprParserRuleCall_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Xor_expr_OperatorAssignment_1_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule xor_expr ****************/
/************ begin Rule and_expr ****************
*
* and_expr returns IDL::Expression:
* shift_expr ({IDL::BinaryExpression.left=current} operator="&" right=shift_expr)*;
*
**/
// shift_expr ({IDL::BinaryExpression.left=current} operator="&" right=shift_expr)*
protected class And_expr_Group extends GroupToken {
public And_expr_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getAnd_exprAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new And_expr_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new And_expr_Shift_exprParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getXor_exprAccess().getBinaryExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getConstantDefRefRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getUnary_exprAccess().getUnaryExpressionAction_0_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getValueExpressionRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// shift_expr
protected class And_expr_Shift_exprParserRuleCall_0 extends RuleCallToken {
public And_expr_Shift_exprParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAnd_exprAccess().getShift_exprParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Shift_expr_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Shift_expr_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// ({IDL::BinaryExpression.left=current} operator="&" right=shift_expr)*
protected class And_expr_Group_1 extends GroupToken {
public And_expr_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getAnd_exprAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new And_expr_RightAssignment_1_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAnd_exprAccess().getBinaryExpressionLeftAction_1_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {IDL::BinaryExpression.left=current}
protected class And_expr_BinaryExpressionLeftAction_1_0 extends ActionToken {
public And_expr_BinaryExpressionLeftAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getAnd_exprAccess().getBinaryExpressionLeftAction_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new And_expr_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new And_expr_Shift_exprParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
Object val = eObjectConsumer.getConsumable("left", false);
if(val == null) return null;
if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null;
return createEObjectConsumer((EObject) val);
}
}
// operator="&"
protected class And_expr_OperatorAssignment_1_1 extends AssignmentToken {
public And_expr_OperatorAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAnd_exprAccess().getOperatorAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new And_expr_BinaryExpressionLeftAction_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("operator",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operator");
if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getAnd_exprAccess().getOperatorAmpersandKeyword_1_1_0(), value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getAnd_exprAccess().getOperatorAmpersandKeyword_1_1_0();
return obj;
}
return null;
}
}
// right=shift_expr
protected class And_expr_RightAssignment_1_2 extends AssignmentToken {
public And_expr_RightAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAnd_exprAccess().getRightAssignment_1_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Shift_expr_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("right",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getShift_exprRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getAnd_exprAccess().getRightShift_exprParserRuleCall_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new And_expr_OperatorAssignment_1_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule and_expr ****************/
/************ begin Rule shift_expr ****************
*
* shift_expr returns IDL::Expression:
* add_expr ({IDL::BinaryExpression.left=current} operator=(">>" | "<<") right=add_expr)*;
*
**/
// add_expr ({IDL::BinaryExpression.left=current} operator=(">>" | "<<") right=add_expr)*
protected class Shift_expr_Group extends GroupToken {
public Shift_expr_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getShift_exprAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Shift_expr_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Shift_expr_Add_exprParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAnd_exprAccess().getBinaryExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getConstantDefRefRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getUnary_exprAccess().getUnaryExpressionAction_0_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getValueExpressionRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// add_expr
protected class Shift_expr_Add_exprParserRuleCall_0 extends RuleCallToken {
public Shift_expr_Add_exprParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getShift_exprAccess().getAdd_exprParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Add_expr_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Add_expr_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// ({IDL::BinaryExpression.left=current} operator=(">>" | "<<") right=add_expr)*
protected class Shift_expr_Group_1 extends GroupToken {
public Shift_expr_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getShift_exprAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Shift_expr_RightAssignment_1_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getShift_exprAccess().getBinaryExpressionLeftAction_1_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {IDL::BinaryExpression.left=current}
protected class Shift_expr_BinaryExpressionLeftAction_1_0 extends ActionToken {
public Shift_expr_BinaryExpressionLeftAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getShift_exprAccess().getBinaryExpressionLeftAction_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Shift_expr_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Shift_expr_Add_exprParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
Object val = eObjectConsumer.getConsumable("left", false);
if(val == null) return null;
if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null;
return createEObjectConsumer((EObject) val);
}
}
// operator=(">>" | "<<")
protected class Shift_expr_OperatorAssignment_1_1 extends AssignmentToken {
public Shift_expr_OperatorAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getShift_exprAccess().getOperatorAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Shift_expr_BinaryExpressionLeftAction_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("operator",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operator");
if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getShift_exprAccess().getOperatorGreaterThanSignGreaterThanSignKeyword_1_1_0_0(), value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getShift_exprAccess().getOperatorGreaterThanSignGreaterThanSignKeyword_1_1_0_0();
return obj;
}
if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getShift_exprAccess().getOperatorLessThanSignLessThanSignKeyword_1_1_0_1(), value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getShift_exprAccess().getOperatorLessThanSignLessThanSignKeyword_1_1_0_1();
return obj;
}
return null;
}
}
// right=add_expr
protected class Shift_expr_RightAssignment_1_2 extends AssignmentToken {
public Shift_expr_RightAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getShift_exprAccess().getRightAssignment_1_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Add_expr_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("right",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getAdd_exprRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getShift_exprAccess().getRightAdd_exprParserRuleCall_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Shift_expr_OperatorAssignment_1_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule shift_expr ****************/
/************ begin Rule add_expr ****************
*
* add_expr returns IDL::Expression:
* mult_expr ({IDL::BinaryExpression.left=current} operator=("+" | "-") right=mult_expr)*;
*
**/
// mult_expr ({IDL::BinaryExpression.left=current} operator=("+" | "-") right=mult_expr)*
protected class Add_expr_Group extends GroupToken {
public Add_expr_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getAdd_exprAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Add_expr_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Add_expr_Mult_exprParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getShift_exprAccess().getBinaryExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getConstantDefRefRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getUnary_exprAccess().getUnaryExpressionAction_0_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getValueExpressionRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// mult_expr
protected class Add_expr_Mult_exprParserRuleCall_0 extends RuleCallToken {
public Add_expr_Mult_exprParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getAdd_exprAccess().getMult_exprParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Mult_expr_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Mult_expr_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// ({IDL::BinaryExpression.left=current} operator=("+" | "-") right=mult_expr)*
protected class Add_expr_Group_1 extends GroupToken {
public Add_expr_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getAdd_exprAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Add_expr_RightAssignment_1_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAdd_exprAccess().getBinaryExpressionLeftAction_1_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {IDL::BinaryExpression.left=current}
protected class Add_expr_BinaryExpressionLeftAction_1_0 extends ActionToken {
public Add_expr_BinaryExpressionLeftAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getAdd_exprAccess().getBinaryExpressionLeftAction_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Add_expr_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Add_expr_Mult_exprParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
Object val = eObjectConsumer.getConsumable("left", false);
if(val == null) return null;
if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null;
return createEObjectConsumer((EObject) val);
}
}
// operator=("+" | "-")
protected class Add_expr_OperatorAssignment_1_1 extends AssignmentToken {
public Add_expr_OperatorAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAdd_exprAccess().getOperatorAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Add_expr_BinaryExpressionLeftAction_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("operator",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operator");
if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getAdd_exprAccess().getOperatorPlusSignKeyword_1_1_0_0(), value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getAdd_exprAccess().getOperatorPlusSignKeyword_1_1_0_0();
return obj;
}
if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getAdd_exprAccess().getOperatorHyphenMinusKeyword_1_1_0_1(), value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getAdd_exprAccess().getOperatorHyphenMinusKeyword_1_1_0_1();
return obj;
}
return null;
}
}
// right=mult_expr
protected class Add_expr_RightAssignment_1_2 extends AssignmentToken {
public Add_expr_RightAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getAdd_exprAccess().getRightAssignment_1_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Mult_expr_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("right",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getMult_exprRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getAdd_exprAccess().getRightMult_exprParserRuleCall_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Add_expr_OperatorAssignment_1_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule add_expr ****************/
/************ begin Rule mult_expr ****************
*
* mult_expr returns IDL::Expression:
* unary_expr ({IDL::BinaryExpression.left=current} operator=("*" | "/" | "%") right=unary_expr)*;
*
**/
// unary_expr ({IDL::BinaryExpression.left=current} operator=("*" | "/" | "%") right=unary_expr)*
protected class Mult_expr_Group extends GroupToken {
public Mult_expr_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getMult_exprAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Mult_expr_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Mult_expr_Unary_exprParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getAdd_exprAccess().getBinaryExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getConstantDefRefRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getUnary_exprAccess().getUnaryExpressionAction_0_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getValueExpressionRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// unary_expr
protected class Mult_expr_Unary_exprParserRuleCall_0 extends RuleCallToken {
public Mult_expr_Unary_exprParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getMult_exprAccess().getUnary_exprParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Unary_expr_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Unary_expr_Alternatives.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// ({IDL::BinaryExpression.left=current} operator=("*" | "/" | "%") right=unary_expr)*
protected class Mult_expr_Group_1 extends GroupToken {
public Mult_expr_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getMult_exprAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Mult_expr_RightAssignment_1_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getMult_exprAccess().getBinaryExpressionLeftAction_1_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {IDL::BinaryExpression.left=current}
protected class Mult_expr_BinaryExpressionLeftAction_1_0 extends ActionToken {
public Mult_expr_BinaryExpressionLeftAction_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getMult_exprAccess().getBinaryExpressionLeftAction_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Mult_expr_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Mult_expr_Unary_exprParserRuleCall_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
Object val = eObjectConsumer.getConsumable("left", false);
if(val == null) return null;
if(!eObjectConsumer.isConsumedWithLastConsumtion("left")) return null;
return createEObjectConsumer((EObject) val);
}
}
// operator=("*" | "/" | "%")
protected class Mult_expr_OperatorAssignment_1_1 extends AssignmentToken {
public Mult_expr_OperatorAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getMult_exprAccess().getOperatorAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Mult_expr_BinaryExpressionLeftAction_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("operator",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operator");
if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getMult_exprAccess().getOperatorAsteriskKeyword_1_1_0_0(), value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getMult_exprAccess().getOperatorAsteriskKeyword_1_1_0_0();
return obj;
}
if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getMult_exprAccess().getOperatorSolidusKeyword_1_1_0_1(), value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getMult_exprAccess().getOperatorSolidusKeyword_1_1_0_1();
return obj;
}
if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getMult_exprAccess().getOperatorPercentSignKeyword_1_1_0_2(), value, null)) {
type = AssignmentType.KEYWORD;
element = grammarAccess.getMult_exprAccess().getOperatorPercentSignKeyword_1_1_0_2();
return obj;
}
return null;
}
}
// right=unary_expr
protected class Mult_expr_RightAssignment_1_2 extends AssignmentToken {
public Mult_expr_RightAssignment_1_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getMult_exprAccess().getRightAssignment_1_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Unary_expr_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("right",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("right");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getUnary_exprRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getMult_exprAccess().getRightUnary_exprParserRuleCall_1_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Mult_expr_OperatorAssignment_1_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule mult_expr ****************/
/************ begin Rule unary_expr ****************
*
* unary_expr returns IDL::Expression:
* {IDL::UnaryExpression} operator=unary_operator expression=primary_expr | primary_expr;
*
**/
// {IDL::UnaryExpression} operator=unary_operator expression=primary_expr | primary_expr
protected class Unary_expr_Alternatives extends AlternativesToken {
public Unary_expr_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getUnary_exprAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Unary_expr_Group_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Unary_expr_Primary_exprParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getMult_exprAccess().getBinaryExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getConstantDefRefRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getUnary_exprAccess().getUnaryExpressionAction_0_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getValueExpressionRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {IDL::UnaryExpression} operator=unary_operator expression=primary_expr
protected class Unary_expr_Group_0 extends GroupToken {
public Unary_expr_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getUnary_exprAccess().getGroup_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Unary_expr_ExpressionAssignment_0_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getUnary_exprAccess().getUnaryExpressionAction_0_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {IDL::UnaryExpression}
protected class Unary_expr_UnaryExpressionAction_0_0 extends ActionToken {
public Unary_expr_UnaryExpressionAction_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getUnary_exprAccess().getUnaryExpressionAction_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if(!eObjectConsumer.isConsumed()) return null;
return eObjectConsumer;
}
}
// operator=unary_operator
protected class Unary_expr_OperatorAssignment_0_1 extends AssignmentToken {
public Unary_expr_OperatorAssignment_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getUnary_exprAccess().getOperatorAssignment_0_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Unary_expr_UnaryExpressionAction_0_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("operator",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operator");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getUnary_exprAccess().getOperatorUnary_operatorParserRuleCall_0_1_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getUnary_exprAccess().getOperatorUnary_operatorParserRuleCall_0_1_0();
return obj;
}
return null;
}
}
// expression=primary_expr
protected class Unary_expr_ExpressionAssignment_0_2 extends AssignmentToken {
public Unary_expr_ExpressionAssignment_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getUnary_exprAccess().getExpressionAssignment_0_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Primary_expr_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("expression",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expression");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getPrimary_exprRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getUnary_exprAccess().getExpressionPrimary_exprParserRuleCall_0_2_0();
consumed = obj;
return param;
}
}
return null;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
if(value == inst.getEObject() && !inst.isConsumed()) return null;
switch(index) {
case 0: return new Unary_expr_OperatorAssignment_0_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// primary_expr
protected class Unary_expr_Primary_exprParserRuleCall_1 extends RuleCallToken {
public Unary_expr_Primary_exprParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getUnary_exprAccess().getPrimary_exprParserRuleCall_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Primary_expr_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Primary_expr_Alternatives.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
/************ end Rule unary_expr ****************/
/************ begin Rule primary_expr ****************
*
* primary_expr returns IDL::Expression: //ID
* constantDefRef | //literal
* valueExpression | "(" const_exp ")";
*
**/
// //ID
// constantDefRef | //literal
// valueExpression | "(" const_exp ")"
protected class Primary_expr_Alternatives extends AlternativesToken {
public Primary_expr_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getPrimary_exprAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Primary_expr_ConstantDefRefParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Primary_expr_ValueExpressionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
case 2: return new Primary_expr_Group_2(lastRuleCallOrigin, this, 2, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getMult_exprAccess().getBinaryExpressionLeftAction_1_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getConstantDefRefRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getUnary_exprAccess().getUnaryExpressionAction_0_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getValueExpressionRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// //ID
// constantDefRef
protected class Primary_expr_ConstantDefRefParserRuleCall_0 extends RuleCallToken {
public Primary_expr_ConstantDefRefParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getPrimary_exprAccess().getConstantDefRefParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ConstantDefRef_ConstantAssignment(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getConstantDefRefRule().getType().getClassifier())
return null;
if(checkForRecursion(ConstantDefRef_ConstantAssignment.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// //literal
// valueExpression
protected class Primary_expr_ValueExpressionParserRuleCall_1 extends RuleCallToken {
public Primary_expr_ValueExpressionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getPrimary_exprAccess().getValueExpressionParserRuleCall_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new ValueExpression_ValueAssignment(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getValueExpressionRule().getType().getClassifier())
return null;
if(checkForRecursion(ValueExpression_ValueAssignment.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
}
}
}
// "(" const_exp ")"
protected class Primary_expr_Group_2 extends GroupToken {
public Primary_expr_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getPrimary_exprAccess().getGroup_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Primary_expr_RightParenthesisKeyword_2_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "("
protected class Primary_expr_LeftParenthesisKeyword_2_0 extends KeywordToken {
public Primary_expr_LeftParenthesisKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getPrimary_exprAccess().getLeftParenthesisKeyword_2_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// const_exp
protected class Primary_expr_Const_expParserRuleCall_2_1 extends RuleCallToken {
public Primary_expr_Const_expParserRuleCall_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getPrimary_exprAccess().getConst_expParserRuleCall_2_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Const_exp_Or_exprParserRuleCall(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Const_exp_Or_exprParserRuleCall.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Primary_expr_LeftParenthesisKeyword_2_0(lastRuleCallOrigin, next, actIndex, inst);
default: return null;
}
}
}
// ")"
protected class Primary_expr_RightParenthesisKeyword_2_2 extends KeywordToken {
public Primary_expr_RightParenthesisKeyword_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getPrimary_exprAccess().getRightParenthesisKeyword_2_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Primary_expr_Const_expParserRuleCall_2_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
/************ end Rule primary_expr ****************/
/************ begin Rule constantDefRef ****************
*
* constantDefRef returns IDL::ConstantDefRef:
* constant=[IDL::Constant];
*
**/
// constant=[IDL::Constant]
protected class ConstantDefRef_ConstantAssignment extends AssignmentToken {
public ConstantDefRef_ConstantAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getConstantDefRefAccess().getConstantAssignment();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getConstantDefRefRule().getType().getClassifier())
return null;
if((value = eObjectConsumer.getConsumable("constant",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("constant");
if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getConstantDefRefAccess().getConstantConstantCrossReference_0().getType().getClassifier())) {
type = AssignmentType.CROSS_REFERENCE;
element = grammarAccess.getConstantDefRefAccess().getConstantConstantCrossReference_0();
return obj;
}
}
return null;
}
}
/************ end Rule constantDefRef ****************/
/************ begin Rule valueExpression ****************
*
* valueExpression returns IDL::ValueExpression:
* value=literal;
*
**/
// value=literal
protected class ValueExpression_ValueAssignment extends AssignmentToken {
public ValueExpression_ValueAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getValueExpressionAccess().getValueAssignment();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getValueExpressionRule().getType().getClassifier())
return null;
if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getValueExpressionAccess().getValueLiteralParserRuleCall_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getValueExpressionAccess().getValueLiteralParserRuleCall_0();
return obj;
}
return null;
}
}
/************ end Rule valueExpression ****************/
}