/*
* generated by Xtext
*/
package at.bestsolution.efxclipse.tooling.svgpath.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 at.bestsolution.efxclipse.tooling.svgpath.services.SvgPathGrammarAccess;
import com.google.inject.Inject;
@SuppressWarnings("all")
public class SvgPathParsetreeConstructor extends AbstractParseTreeConstructor {
@Inject
private SvgPathGrammarAccess 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 Svg_path_Moveto_drawto_command_groupsAssignment(this, this, 0, inst);
case 1: return new Moveto_drawto_command_groups_CommandsAssignment(this, this, 1, inst);
case 2: return new Moveto_drawto_command_group_Group(this, this, 2, inst);
case 3: return new Moveto_Group(this, this, 3, inst);
case 4: return new Lineto_argument_sequence_Group(this, this, 4, inst);
case 5: return new Drawto_commands_Drawto_commandsAssignment(this, this, 5, inst);
case 6: return new Drawto_command_Alternatives(this, this, 6, inst);
case 7: return new Closepath_Group(this, this, 7, inst);
case 8: return new Lineto_Group(this, this, 8, inst);
case 9: return new Horizontal_lineto_Group(this, this, 9, inst);
case 10: return new Horizontal_lineto_argument_sequence_Group(this, this, 10, inst);
case 11: return new Vertical_lineto_Group(this, this, 11, inst);
case 12: return new Vertical_lineto_argument_sequence_Group(this, this, 12, inst);
case 13: return new Curveto_Group(this, this, 13, inst);
case 14: return new Curveto_argument_sequence_Group(this, this, 14, inst);
case 15: return new Curveto_argument_Group(this, this, 15, inst);
case 16: return new Smooth_curveto_Group(this, this, 16, inst);
case 17: return new Smooth_curveto_argument_sequence_Group(this, this, 17, inst);
case 18: return new Smooth_curveto_argument_Group(this, this, 18, inst);
case 19: return new Quadratic_bezier_curveto_Group(this, this, 19, inst);
case 20: return new Quadratic_bezier_curveto_argument_sequence_Group(this, this, 20, inst);
case 21: return new Quadratic_bezier_curveto_argument_Group(this, this, 21, inst);
case 22: return new Smooth_quadratic_bezier_curveto_Group(this, this, 22, inst);
case 23: return new Smooth_quadratic_bezier_curveto_argument_sequence_Group(this, this, 23, inst);
case 24: return new Elliptical_arc_Group(this, this, 24, inst);
case 25: return new Elliptical_arc_argument_sequence_Group(this, this, 25, inst);
case 26: return new Elliptical_arc_argument_Group(this, this, 26, inst);
case 27: return new Coordinate_pair_Group(this, this, 27, inst);
case 28: return new Coordinate_NumberParserRuleCall(this, this, 28, inst);
case 29: return new Number_Group(this, this, 29, inst);
case 30: return new Nonnegative_number_Group(this, this, 30, inst);
case 31: return new Exponent_Group(this, this, 31, inst);
case 32: return new Digit_sequence_DigitsAssignment(this, this, 32, inst);
default: return null;
}
}
}
/************ begin Rule svg_path ****************
*
* svg_path:
* moveto_drawto_command_groups=moveto_drawto_command_groups?;
*
**/
// moveto_drawto_command_groups=moveto_drawto_command_groups?
protected class Svg_path_Moveto_drawto_command_groupsAssignment extends AssignmentToken {
public Svg_path_Moveto_drawto_command_groupsAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSvg_pathAccess().getMoveto_drawto_command_groupsAssignment();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Moveto_drawto_command_groups_CommandsAssignment(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getSvg_pathRule().getType().getClassifier())
return null;
if((value = eObjectConsumer.getConsumable("moveto_drawto_command_groups",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("moveto_drawto_command_groups");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getMoveto_drawto_command_groupsRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSvg_pathAccess().getMoveto_drawto_command_groupsMoveto_drawto_command_groupsParserRuleCall_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);
}
}
}
/************ end Rule svg_path ****************/
/************ begin Rule moveto_drawto_command_groups ****************
*
* moveto_drawto_command_groups:
* commands+=moveto_drawto_command_group;
*
**/
// commands+=moveto_drawto_command_group
protected class Moveto_drawto_command_groups_CommandsAssignment extends AssignmentToken {
public Moveto_drawto_command_groups_CommandsAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getMoveto_drawto_command_groupsAccess().getCommandsAssignment();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Moveto_drawto_command_group_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getMoveto_drawto_command_groupsRule().getType().getClassifier())
return null;
if((value = eObjectConsumer.getConsumable("commands",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("commands");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getMoveto_drawto_command_groupRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getMoveto_drawto_command_groupsAccess().getCommandsMoveto_drawto_command_groupParserRuleCall_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);
}
}
}
/************ end Rule moveto_drawto_command_groups ****************/
/************ begin Rule moveto_drawto_command_group ****************
*
* moveto_drawto_command_group:
* moveto=moveto drawto_commands=drawto_commands?;
*
**/
// moveto=moveto drawto_commands=drawto_commands?
protected class Moveto_drawto_command_group_Group extends GroupToken {
public Moveto_drawto_command_group_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getMoveto_drawto_command_groupAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Moveto_drawto_command_group_Drawto_commandsAssignment_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Moveto_drawto_command_group_MovetoAssignment_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getMoveto_drawto_command_groupRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// moveto=moveto
protected class Moveto_drawto_command_group_MovetoAssignment_0 extends AssignmentToken {
public Moveto_drawto_command_group_MovetoAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getMoveto_drawto_command_groupAccess().getMovetoAssignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Moveto_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("moveto",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("moveto");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getMovetoRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getMoveto_drawto_command_groupAccess().getMovetoMovetoParserRuleCall_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);
}
}
}
// drawto_commands=drawto_commands?
protected class Moveto_drawto_command_group_Drawto_commandsAssignment_1 extends AssignmentToken {
public Moveto_drawto_command_group_Drawto_commandsAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getMoveto_drawto_command_groupAccess().getDrawto_commandsAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Drawto_commands_Drawto_commandsAssignment(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("drawto_commands",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("drawto_commands");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getDrawto_commandsRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getMoveto_drawto_command_groupAccess().getDrawto_commandsDrawto_commandsParserRuleCall_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 Moveto_drawto_command_group_MovetoAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule moveto_drawto_command_group ****************/
/************ begin Rule moveto ****************
*
* moveto:
* ("M" | "m") point=coordinate_pair comma? lineto_argument_sequence=lineto_argument_sequence;
*
**/
// ("M" | "m") point=coordinate_pair comma? lineto_argument_sequence=lineto_argument_sequence
protected class Moveto_Group extends GroupToken {
public Moveto_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getMovetoAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Moveto_Lineto_argument_sequenceAssignment_3(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getMovetoRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "M" | "m"
protected class Moveto_Alternatives_0 extends AlternativesToken {
public Moveto_Alternatives_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getMovetoAccess().getAlternatives_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Moveto_MKeyword_0_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "M"
protected class Moveto_MKeyword_0_0 extends KeywordToken {
public Moveto_MKeyword_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getMovetoAccess().getMKeyword_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// point=coordinate_pair
protected class Moveto_PointAssignment_1 extends AssignmentToken {
public Moveto_PointAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getMovetoAccess().getPointAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_pair_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("point",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("point");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinate_pairRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getMovetoAccess().getPointCoordinate_pairParserRuleCall_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 Moveto_Alternatives_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// lineto_argument_sequence=lineto_argument_sequence
protected class Moveto_Lineto_argument_sequenceAssignment_3 extends AssignmentToken {
public Moveto_Lineto_argument_sequenceAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getMovetoAccess().getLineto_argument_sequenceAssignment_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Lineto_argument_sequence_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("lineto_argument_sequence",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("lineto_argument_sequence");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getLineto_argument_sequenceRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getMovetoAccess().getLineto_argument_sequenceLineto_argument_sequenceParserRuleCall_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 Moveto_PointAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule moveto ****************/
/************ begin Rule lineto_argument_sequence ****************
*
* lineto_argument_sequence:
* pairs+=coordinate_pair (comma? pairs+=coordinate_pair)*;
*
**/
// pairs+=coordinate_pair (comma? pairs+=coordinate_pair)*
protected class Lineto_argument_sequence_Group extends GroupToken {
public Lineto_argument_sequence_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getLineto_argument_sequenceAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Lineto_argument_sequence_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Lineto_argument_sequence_PairsAssignment_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getLineto_argument_sequenceRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// pairs+=coordinate_pair
protected class Lineto_argument_sequence_PairsAssignment_0 extends AssignmentToken {
public Lineto_argument_sequence_PairsAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getLineto_argument_sequenceAccess().getPairsAssignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_pair_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("pairs",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("pairs");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinate_pairRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getLineto_argument_sequenceAccess().getPairsCoordinate_pairParserRuleCall_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);
}
}
}
// (comma? pairs+=coordinate_pair)*
protected class Lineto_argument_sequence_Group_1 extends GroupToken {
public Lineto_argument_sequence_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getLineto_argument_sequenceAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Lineto_argument_sequence_PairsAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// pairs+=coordinate_pair
protected class Lineto_argument_sequence_PairsAssignment_1_1 extends AssignmentToken {
public Lineto_argument_sequence_PairsAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getLineto_argument_sequenceAccess().getPairsAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_pair_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("pairs",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("pairs");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinate_pairRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getLineto_argument_sequenceAccess().getPairsCoordinate_pairParserRuleCall_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 Lineto_argument_sequence_Group_1(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Lineto_argument_sequence_PairsAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule lineto_argument_sequence ****************/
/************ begin Rule drawto_commands ****************
*
* drawto_commands:
* drawto_commands+=drawto_command+;
*
**/
// drawto_commands+=drawto_command+
protected class Drawto_commands_Drawto_commandsAssignment extends AssignmentToken {
public Drawto_commands_Drawto_commandsAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getDrawto_commandsAccess().getDrawto_commandsAssignment();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Drawto_command_Alternatives(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("drawto_commands",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("drawto_commands");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getDrawto_commandRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getDrawto_commandsAccess().getDrawto_commandsDrawto_commandParserRuleCall_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 Drawto_commands_Drawto_commandsAssignment(lastRuleCallOrigin, next, actIndex, consumed);
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index - 1, consumed);
}
}
}
/************ end Rule drawto_commands ****************/
/************ begin Rule drawto_command ****************
*
* drawto_command:
* closepath | lineto | horizontal_lineto | vertical_lineto | curveto | smooth_curveto | quadratic_bezier_curveto |
* smooth_quadratic_bezier_curveto | elliptical_arc;
*
**/
// closepath | lineto | horizontal_lineto | vertical_lineto | curveto | smooth_curveto | quadratic_bezier_curveto |
// smooth_quadratic_bezier_curveto | elliptical_arc
protected class Drawto_command_Alternatives extends AlternativesToken {
public Drawto_command_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getDrawto_commandAccess().getAlternatives();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Drawto_command_ClosepathParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
case 1: return new Drawto_command_LinetoParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
case 2: return new Drawto_command_Horizontal_linetoParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
case 3: return new Drawto_command_Vertical_linetoParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
case 4: return new Drawto_command_CurvetoParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
case 5: return new Drawto_command_Smooth_curvetoParserRuleCall_5(lastRuleCallOrigin, this, 5, inst);
case 6: return new Drawto_command_Quadratic_bezier_curvetoParserRuleCall_6(lastRuleCallOrigin, this, 6, inst);
case 7: return new Drawto_command_Smooth_quadratic_bezier_curvetoParserRuleCall_7(lastRuleCallOrigin, this, 7, inst);
case 8: return new Drawto_command_Elliptical_arcParserRuleCall_8(lastRuleCallOrigin, this, 8, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getClosepathAccess().getClosepathAction_0().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getCurvetoRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getElliptical_arcRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getHorizontal_linetoRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getLinetoRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getQuadratic_bezier_curveto_argument_sequenceRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getSmooth_curvetoRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getSmooth_quadratic_bezier_curvetoRule().getType().getClassifier() &&
getEObject().eClass() != grammarAccess.getVertical_linetoRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// closepath
protected class Drawto_command_ClosepathParserRuleCall_0 extends RuleCallToken {
public Drawto_command_ClosepathParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getDrawto_commandAccess().getClosepathParserRuleCall_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Closepath_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getClosepathAccess().getClosepathAction_0().getType().getClassifier())
return null;
if(checkForRecursion(Closepath_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);
}
}
}
// lineto
protected class Drawto_command_LinetoParserRuleCall_1 extends RuleCallToken {
public Drawto_command_LinetoParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getDrawto_commandAccess().getLinetoParserRuleCall_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Lineto_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getLinetoRule().getType().getClassifier())
return null;
if(checkForRecursion(Lineto_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);
}
}
}
// horizontal_lineto
protected class Drawto_command_Horizontal_linetoParserRuleCall_2 extends RuleCallToken {
public Drawto_command_Horizontal_linetoParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getDrawto_commandAccess().getHorizontal_linetoParserRuleCall_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Horizontal_lineto_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getHorizontal_linetoRule().getType().getClassifier())
return null;
if(checkForRecursion(Horizontal_lineto_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);
}
}
}
// vertical_lineto
protected class Drawto_command_Vertical_linetoParserRuleCall_3 extends RuleCallToken {
public Drawto_command_Vertical_linetoParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getDrawto_commandAccess().getVertical_linetoParserRuleCall_3();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Vertical_lineto_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getVertical_linetoRule().getType().getClassifier())
return null;
if(checkForRecursion(Vertical_lineto_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);
}
}
}
// curveto
protected class Drawto_command_CurvetoParserRuleCall_4 extends RuleCallToken {
public Drawto_command_CurvetoParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getDrawto_commandAccess().getCurvetoParserRuleCall_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Curveto_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getCurvetoRule().getType().getClassifier())
return null;
if(checkForRecursion(Curveto_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);
}
}
}
// smooth_curveto
protected class Drawto_command_Smooth_curvetoParserRuleCall_5 extends RuleCallToken {
public Drawto_command_Smooth_curvetoParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getDrawto_commandAccess().getSmooth_curvetoParserRuleCall_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Smooth_curveto_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getSmooth_curvetoRule().getType().getClassifier())
return null;
if(checkForRecursion(Smooth_curveto_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);
}
}
}
// quadratic_bezier_curveto
protected class Drawto_command_Quadratic_bezier_curvetoParserRuleCall_6 extends RuleCallToken {
public Drawto_command_Quadratic_bezier_curvetoParserRuleCall_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getDrawto_commandAccess().getQuadratic_bezier_curvetoParserRuleCall_6();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Quadratic_bezier_curveto_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getQuadratic_bezier_curveto_argument_sequenceRule().getType().getClassifier())
return null;
if(checkForRecursion(Quadratic_bezier_curveto_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);
}
}
}
// smooth_quadratic_bezier_curveto
protected class Drawto_command_Smooth_quadratic_bezier_curvetoParserRuleCall_7 extends RuleCallToken {
public Drawto_command_Smooth_quadratic_bezier_curvetoParserRuleCall_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getDrawto_commandAccess().getSmooth_quadratic_bezier_curvetoParserRuleCall_7();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Smooth_quadratic_bezier_curveto_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getSmooth_quadratic_bezier_curvetoRule().getType().getClassifier())
return null;
if(checkForRecursion(Smooth_quadratic_bezier_curveto_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);
}
}
}
// elliptical_arc
protected class Drawto_command_Elliptical_arcParserRuleCall_8 extends RuleCallToken {
public Drawto_command_Elliptical_arcParserRuleCall_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getDrawto_commandAccess().getElliptical_arcParserRuleCall_8();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Elliptical_arc_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getElliptical_arcRule().getType().getClassifier())
return null;
if(checkForRecursion(Elliptical_arc_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 drawto_command ****************/
/************ begin Rule closepath ****************
*
* closepath:
* {closepath} ("Z" | "z");
*
**/
// {closepath} ("Z" | "z")
protected class Closepath_Group extends GroupToken {
public Closepath_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getClosepathAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Closepath_Alternatives_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getClosepathAccess().getClosepathAction_0().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// {closepath}
protected class Closepath_ClosepathAction_0 extends ActionToken {
public Closepath_ClosepathAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Action getGrammarElement() {
return grammarAccess.getClosepathAccess().getClosepathAction_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;
}
}
// "Z" | "z"
protected class Closepath_Alternatives_1 extends AlternativesToken {
public Closepath_Alternatives_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getClosepathAccess().getAlternatives_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Closepath_ZKeyword_1_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "Z"
protected class Closepath_ZKeyword_1_0 extends KeywordToken {
public Closepath_ZKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getClosepathAccess().getZKeyword_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Closepath_ClosepathAction_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
/************ end Rule closepath ****************/
/************ begin Rule lineto ****************
*
* lineto:
* ("L" | "l") lineto_argument_sequence=lineto_argument_sequence;
*
**/
// ("L" | "l") lineto_argument_sequence=lineto_argument_sequence
protected class Lineto_Group extends GroupToken {
public Lineto_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getLinetoAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Lineto_Lineto_argument_sequenceAssignment_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getLinetoRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "L" | "l"
protected class Lineto_Alternatives_0 extends AlternativesToken {
public Lineto_Alternatives_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getLinetoAccess().getAlternatives_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Lineto_LKeyword_0_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "L"
protected class Lineto_LKeyword_0_0 extends KeywordToken {
public Lineto_LKeyword_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getLinetoAccess().getLKeyword_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// lineto_argument_sequence=lineto_argument_sequence
protected class Lineto_Lineto_argument_sequenceAssignment_1 extends AssignmentToken {
public Lineto_Lineto_argument_sequenceAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getLinetoAccess().getLineto_argument_sequenceAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Lineto_argument_sequence_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("lineto_argument_sequence",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("lineto_argument_sequence");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getLineto_argument_sequenceRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getLinetoAccess().getLineto_argument_sequenceLineto_argument_sequenceParserRuleCall_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 Lineto_Alternatives_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule lineto ****************/
/************ begin Rule horizontal_lineto ****************
*
* horizontal_lineto:
* ("H" | "h") horizontal_lineto_argument_sequence=horizontal_lineto_argument_sequence;
*
**/
// ("H" | "h") horizontal_lineto_argument_sequence=horizontal_lineto_argument_sequence
protected class Horizontal_lineto_Group extends GroupToken {
public Horizontal_lineto_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getHorizontal_linetoAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Horizontal_lineto_Horizontal_lineto_argument_sequenceAssignment_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getHorizontal_linetoRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "H" | "h"
protected class Horizontal_lineto_Alternatives_0 extends AlternativesToken {
public Horizontal_lineto_Alternatives_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getHorizontal_linetoAccess().getAlternatives_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Horizontal_lineto_HKeyword_0_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "H"
protected class Horizontal_lineto_HKeyword_0_0 extends KeywordToken {
public Horizontal_lineto_HKeyword_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getHorizontal_linetoAccess().getHKeyword_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// horizontal_lineto_argument_sequence=horizontal_lineto_argument_sequence
protected class Horizontal_lineto_Horizontal_lineto_argument_sequenceAssignment_1 extends AssignmentToken {
public Horizontal_lineto_Horizontal_lineto_argument_sequenceAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getHorizontal_linetoAccess().getHorizontal_lineto_argument_sequenceAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Horizontal_lineto_argument_sequence_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("horizontal_lineto_argument_sequence",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("horizontal_lineto_argument_sequence");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getHorizontal_lineto_argument_sequenceRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getHorizontal_linetoAccess().getHorizontal_lineto_argument_sequenceHorizontal_lineto_argument_sequenceParserRuleCall_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 Horizontal_lineto_Alternatives_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule horizontal_lineto ****************/
/************ begin Rule horizontal_lineto_argument_sequence ****************
*
* horizontal_lineto_argument_sequence:
* coordinates+=coordinate (comma? coordinates+=coordinate)*;
*
**/
// coordinates+=coordinate (comma? coordinates+=coordinate)*
protected class Horizontal_lineto_argument_sequence_Group extends GroupToken {
public Horizontal_lineto_argument_sequence_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getHorizontal_lineto_argument_sequenceAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Horizontal_lineto_argument_sequence_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Horizontal_lineto_argument_sequence_CoordinatesAssignment_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getHorizontal_lineto_argument_sequenceRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// coordinates+=coordinate
protected class Horizontal_lineto_argument_sequence_CoordinatesAssignment_0 extends AssignmentToken {
public Horizontal_lineto_argument_sequence_CoordinatesAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getHorizontal_lineto_argument_sequenceAccess().getCoordinatesAssignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_NumberParserRuleCall(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("coordinates",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coordinates");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinateRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getHorizontal_lineto_argument_sequenceAccess().getCoordinatesCoordinateParserRuleCall_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);
}
}
}
// (comma? coordinates+=coordinate)*
protected class Horizontal_lineto_argument_sequence_Group_1 extends GroupToken {
public Horizontal_lineto_argument_sequence_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getHorizontal_lineto_argument_sequenceAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Horizontal_lineto_argument_sequence_CoordinatesAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// coordinates+=coordinate
protected class Horizontal_lineto_argument_sequence_CoordinatesAssignment_1_1 extends AssignmentToken {
public Horizontal_lineto_argument_sequence_CoordinatesAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getHorizontal_lineto_argument_sequenceAccess().getCoordinatesAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_NumberParserRuleCall(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("coordinates",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coordinates");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinateRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getHorizontal_lineto_argument_sequenceAccess().getCoordinatesCoordinateParserRuleCall_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 Horizontal_lineto_argument_sequence_Group_1(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Horizontal_lineto_argument_sequence_CoordinatesAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule horizontal_lineto_argument_sequence ****************/
/************ begin Rule vertical_lineto ****************
*
* vertical_lineto:
* ("V" | "v") vertical_lineto_argument_sequence=vertical_lineto_argument_sequence;
*
**/
// ("V" | "v") vertical_lineto_argument_sequence=vertical_lineto_argument_sequence
protected class Vertical_lineto_Group extends GroupToken {
public Vertical_lineto_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getVertical_linetoAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Vertical_lineto_Vertical_lineto_argument_sequenceAssignment_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getVertical_linetoRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "V" | "v"
protected class Vertical_lineto_Alternatives_0 extends AlternativesToken {
public Vertical_lineto_Alternatives_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getVertical_linetoAccess().getAlternatives_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Vertical_lineto_VKeyword_0_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "V"
protected class Vertical_lineto_VKeyword_0_0 extends KeywordToken {
public Vertical_lineto_VKeyword_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getVertical_linetoAccess().getVKeyword_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// vertical_lineto_argument_sequence=vertical_lineto_argument_sequence
protected class Vertical_lineto_Vertical_lineto_argument_sequenceAssignment_1 extends AssignmentToken {
public Vertical_lineto_Vertical_lineto_argument_sequenceAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getVertical_linetoAccess().getVertical_lineto_argument_sequenceAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Vertical_lineto_argument_sequence_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("vertical_lineto_argument_sequence",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("vertical_lineto_argument_sequence");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getVertical_lineto_argument_sequenceRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getVertical_linetoAccess().getVertical_lineto_argument_sequenceVertical_lineto_argument_sequenceParserRuleCall_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 Vertical_lineto_Alternatives_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule vertical_lineto ****************/
/************ begin Rule vertical_lineto_argument_sequence ****************
*
* vertical_lineto_argument_sequence:
* coordinates+=coordinate (comma? coordinates+=coordinate)*;
*
**/
// coordinates+=coordinate (comma? coordinates+=coordinate)*
protected class Vertical_lineto_argument_sequence_Group extends GroupToken {
public Vertical_lineto_argument_sequence_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getVertical_lineto_argument_sequenceAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Vertical_lineto_argument_sequence_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Vertical_lineto_argument_sequence_CoordinatesAssignment_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getVertical_lineto_argument_sequenceRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// coordinates+=coordinate
protected class Vertical_lineto_argument_sequence_CoordinatesAssignment_0 extends AssignmentToken {
public Vertical_lineto_argument_sequence_CoordinatesAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getVertical_lineto_argument_sequenceAccess().getCoordinatesAssignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_NumberParserRuleCall(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("coordinates",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coordinates");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinateRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getVertical_lineto_argument_sequenceAccess().getCoordinatesCoordinateParserRuleCall_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);
}
}
}
// (comma? coordinates+=coordinate)*
protected class Vertical_lineto_argument_sequence_Group_1 extends GroupToken {
public Vertical_lineto_argument_sequence_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getVertical_lineto_argument_sequenceAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Vertical_lineto_argument_sequence_CoordinatesAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// coordinates+=coordinate
protected class Vertical_lineto_argument_sequence_CoordinatesAssignment_1_1 extends AssignmentToken {
public Vertical_lineto_argument_sequence_CoordinatesAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getVertical_lineto_argument_sequenceAccess().getCoordinatesAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_NumberParserRuleCall(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("coordinates",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coordinates");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinateRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getVertical_lineto_argument_sequenceAccess().getCoordinatesCoordinateParserRuleCall_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 Vertical_lineto_argument_sequence_Group_1(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Vertical_lineto_argument_sequence_CoordinatesAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule vertical_lineto_argument_sequence ****************/
/************ begin Rule curveto ****************
*
* curveto:
* ("C" | "c") curveto_argument_sequence=curveto_argument_sequence;
*
**/
// ("C" | "c") curveto_argument_sequence=curveto_argument_sequence
protected class Curveto_Group extends GroupToken {
public Curveto_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCurvetoAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Curveto_Curveto_argument_sequenceAssignment_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getCurvetoRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "C" | "c"
protected class Curveto_Alternatives_0 extends AlternativesToken {
public Curveto_Alternatives_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getCurvetoAccess().getAlternatives_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Curveto_CKeyword_0_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "C"
protected class Curveto_CKeyword_0_0 extends KeywordToken {
public Curveto_CKeyword_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getCurvetoAccess().getCKeyword_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// curveto_argument_sequence=curveto_argument_sequence
protected class Curveto_Curveto_argument_sequenceAssignment_1 extends AssignmentToken {
public Curveto_Curveto_argument_sequenceAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCurvetoAccess().getCurveto_argument_sequenceAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Curveto_argument_sequence_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("curveto_argument_sequence",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("curveto_argument_sequence");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCurveto_argument_sequenceRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCurvetoAccess().getCurveto_argument_sequenceCurveto_argument_sequenceParserRuleCall_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 Curveto_Alternatives_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule curveto ****************/
/************ begin Rule curveto_argument_sequence ****************
*
* curveto_argument_sequence:
* curveto_arguments+=curveto_argument (comma? curveto_arguments+=curveto_argument)*;
*
**/
// curveto_arguments+=curveto_argument (comma? curveto_arguments+=curveto_argument)*
protected class Curveto_argument_sequence_Group extends GroupToken {
public Curveto_argument_sequence_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCurveto_argument_sequenceAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Curveto_argument_sequence_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Curveto_argument_sequence_Curveto_argumentsAssignment_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getCurveto_argument_sequenceRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// curveto_arguments+=curveto_argument
protected class Curveto_argument_sequence_Curveto_argumentsAssignment_0 extends AssignmentToken {
public Curveto_argument_sequence_Curveto_argumentsAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCurveto_argument_sequenceAccess().getCurveto_argumentsAssignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Curveto_argument_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("curveto_arguments",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("curveto_arguments");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCurveto_argumentRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCurveto_argument_sequenceAccess().getCurveto_argumentsCurveto_argumentParserRuleCall_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);
}
}
}
// (comma? curveto_arguments+=curveto_argument)*
protected class Curveto_argument_sequence_Group_1 extends GroupToken {
public Curveto_argument_sequence_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCurveto_argument_sequenceAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Curveto_argument_sequence_Curveto_argumentsAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// curveto_arguments+=curveto_argument
protected class Curveto_argument_sequence_Curveto_argumentsAssignment_1_1 extends AssignmentToken {
public Curveto_argument_sequence_Curveto_argumentsAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCurveto_argument_sequenceAccess().getCurveto_argumentsAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Curveto_argument_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("curveto_arguments",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("curveto_arguments");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCurveto_argumentRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCurveto_argument_sequenceAccess().getCurveto_argumentsCurveto_argumentParserRuleCall_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 Curveto_argument_sequence_Group_1(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Curveto_argument_sequence_Curveto_argumentsAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule curveto_argument_sequence ****************/
/************ begin Rule curveto_argument ****************
*
* curveto_argument:
* c1=coordinate_pair comma? c2=coordinate_pair comma? c3=coordinate_pair;
*
**/
// c1=coordinate_pair comma? c2=coordinate_pair comma? c3=coordinate_pair
protected class Curveto_argument_Group extends GroupToken {
public Curveto_argument_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCurveto_argumentAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Curveto_argument_C3Assignment_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getCurveto_argumentRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// c1=coordinate_pair
protected class Curveto_argument_C1Assignment_0 extends AssignmentToken {
public Curveto_argument_C1Assignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCurveto_argumentAccess().getC1Assignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_pair_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("c1",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("c1");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinate_pairRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCurveto_argumentAccess().getC1Coordinate_pairParserRuleCall_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);
}
}
}
// c2=coordinate_pair
protected class Curveto_argument_C2Assignment_2 extends AssignmentToken {
public Curveto_argument_C2Assignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCurveto_argumentAccess().getC2Assignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_pair_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("c2",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("c2");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinate_pairRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCurveto_argumentAccess().getC2Coordinate_pairParserRuleCall_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 Curveto_argument_C1Assignment_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// c3=coordinate_pair
protected class Curveto_argument_C3Assignment_4 extends AssignmentToken {
public Curveto_argument_C3Assignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCurveto_argumentAccess().getC3Assignment_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_pair_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("c3",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("c3");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinate_pairRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCurveto_argumentAccess().getC3Coordinate_pairParserRuleCall_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 Curveto_argument_C2Assignment_2(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule curveto_argument ****************/
/************ begin Rule smooth_curveto ****************
*
* smooth_curveto:
* ("S" | "s") smooth_curveto_argument_sequence=smooth_curveto_argument_sequence;
*
**/
// ("S" | "s") smooth_curveto_argument_sequence=smooth_curveto_argument_sequence
protected class Smooth_curveto_Group extends GroupToken {
public Smooth_curveto_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSmooth_curvetoAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Smooth_curveto_Smooth_curveto_argument_sequenceAssignment_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getSmooth_curvetoRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "S" | "s"
protected class Smooth_curveto_Alternatives_0 extends AlternativesToken {
public Smooth_curveto_Alternatives_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getSmooth_curvetoAccess().getAlternatives_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Smooth_curveto_SKeyword_0_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "S"
protected class Smooth_curveto_SKeyword_0_0 extends KeywordToken {
public Smooth_curveto_SKeyword_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getSmooth_curvetoAccess().getSKeyword_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// smooth_curveto_argument_sequence=smooth_curveto_argument_sequence
protected class Smooth_curveto_Smooth_curveto_argument_sequenceAssignment_1 extends AssignmentToken {
public Smooth_curveto_Smooth_curveto_argument_sequenceAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSmooth_curvetoAccess().getSmooth_curveto_argument_sequenceAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Smooth_curveto_argument_sequence_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("smooth_curveto_argument_sequence",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("smooth_curveto_argument_sequence");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getSmooth_curveto_argument_sequenceRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSmooth_curvetoAccess().getSmooth_curveto_argument_sequenceSmooth_curveto_argument_sequenceParserRuleCall_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 Smooth_curveto_Alternatives_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule smooth_curveto ****************/
/************ begin Rule smooth_curveto_argument_sequence ****************
*
* smooth_curveto_argument_sequence:
* smooth_curveto_arguments+=smooth_curveto_argument (comma? smooth_curveto_arguments+=smooth_curveto_argument)*;
*
**/
// smooth_curveto_arguments+=smooth_curveto_argument (comma? smooth_curveto_arguments+=smooth_curveto_argument)*
protected class Smooth_curveto_argument_sequence_Group extends GroupToken {
public Smooth_curveto_argument_sequence_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSmooth_curveto_argument_sequenceAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Smooth_curveto_argument_sequence_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Smooth_curveto_argument_sequence_Smooth_curveto_argumentsAssignment_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getSmooth_curveto_argument_sequenceRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// smooth_curveto_arguments+=smooth_curveto_argument
protected class Smooth_curveto_argument_sequence_Smooth_curveto_argumentsAssignment_0 extends AssignmentToken {
public Smooth_curveto_argument_sequence_Smooth_curveto_argumentsAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSmooth_curveto_argument_sequenceAccess().getSmooth_curveto_argumentsAssignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Smooth_curveto_argument_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("smooth_curveto_arguments",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("smooth_curveto_arguments");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getSmooth_curveto_argumentRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSmooth_curveto_argument_sequenceAccess().getSmooth_curveto_argumentsSmooth_curveto_argumentParserRuleCall_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);
}
}
}
// (comma? smooth_curveto_arguments+=smooth_curveto_argument)*
protected class Smooth_curveto_argument_sequence_Group_1 extends GroupToken {
public Smooth_curveto_argument_sequence_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSmooth_curveto_argument_sequenceAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Smooth_curveto_argument_sequence_Smooth_curveto_argumentsAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// smooth_curveto_arguments+=smooth_curveto_argument
protected class Smooth_curveto_argument_sequence_Smooth_curveto_argumentsAssignment_1_1 extends AssignmentToken {
public Smooth_curveto_argument_sequence_Smooth_curveto_argumentsAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSmooth_curveto_argument_sequenceAccess().getSmooth_curveto_argumentsAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Smooth_curveto_argument_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("smooth_curveto_arguments",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("smooth_curveto_arguments");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getSmooth_curveto_argumentRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSmooth_curveto_argument_sequenceAccess().getSmooth_curveto_argumentsSmooth_curveto_argumentParserRuleCall_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 Smooth_curveto_argument_sequence_Group_1(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Smooth_curveto_argument_sequence_Smooth_curveto_argumentsAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule smooth_curveto_argument_sequence ****************/
/************ begin Rule smooth_curveto_argument ****************
*
* smooth_curveto_argument:
* c1=coordinate_pair comma? c2=coordinate_pair;
*
**/
// c1=coordinate_pair comma? c2=coordinate_pair
protected class Smooth_curveto_argument_Group extends GroupToken {
public Smooth_curveto_argument_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSmooth_curveto_argumentAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Smooth_curveto_argument_C2Assignment_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getSmooth_curveto_argumentRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// c1=coordinate_pair
protected class Smooth_curveto_argument_C1Assignment_0 extends AssignmentToken {
public Smooth_curveto_argument_C1Assignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSmooth_curveto_argumentAccess().getC1Assignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_pair_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("c1",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("c1");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinate_pairRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSmooth_curveto_argumentAccess().getC1Coordinate_pairParserRuleCall_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);
}
}
}
// c2=coordinate_pair
protected class Smooth_curveto_argument_C2Assignment_2 extends AssignmentToken {
public Smooth_curveto_argument_C2Assignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSmooth_curveto_argumentAccess().getC2Assignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_pair_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("c2",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("c2");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinate_pairRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSmooth_curveto_argumentAccess().getC2Coordinate_pairParserRuleCall_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 Smooth_curveto_argument_C1Assignment_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule smooth_curveto_argument ****************/
/************ begin Rule quadratic_bezier_curveto ****************
*
* quadratic_bezier_curveto:
* ("Q" | "q") quadratic_bezier_curveto_argument_sequence;
*
**/
// ("Q" | "q") quadratic_bezier_curveto_argument_sequence
protected class Quadratic_bezier_curveto_Group extends GroupToken {
public Quadratic_bezier_curveto_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getQuadratic_bezier_curvetoAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Quadratic_bezier_curveto_Quadratic_bezier_curveto_argument_sequenceParserRuleCall_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getQuadratic_bezier_curveto_argument_sequenceRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "Q" | "q"
protected class Quadratic_bezier_curveto_Alternatives_0 extends AlternativesToken {
public Quadratic_bezier_curveto_Alternatives_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getQuadratic_bezier_curvetoAccess().getAlternatives_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Quadratic_bezier_curveto_QKeyword_0_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "Q"
protected class Quadratic_bezier_curveto_QKeyword_0_0 extends KeywordToken {
public Quadratic_bezier_curveto_QKeyword_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getQuadratic_bezier_curvetoAccess().getQKeyword_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// quadratic_bezier_curveto_argument_sequence
protected class Quadratic_bezier_curveto_Quadratic_bezier_curveto_argument_sequenceParserRuleCall_1 extends RuleCallToken {
public Quadratic_bezier_curveto_Quadratic_bezier_curveto_argument_sequenceParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getQuadratic_bezier_curvetoAccess().getQuadratic_bezier_curveto_argument_sequenceParserRuleCall_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Quadratic_bezier_curveto_argument_sequence_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(checkForRecursion(Quadratic_bezier_curveto_argument_sequence_Group.class, eObjectConsumer)) return null;
return eObjectConsumer;
}
@Override
public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Quadratic_bezier_curveto_Alternatives_0(lastRuleCallOrigin, next, actIndex, inst);
default: return null;
}
}
}
/************ end Rule quadratic_bezier_curveto ****************/
/************ begin Rule quadratic_bezier_curveto_argument_sequence ****************
*
* quadratic_bezier_curveto_argument_sequence:
* quadratic_bezier_curveto_arguments+=quadratic_bezier_curveto_argument (comma?
* quadratic_bezier_curveto_arguments+=quadratic_bezier_curveto_argument)*;
*
**/
// quadratic_bezier_curveto_arguments+=quadratic_bezier_curveto_argument (comma?
// quadratic_bezier_curveto_arguments+=quadratic_bezier_curveto_argument)*
protected class Quadratic_bezier_curveto_argument_sequence_Group extends GroupToken {
public Quadratic_bezier_curveto_argument_sequence_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getQuadratic_bezier_curveto_argument_sequenceAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Quadratic_bezier_curveto_argument_sequence_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Quadratic_bezier_curveto_argument_sequence_Quadratic_bezier_curveto_argumentsAssignment_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getQuadratic_bezier_curveto_argument_sequenceRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// quadratic_bezier_curveto_arguments+=quadratic_bezier_curveto_argument
protected class Quadratic_bezier_curveto_argument_sequence_Quadratic_bezier_curveto_argumentsAssignment_0 extends AssignmentToken {
public Quadratic_bezier_curveto_argument_sequence_Quadratic_bezier_curveto_argumentsAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getQuadratic_bezier_curveto_argument_sequenceAccess().getQuadratic_bezier_curveto_argumentsAssignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Quadratic_bezier_curveto_argument_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("quadratic_bezier_curveto_arguments",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("quadratic_bezier_curveto_arguments");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getQuadratic_bezier_curveto_argumentRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getQuadratic_bezier_curveto_argument_sequenceAccess().getQuadratic_bezier_curveto_argumentsQuadratic_bezier_curveto_argumentParserRuleCall_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);
}
}
}
// (comma? quadratic_bezier_curveto_arguments+=quadratic_bezier_curveto_argument)*
protected class Quadratic_bezier_curveto_argument_sequence_Group_1 extends GroupToken {
public Quadratic_bezier_curveto_argument_sequence_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getQuadratic_bezier_curveto_argument_sequenceAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Quadratic_bezier_curveto_argument_sequence_Quadratic_bezier_curveto_argumentsAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// quadratic_bezier_curveto_arguments+=quadratic_bezier_curveto_argument
protected class Quadratic_bezier_curveto_argument_sequence_Quadratic_bezier_curveto_argumentsAssignment_1_1 extends AssignmentToken {
public Quadratic_bezier_curveto_argument_sequence_Quadratic_bezier_curveto_argumentsAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getQuadratic_bezier_curveto_argument_sequenceAccess().getQuadratic_bezier_curveto_argumentsAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Quadratic_bezier_curveto_argument_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("quadratic_bezier_curveto_arguments",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("quadratic_bezier_curveto_arguments");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getQuadratic_bezier_curveto_argumentRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getQuadratic_bezier_curveto_argument_sequenceAccess().getQuadratic_bezier_curveto_argumentsQuadratic_bezier_curveto_argumentParserRuleCall_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 Quadratic_bezier_curveto_argument_sequence_Group_1(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Quadratic_bezier_curveto_argument_sequence_Quadratic_bezier_curveto_argumentsAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule quadratic_bezier_curveto_argument_sequence ****************/
/************ begin Rule quadratic_bezier_curveto_argument ****************
*
* quadratic_bezier_curveto_argument:
* c1=coordinate_pair comma? c2=coordinate_pair;
*
**/
// c1=coordinate_pair comma? c2=coordinate_pair
protected class Quadratic_bezier_curveto_argument_Group extends GroupToken {
public Quadratic_bezier_curveto_argument_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getQuadratic_bezier_curveto_argumentAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Quadratic_bezier_curveto_argument_C2Assignment_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getQuadratic_bezier_curveto_argumentRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// c1=coordinate_pair
protected class Quadratic_bezier_curveto_argument_C1Assignment_0 extends AssignmentToken {
public Quadratic_bezier_curveto_argument_C1Assignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getQuadratic_bezier_curveto_argumentAccess().getC1Assignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_pair_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("c1",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("c1");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinate_pairRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getQuadratic_bezier_curveto_argumentAccess().getC1Coordinate_pairParserRuleCall_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);
}
}
}
// c2=coordinate_pair
protected class Quadratic_bezier_curveto_argument_C2Assignment_2 extends AssignmentToken {
public Quadratic_bezier_curveto_argument_C2Assignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getQuadratic_bezier_curveto_argumentAccess().getC2Assignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_pair_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("c2",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("c2");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinate_pairRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getQuadratic_bezier_curveto_argumentAccess().getC2Coordinate_pairParserRuleCall_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 Quadratic_bezier_curveto_argument_C1Assignment_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule quadratic_bezier_curveto_argument ****************/
/************ begin Rule smooth_quadratic_bezier_curveto ****************
*
* smooth_quadratic_bezier_curveto:
* ("T" | "t") smooth_quadratic_bezier_curveto_argument_sequence=smooth_quadratic_bezier_curveto_argument_sequence;
*
**/
// ("T" | "t") smooth_quadratic_bezier_curveto_argument_sequence=smooth_quadratic_bezier_curveto_argument_sequence
protected class Smooth_quadratic_bezier_curveto_Group extends GroupToken {
public Smooth_quadratic_bezier_curveto_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSmooth_quadratic_bezier_curvetoAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Smooth_quadratic_bezier_curveto_Smooth_quadratic_bezier_curveto_argument_sequenceAssignment_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getSmooth_quadratic_bezier_curvetoRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "T" | "t"
protected class Smooth_quadratic_bezier_curveto_Alternatives_0 extends AlternativesToken {
public Smooth_quadratic_bezier_curveto_Alternatives_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getSmooth_quadratic_bezier_curvetoAccess().getAlternatives_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Smooth_quadratic_bezier_curveto_TKeyword_0_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "T"
protected class Smooth_quadratic_bezier_curveto_TKeyword_0_0 extends KeywordToken {
public Smooth_quadratic_bezier_curveto_TKeyword_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getSmooth_quadratic_bezier_curvetoAccess().getTKeyword_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// smooth_quadratic_bezier_curveto_argument_sequence=smooth_quadratic_bezier_curveto_argument_sequence
protected class Smooth_quadratic_bezier_curveto_Smooth_quadratic_bezier_curveto_argument_sequenceAssignment_1 extends AssignmentToken {
public Smooth_quadratic_bezier_curveto_Smooth_quadratic_bezier_curveto_argument_sequenceAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSmooth_quadratic_bezier_curvetoAccess().getSmooth_quadratic_bezier_curveto_argument_sequenceAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Smooth_quadratic_bezier_curveto_argument_sequence_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("smooth_quadratic_bezier_curveto_argument_sequence",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("smooth_quadratic_bezier_curveto_argument_sequence");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getSmooth_quadratic_bezier_curveto_argument_sequenceRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSmooth_quadratic_bezier_curvetoAccess().getSmooth_quadratic_bezier_curveto_argument_sequenceSmooth_quadratic_bezier_curveto_argument_sequenceParserRuleCall_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 Smooth_quadratic_bezier_curveto_Alternatives_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule smooth_quadratic_bezier_curveto ****************/
/************ begin Rule smooth_quadratic_bezier_curveto_argument_sequence ****************
*
* smooth_quadratic_bezier_curveto_argument_sequence:
* coordinate_pairs+=coordinate_pair (comma? coordinate_pairs+=coordinate_pair)*;
*
**/
// coordinate_pairs+=coordinate_pair (comma? coordinate_pairs+=coordinate_pair)*
protected class Smooth_quadratic_bezier_curveto_argument_sequence_Group extends GroupToken {
public Smooth_quadratic_bezier_curveto_argument_sequence_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSmooth_quadratic_bezier_curveto_argument_sequenceAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Smooth_quadratic_bezier_curveto_argument_sequence_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Smooth_quadratic_bezier_curveto_argument_sequence_Coordinate_pairsAssignment_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getSmooth_quadratic_bezier_curveto_argument_sequenceRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// coordinate_pairs+=coordinate_pair
protected class Smooth_quadratic_bezier_curveto_argument_sequence_Coordinate_pairsAssignment_0 extends AssignmentToken {
public Smooth_quadratic_bezier_curveto_argument_sequence_Coordinate_pairsAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSmooth_quadratic_bezier_curveto_argument_sequenceAccess().getCoordinate_pairsAssignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_pair_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("coordinate_pairs",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coordinate_pairs");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinate_pairRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSmooth_quadratic_bezier_curveto_argument_sequenceAccess().getCoordinate_pairsCoordinate_pairParserRuleCall_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);
}
}
}
// (comma? coordinate_pairs+=coordinate_pair)*
protected class Smooth_quadratic_bezier_curveto_argument_sequence_Group_1 extends GroupToken {
public Smooth_quadratic_bezier_curveto_argument_sequence_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getSmooth_quadratic_bezier_curveto_argument_sequenceAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Smooth_quadratic_bezier_curveto_argument_sequence_Coordinate_pairsAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// coordinate_pairs+=coordinate_pair
protected class Smooth_quadratic_bezier_curveto_argument_sequence_Coordinate_pairsAssignment_1_1 extends AssignmentToken {
public Smooth_quadratic_bezier_curveto_argument_sequence_Coordinate_pairsAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getSmooth_quadratic_bezier_curveto_argument_sequenceAccess().getCoordinate_pairsAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_pair_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("coordinate_pairs",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coordinate_pairs");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinate_pairRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getSmooth_quadratic_bezier_curveto_argument_sequenceAccess().getCoordinate_pairsCoordinate_pairParserRuleCall_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 Smooth_quadratic_bezier_curveto_argument_sequence_Group_1(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Smooth_quadratic_bezier_curveto_argument_sequence_Coordinate_pairsAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule smooth_quadratic_bezier_curveto_argument_sequence ****************/
/************ begin Rule elliptical_arc ****************
*
* elliptical_arc:
* ("A" | "a") elliptical_arc_argument_sequence=elliptical_arc_argument_sequence;
*
**/
// ("A" | "a") elliptical_arc_argument_sequence=elliptical_arc_argument_sequence
protected class Elliptical_arc_Group extends GroupToken {
public Elliptical_arc_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getElliptical_arcAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Elliptical_arc_Elliptical_arc_argument_sequenceAssignment_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getElliptical_arcRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "A" | "a"
protected class Elliptical_arc_Alternatives_0 extends AlternativesToken {
public Elliptical_arc_Alternatives_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getElliptical_arcAccess().getAlternatives_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Elliptical_arc_AKeyword_0_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "A"
protected class Elliptical_arc_AKeyword_0_0 extends KeywordToken {
public Elliptical_arc_AKeyword_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getElliptical_arcAccess().getAKeyword_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// elliptical_arc_argument_sequence=elliptical_arc_argument_sequence
protected class Elliptical_arc_Elliptical_arc_argument_sequenceAssignment_1 extends AssignmentToken {
public Elliptical_arc_Elliptical_arc_argument_sequenceAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getElliptical_arcAccess().getElliptical_arc_argument_sequenceAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Elliptical_arc_argument_sequence_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("elliptical_arc_argument_sequence",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("elliptical_arc_argument_sequence");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getElliptical_arc_argument_sequenceRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getElliptical_arcAccess().getElliptical_arc_argument_sequenceElliptical_arc_argument_sequenceParserRuleCall_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 Elliptical_arc_Alternatives_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule elliptical_arc ****************/
/************ begin Rule elliptical_arc_argument_sequence ****************
*
* elliptical_arc_argument_sequence:
* elliptical_arc_arguments+=elliptical_arc_argument (comma? elliptical_arc_arguments+=elliptical_arc_argument)*;
*
**/
// elliptical_arc_arguments+=elliptical_arc_argument (comma? elliptical_arc_arguments+=elliptical_arc_argument)*
protected class Elliptical_arc_argument_sequence_Group extends GroupToken {
public Elliptical_arc_argument_sequence_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getElliptical_arc_argument_sequenceAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Elliptical_arc_argument_sequence_Group_1(lastRuleCallOrigin, this, 0, inst);
case 1: return new Elliptical_arc_argument_sequence_Elliptical_arc_argumentsAssignment_0(lastRuleCallOrigin, this, 1, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getElliptical_arc_argument_sequenceRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// elliptical_arc_arguments+=elliptical_arc_argument
protected class Elliptical_arc_argument_sequence_Elliptical_arc_argumentsAssignment_0 extends AssignmentToken {
public Elliptical_arc_argument_sequence_Elliptical_arc_argumentsAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getElliptical_arc_argument_sequenceAccess().getElliptical_arc_argumentsAssignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Elliptical_arc_argument_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("elliptical_arc_arguments",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("elliptical_arc_arguments");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getElliptical_arc_argumentRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getElliptical_arc_argument_sequenceAccess().getElliptical_arc_argumentsElliptical_arc_argumentParserRuleCall_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);
}
}
}
// (comma? elliptical_arc_arguments+=elliptical_arc_argument)*
protected class Elliptical_arc_argument_sequence_Group_1 extends GroupToken {
public Elliptical_arc_argument_sequence_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getElliptical_arc_argument_sequenceAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Elliptical_arc_argument_sequence_Elliptical_arc_argumentsAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// elliptical_arc_arguments+=elliptical_arc_argument
protected class Elliptical_arc_argument_sequence_Elliptical_arc_argumentsAssignment_1_1 extends AssignmentToken {
public Elliptical_arc_argument_sequence_Elliptical_arc_argumentsAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getElliptical_arc_argument_sequenceAccess().getElliptical_arc_argumentsAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Elliptical_arc_argument_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("elliptical_arc_arguments",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("elliptical_arc_arguments");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getElliptical_arc_argumentRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getElliptical_arc_argument_sequenceAccess().getElliptical_arc_argumentsElliptical_arc_argumentParserRuleCall_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 Elliptical_arc_argument_sequence_Group_1(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Elliptical_arc_argument_sequence_Elliptical_arc_argumentsAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule elliptical_arc_argument_sequence ****************/
/************ begin Rule elliptical_arc_argument ****************
*
* elliptical_arc_argument:
* rx=nonnegative_number comma? ry=nonnegative_number comma? rotation=number comma largearcflag=flag comma?
* sweepflag=flag comma? coordinate_pair=coordinate_pair;
*
**/
// rx=nonnegative_number comma? ry=nonnegative_number comma? rotation=number comma largearcflag=flag comma? sweepflag=flag
// comma? coordinate_pair=coordinate_pair
protected class Elliptical_arc_argument_Group extends GroupToken {
public Elliptical_arc_argument_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getElliptical_arc_argumentAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Elliptical_arc_argument_Coordinate_pairAssignment_10(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getElliptical_arc_argumentRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// rx=nonnegative_number
protected class Elliptical_arc_argument_RxAssignment_0 extends AssignmentToken {
public Elliptical_arc_argument_RxAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getElliptical_arc_argumentAccess().getRxAssignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Nonnegative_number_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("rx",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rx");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getNonnegative_numberRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getElliptical_arc_argumentAccess().getRxNonnegative_numberParserRuleCall_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);
}
}
}
// ry=nonnegative_number
protected class Elliptical_arc_argument_RyAssignment_2 extends AssignmentToken {
public Elliptical_arc_argument_RyAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getElliptical_arc_argumentAccess().getRyAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Nonnegative_number_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("ry",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ry");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getNonnegative_numberRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getElliptical_arc_argumentAccess().getRyNonnegative_numberParserRuleCall_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 Elliptical_arc_argument_RxAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// rotation=number
protected class Elliptical_arc_argument_RotationAssignment_4 extends AssignmentToken {
public Elliptical_arc_argument_RotationAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getElliptical_arc_argumentAccess().getRotationAssignment_4();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Number_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("rotation",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rotation");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getNumberRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getElliptical_arc_argumentAccess().getRotationNumberParserRuleCall_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 Elliptical_arc_argument_RyAssignment_2(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// comma
protected class Elliptical_arc_argument_CommaParserRuleCall_5 extends UnassignedTextToken {
public Elliptical_arc_argument_CommaParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getElliptical_arc_argumentAccess().getCommaParserRuleCall_5();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Elliptical_arc_argument_RotationAssignment_4(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// largearcflag=flag
protected class Elliptical_arc_argument_LargearcflagAssignment_6 extends AssignmentToken {
public Elliptical_arc_argument_LargearcflagAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getElliptical_arc_argumentAccess().getLargearcflagAssignment_6();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Elliptical_arc_argument_CommaParserRuleCall_5(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("largearcflag",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("largearcflag");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getElliptical_arc_argumentAccess().getLargearcflagFlagParserRuleCall_6_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getElliptical_arc_argumentAccess().getLargearcflagFlagParserRuleCall_6_0();
return obj;
}
return null;
}
}
// sweepflag=flag
protected class Elliptical_arc_argument_SweepflagAssignment_8 extends AssignmentToken {
public Elliptical_arc_argument_SweepflagAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getElliptical_arc_argumentAccess().getSweepflagAssignment_8();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Elliptical_arc_argument_LargearcflagAssignment_6(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("sweepflag",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sweepflag");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getElliptical_arc_argumentAccess().getSweepflagFlagParserRuleCall_8_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getElliptical_arc_argumentAccess().getSweepflagFlagParserRuleCall_8_0();
return obj;
}
return null;
}
}
// coordinate_pair=coordinate_pair
protected class Elliptical_arc_argument_Coordinate_pairAssignment_10 extends AssignmentToken {
public Elliptical_arc_argument_Coordinate_pairAssignment_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getElliptical_arc_argumentAccess().getCoordinate_pairAssignment_10();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_pair_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("coordinate_pair",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coordinate_pair");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinate_pairRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getElliptical_arc_argumentAccess().getCoordinate_pairCoordinate_pairParserRuleCall_10_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 Elliptical_arc_argument_SweepflagAssignment_8(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule elliptical_arc_argument ****************/
/************ begin Rule coordinate_pair ****************
*
* coordinate_pair:
* c1=coordinate comma? c2=coordinate;
*
**/
// c1=coordinate comma? c2=coordinate
protected class Coordinate_pair_Group extends GroupToken {
public Coordinate_pair_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getCoordinate_pairAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_pair_C2Assignment_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getCoordinate_pairRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// c1=coordinate
protected class Coordinate_pair_C1Assignment_0 extends AssignmentToken {
public Coordinate_pair_C1Assignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCoordinate_pairAccess().getC1Assignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_NumberParserRuleCall(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("c1",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("c1");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinateRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCoordinate_pairAccess().getC1CoordinateParserRuleCall_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);
}
}
}
// c2=coordinate
protected class Coordinate_pair_C2Assignment_2 extends AssignmentToken {
public Coordinate_pair_C2Assignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getCoordinate_pairAccess().getC2Assignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Coordinate_NumberParserRuleCall(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("c2",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("c2");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getCoordinateRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getCoordinate_pairAccess().getC2CoordinateParserRuleCall_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 Coordinate_pair_C1Assignment_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule coordinate_pair ****************/
/************ begin Rule coordinate ****************
*
* coordinate:
* number;
*
**/
// number
protected class Coordinate_NumberParserRuleCall extends RuleCallToken {
public Coordinate_NumberParserRuleCall(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public RuleCall getGrammarElement() {
return grammarAccess.getCoordinateAccess().getNumberParserRuleCall();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Number_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getNumberRule().getType().getClassifier())
return null;
if(checkForRecursion(Number_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 coordinate ****************/
/************ begin Rule number ****************
*
* number:
* sign=sign? nonnegative_number=nonnegative_number;
*
**/
// sign=sign? nonnegative_number=nonnegative_number
protected class Number_Group extends GroupToken {
public Number_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getNumberAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Number_Nonnegative_numberAssignment_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getNumberRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// sign=sign?
protected class Number_SignAssignment_0 extends AssignmentToken {
public Number_SignAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getNumberAccess().getSignAssignment_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("sign",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sign");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getNumberAccess().getSignSignParserRuleCall_0_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getNumberAccess().getSignSignParserRuleCall_0_0();
return obj;
}
return null;
}
}
// nonnegative_number=nonnegative_number
protected class Number_Nonnegative_numberAssignment_1 extends AssignmentToken {
public Number_Nonnegative_numberAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getNumberAccess().getNonnegative_numberAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Nonnegative_number_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("nonnegative_number",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("nonnegative_number");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getNonnegative_numberRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getNumberAccess().getNonnegative_numberNonnegative_numberParserRuleCall_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 Number_SignAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index - 1, consumed);
}
}
}
/************ end Rule number ****************/
/************ begin Rule nonnegative_number ****************
*
* nonnegative_number:
* intseq=digit_sequence ("." floatseq=digit_sequence)? exponent=exponent?;
*
**/
// intseq=digit_sequence ("." floatseq=digit_sequence)? exponent=exponent?
protected class Nonnegative_number_Group extends GroupToken {
public Nonnegative_number_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getNonnegative_numberAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Nonnegative_number_ExponentAssignment_2(lastRuleCallOrigin, this, 0, inst);
case 1: return new Nonnegative_number_Group_1(lastRuleCallOrigin, this, 1, inst);
case 2: return new Nonnegative_number_IntseqAssignment_0(lastRuleCallOrigin, this, 2, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getNonnegative_numberRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// intseq=digit_sequence
protected class Nonnegative_number_IntseqAssignment_0 extends AssignmentToken {
public Nonnegative_number_IntseqAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getNonnegative_numberAccess().getIntseqAssignment_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Digit_sequence_DigitsAssignment(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("intseq",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("intseq");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getDigit_sequenceRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getNonnegative_numberAccess().getIntseqDigit_sequenceParserRuleCall_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);
}
}
}
// ("." floatseq=digit_sequence)?
protected class Nonnegative_number_Group_1 extends GroupToken {
public Nonnegative_number_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getNonnegative_numberAccess().getGroup_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Nonnegative_number_FloatseqAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "."
protected class Nonnegative_number_FullStopKeyword_1_0 extends KeywordToken {
public Nonnegative_number_FullStopKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getNonnegative_numberAccess().getFullStopKeyword_1_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Nonnegative_number_IntseqAssignment_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// floatseq=digit_sequence
protected class Nonnegative_number_FloatseqAssignment_1_1 extends AssignmentToken {
public Nonnegative_number_FloatseqAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getNonnegative_numberAccess().getFloatseqAssignment_1_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Digit_sequence_DigitsAssignment(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("floatseq",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("floatseq");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getDigit_sequenceRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getNonnegative_numberAccess().getFloatseqDigit_sequenceParserRuleCall_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 Nonnegative_number_FullStopKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
// exponent=exponent?
protected class Nonnegative_number_ExponentAssignment_2 extends AssignmentToken {
public Nonnegative_number_ExponentAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getNonnegative_numberAccess().getExponentAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Exponent_Group(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("exponent",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("exponent");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getExponentRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getNonnegative_numberAccess().getExponentExponentParserRuleCall_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 Nonnegative_number_Group_1(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Nonnegative_number_IntseqAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule nonnegative_number ****************/
/************ begin Rule exponent ****************
*
* exponent:
* ("e" | "E") sign=sign? digit_sequence=digit_sequence;
*
**/
// ("e" | "E") sign=sign? digit_sequence=digit_sequence
protected class Exponent_Group extends GroupToken {
public Exponent_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Group getGrammarElement() {
return grammarAccess.getExponentAccess().getGroup();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Exponent_Digit_sequenceAssignment_2(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if(getEObject().eClass() != grammarAccess.getExponentRule().getType().getClassifier())
return null;
return eObjectConsumer;
}
}
// "e" | "E"
protected class Exponent_Alternatives_0 extends AlternativesToken {
public Exponent_Alternatives_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Alternatives getGrammarElement() {
return grammarAccess.getExponentAccess().getAlternatives_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Exponent_EKeyword_0_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
}
// "e"
protected class Exponent_EKeyword_0_0 extends KeywordToken {
public Exponent_EKeyword_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Keyword getGrammarElement() {
return grammarAccess.getExponentAccess().getEKeyword_0_0();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
}
}
}
// sign=sign?
protected class Exponent_SignAssignment_1 extends AssignmentToken {
public Exponent_SignAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExponentAccess().getSignAssignment_1();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Exponent_Alternatives_0(lastRuleCallOrigin, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("sign",false)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sign");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getExponentAccess().getSignSignParserRuleCall_1_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getExponentAccess().getSignSignParserRuleCall_1_0();
return obj;
}
return null;
}
}
// digit_sequence=digit_sequence
protected class Exponent_Digit_sequenceAssignment_2 extends AssignmentToken {
public Exponent_Digit_sequenceAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getExponentAccess().getDigit_sequenceAssignment_2();
}
@Override
public AbstractToken createFollower(int index, IEObjectConsumer inst) {
switch(index) {
case 0: return new Digit_sequence_DigitsAssignment(this, this, 0, inst);
default: return null;
}
}
@Override
public IEObjectConsumer tryConsume() {
if((value = eObjectConsumer.getConsumable("digit_sequence",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("digit_sequence");
if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
IEObjectConsumer param = createEObjectConsumer((EObject)value);
if(param.isInstanceOf(grammarAccess.getDigit_sequenceRule().getType().getClassifier())) {
type = AssignmentType.PARSER_RULE_CALL;
element = grammarAccess.getExponentAccess().getDigit_sequenceDigit_sequenceParserRuleCall_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 Exponent_SignAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
case 1: return new Exponent_Alternatives_0(lastRuleCallOrigin, next, actIndex, consumed);
default: return null;
}
}
}
/************ end Rule exponent ****************/
/************ begin Rule digit_sequence ****************
*
* digit_sequence:
* digits+=digit;
*
**/
// digits+=digit
protected class Digit_sequence_DigitsAssignment extends AssignmentToken {
public Digit_sequence_DigitsAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
}
@Override
public Assignment getGrammarElement() {
return grammarAccess.getDigit_sequenceAccess().getDigitsAssignment();
}
@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.getDigit_sequenceRule().getType().getClassifier())
return null;
if((value = eObjectConsumer.getConsumable("digits",true)) == null) return null;
IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("digits");
if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getDigit_sequenceAccess().getDigitsDigitParserRuleCall_0(), value, null)) {
type = AssignmentType.DATATYPE_RULE_CALL;
element = grammarAccess.getDigit_sequenceAccess().getDigitsDigitParserRuleCall_0();
return obj;
}
return null;
}
}
/************ end Rule digit_sequence ****************/
}