package io.sarl.lang.parser.antlr.internal;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
import io.sarl.lang.services.SARLGrammarAccess;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
@SuppressWarnings("all")
public class InternalSARLParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_RICH_TEXT", "RULE_RICH_TEXT_START", "RULE_RICH_TEXT_INBETWEEN", "RULE_COMMENT_RICH_TEXT_INBETWEEN", "RULE_RICH_TEXT_END", "RULE_COMMENT_RICH_TEXT_END", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_IDENTIFIER_START", "RULE_UNICODE_ESCAPE", "RULE_IDENTIFIER_PART", "RULE_HEX_DIGIT", "RULE_IN_RICH_STRING", "RULE_IDENTIFIER_PART_IMPL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'package'", "';'", "'event'", "'extends'", "'{'", "'}'", "'capacity'", "','", "'agent'", "'behavior'", "'skill'", "'implements'", "'space'", "'artifact'", "'class'", "'<'", "'>'", "'interface'", "'enum'", "'annotation'", "'extension'", "':'", "'='", "'new'", "'('", "')'", "'throws'", "'with'", "'fires'", "'on'", "'['", "']'", "'uses'", "'requires'", "'*'", "'break'", "'var'", "'val'", "'for'", "'as'", "'switch'", "'default'", "'=>'", "'.'", "'public'", "'private'", "'protected'", "'abstract'", "'static'", "'dispatch'", "'final'", "'strictfp'", "'native'", "'volatile'", "'synchronized'", "'transient'", "'def'", "'override'", "'create'", "'AFTER'", "'BEFORE'", "'SEPARATOR'", "'import'", "'FOR'", "'ENDFOR'", "'IF'", "'ELSE'", "'ENDIF'", "'ELSEIF'", "'@'", "'#'", "'+='", "'-='", "'*='", "'/='", "'%='", "'>='", "'||'", "'&&'", "'=='", "'!='", "'==='", "'!=='", "'instanceof'", "'->'", "'..<'", "'..'", "'<>'", "'?:'", "'+'", "'-'", "'**'", "'/'", "'%'", "'!'", "'++'", "'--'", "'::'", "'?.'", "'|'", "'if'", "'else'", "'case'", "'while'", "'do'", "'super'", "'false'", "'true'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'catch'", "'?'", "'&'"
};
public static final int RULE_HEX=12;
public static final int T__50=50;
public static final int T__140=140;
public static final int T__141=141;
public static final int T__59=59;
public static final int T__55=55;
public static final int T__56=56;
public static final int T__57=57;
public static final int T__58=58;
public static final int T__51=51;
public static final int T__137=137;
public static final int T__52=52;
public static final int T__136=136;
public static final int T__53=53;
public static final int T__139=139;
public static final int T__54=54;
public static final int T__138=138;
public static final int T__133=133;
public static final int T__132=132;
public static final int T__60=60;
public static final int T__135=135;
public static final int T__61=61;
public static final int T__134=134;
public static final int RULE_ID=4;
public static final int T__131=131;
public static final int T__130=130;
public static final int RULE_RICH_TEXT_START=7;
public static final int RULE_INT=13;
public static final int T__66=66;
public static final int RULE_ML_COMMENT=21;
public static final int T__67=67;
public static final int T__129=129;
public static final int T__68=68;
public static final int T__69=69;
public static final int T__62=62;
public static final int T__126=126;
public static final int T__63=63;
public static final int T__125=125;
public static final int T__64=64;
public static final int T__128=128;
public static final int T__65=65;
public static final int T__127=127;
public static final int RULE_UNICODE_ESCAPE=16;
public static final int T__37=37;
public static final int T__38=38;
public static final int T__39=39;
public static final int RULE_IDENTIFIER_PART=17;
public static final int T__33=33;
public static final int T__34=34;
public static final int T__35=35;
public static final int T__36=36;
public static final int T__30=30;
public static final int T__31=31;
public static final int T__32=32;
public static final int T__48=48;
public static final int T__49=49;
public static final int T__44=44;
public static final int T__45=45;
public static final int RULE_HEX_DIGIT=18;
public static final int T__46=46;
public static final int T__47=47;
public static final int T__40=40;
public static final int T__41=41;
public static final int T__42=42;
public static final int T__43=43;
public static final int T__91=91;
public static final int T__100=100;
public static final int T__92=92;
public static final int T__93=93;
public static final int T__102=102;
public static final int RULE_COMMENT_RICH_TEXT_END=11;
public static final int T__94=94;
public static final int T__101=101;
public static final int T__90=90;
public static final int RULE_IDENTIFIER_START=15;
public static final int T__99=99;
public static final int T__95=95;
public static final int T__96=96;
public static final int T__97=97;
public static final int T__98=98;
public static final int RULE_DECIMAL=14;
public static final int T__26=26;
public static final int T__27=27;
public static final int T__28=28;
public static final int T__29=29;
public static final int T__25=25;
public static final int T__122=122;
public static final int T__70=70;
public static final int T__121=121;
public static final int T__71=71;
public static final int T__124=124;
public static final int T__72=72;
public static final int T__123=123;
public static final int T__120=120;
public static final int RULE_STRING=5;
public static final int RULE_SL_COMMENT=22;
public static final int RULE_IN_RICH_STRING=19;
public static final int T__77=77;
public static final int T__119=119;
public static final int RULE_COMMENT_RICH_TEXT_INBETWEEN=9;
public static final int T__78=78;
public static final int T__118=118;
public static final int T__79=79;
public static final int T__73=73;
public static final int T__115=115;
public static final int EOF=-1;
public static final int T__74=74;
public static final int T__114=114;
public static final int T__75=75;
public static final int T__117=117;
public static final int T__76=76;
public static final int T__116=116;
public static final int T__80=80;
public static final int T__111=111;
public static final int T__81=81;
public static final int T__110=110;
public static final int T__82=82;
public static final int T__113=113;
public static final int RULE_RICH_TEXT=6;
public static final int T__83=83;
public static final int T__112=112;
public static final int RULE_WS=23;
public static final int RULE_RICH_TEXT_END=10;
public static final int RULE_ANY_OTHER=24;
public static final int RULE_RICH_TEXT_INBETWEEN=8;
public static final int RULE_IDENTIFIER_PART_IMPL=20;
public static final int T__88=88;
public static final int T__108=108;
public static final int T__89=89;
public static final int T__107=107;
public static final int T__109=109;
public static final int T__84=84;
public static final int T__104=104;
public static final int T__85=85;
public static final int T__103=103;
public static final int T__86=86;
public static final int T__106=106;
public static final int T__87=87;
public static final int T__105=105;
// delegates
// delegators
public InternalSARLParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public InternalSARLParser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
public String[] getTokenNames() { return InternalSARLParser.tokenNames; }
public String getGrammarFileName() { return "InternalSARL.g"; }
private SARLGrammarAccess grammarAccess;
public InternalSARLParser(TokenStream input, SARLGrammarAccess grammarAccess) {
this(input);
this.grammarAccess = grammarAccess;
registerRules(grammarAccess.getGrammar());
}
@Override
protected String getFirstRuleName() {
return "SarlScript";
}
@Override
protected SARLGrammarAccess getGrammarAccess() {
return grammarAccess;
}
// $ANTLR start "entryRuleSarlScript"
// InternalSARL.g:84:1: entryRuleSarlScript returns [EObject current=null] : iv_ruleSarlScript= ruleSarlScript EOF ;
public final EObject entryRuleSarlScript() throws RecognitionException {
EObject current = null;
EObject iv_ruleSarlScript = null;
try {
// InternalSARL.g:84:51: (iv_ruleSarlScript= ruleSarlScript EOF )
// InternalSARL.g:85:2: iv_ruleSarlScript= ruleSarlScript EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSarlScriptRule());
}
pushFollow(FOLLOW_1);
iv_ruleSarlScript=ruleSarlScript();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSarlScript;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSarlScript"
// $ANTLR start "ruleSarlScript"
// InternalSARL.g:91:1: ruleSarlScript returns [EObject current=null] : ( () (otherlv_1= 'package' ( (lv_package_2_0= ruleQualifiedName ) ) (otherlv_3= ';' )? )? ( (lv_importSection_4_0= ruleXImportSection ) )? ( (lv_xtendTypes_5_0= ruleType ) )* ) ;
public final EObject ruleSarlScript() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
AntlrDatatypeRuleToken lv_package_2_0 = null;
EObject lv_importSection_4_0 = null;
EObject lv_xtendTypes_5_0 = null;
enterRule();
try {
// InternalSARL.g:97:2: ( ( () (otherlv_1= 'package' ( (lv_package_2_0= ruleQualifiedName ) ) (otherlv_3= ';' )? )? ( (lv_importSection_4_0= ruleXImportSection ) )? ( (lv_xtendTypes_5_0= ruleType ) )* ) )
// InternalSARL.g:98:2: ( () (otherlv_1= 'package' ( (lv_package_2_0= ruleQualifiedName ) ) (otherlv_3= ';' )? )? ( (lv_importSection_4_0= ruleXImportSection ) )? ( (lv_xtendTypes_5_0= ruleType ) )* )
{
// InternalSARL.g:98:2: ( () (otherlv_1= 'package' ( (lv_package_2_0= ruleQualifiedName ) ) (otherlv_3= ';' )? )? ( (lv_importSection_4_0= ruleXImportSection ) )? ( (lv_xtendTypes_5_0= ruleType ) )* )
// InternalSARL.g:99:3: () (otherlv_1= 'package' ( (lv_package_2_0= ruleQualifiedName ) ) (otherlv_3= ';' )? )? ( (lv_importSection_4_0= ruleXImportSection ) )? ( (lv_xtendTypes_5_0= ruleType ) )*
{
// InternalSARL.g:99:3: ()
// InternalSARL.g:100:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getSarlScriptAccess().getSarlScriptAction_0(),
current);
}
}
// InternalSARL.g:106:3: (otherlv_1= 'package' ( (lv_package_2_0= ruleQualifiedName ) ) (otherlv_3= ';' )? )?
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==25) ) {
int LA2_1 = input.LA(2);
if ( (LA2_1==RULE_ID||(LA2_1>=83 && LA2_1<=86)) ) {
alt2=1;
}
else if ( (LA2_1==44) ) {
int LA2_4 = input.LA(3);
if ( (LA2_4==EOF||(LA2_4>=25 && LA2_4<=27)||LA2_4==31||(LA2_4>=33 && LA2_4<=35)||(LA2_4>=37 && LA2_4<=39)||(LA2_4>=42 && LA2_4<=43)||(LA2_4>=68 && LA2_4<=80)||LA2_4==87||LA2_4==94) ) {
alt2=1;
}
else if ( (LA2_4==44) ) {
int LA2_5 = input.LA(4);
if ( (LA2_5==RULE_ID||LA2_5==44||(LA2_5>=83 && LA2_5<=86)) ) {
alt2=1;
}
}
}
}
switch (alt2) {
case 1 :
// InternalSARL.g:107:4: otherlv_1= 'package' ( (lv_package_2_0= ruleQualifiedName ) ) (otherlv_3= ';' )?
{
otherlv_1=(Token)match(input,25,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getSarlScriptAccess().getPackageKeyword_1_0());
}
// InternalSARL.g:111:4: ( (lv_package_2_0= ruleQualifiedName ) )
// InternalSARL.g:112:5: (lv_package_2_0= ruleQualifiedName )
{
// InternalSARL.g:112:5: (lv_package_2_0= ruleQualifiedName )
// InternalSARL.g:113:6: lv_package_2_0= ruleQualifiedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSarlScriptAccess().getPackageQualifiedNameParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_4);
lv_package_2_0=ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSarlScriptRule());
}
set(
current,
"package",
lv_package_2_0,
"org.eclipse.xtext.xbase.Xbase.QualifiedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:130:4: (otherlv_3= ';' )?
int alt1=2;
int LA1_0 = input.LA(1);
if ( (LA1_0==26) ) {
alt1=1;
}
switch (alt1) {
case 1 :
// InternalSARL.g:131:5: otherlv_3= ';'
{
otherlv_3=(Token)match(input,26,FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getSarlScriptAccess().getSemicolonKeyword_1_2());
}
}
break;
}
}
break;
}
// InternalSARL.g:137:3: ( (lv_importSection_4_0= ruleXImportSection ) )?
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==87) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// InternalSARL.g:138:4: (lv_importSection_4_0= ruleXImportSection )
{
// InternalSARL.g:138:4: (lv_importSection_4_0= ruleXImportSection )
// InternalSARL.g:139:5: lv_importSection_4_0= ruleXImportSection
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSarlScriptAccess().getImportSectionXImportSectionParserRuleCall_2_0());
}
pushFollow(FOLLOW_6);
lv_importSection_4_0=ruleXImportSection();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSarlScriptRule());
}
set(
current,
"importSection",
lv_importSection_4_0,
"org.eclipse.xtext.xbase.Xtype.XImportSection");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalSARL.g:156:3: ( (lv_xtendTypes_5_0= ruleType ) )*
loop4:
do {
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==25||LA4_0==27||LA4_0==31||(LA4_0>=33 && LA4_0<=35)||(LA4_0>=37 && LA4_0<=39)||(LA4_0>=42 && LA4_0<=44)||(LA4_0>=69 && LA4_0<=80)||LA4_0==94) ) {
alt4=1;
}
switch (alt4) {
case 1 :
// InternalSARL.g:157:4: (lv_xtendTypes_5_0= ruleType )
{
// InternalSARL.g:157:4: (lv_xtendTypes_5_0= ruleType )
// InternalSARL.g:158:5: lv_xtendTypes_5_0= ruleType
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSarlScriptAccess().getXtendTypesTypeParserRuleCall_3_0());
}
pushFollow(FOLLOW_6);
lv_xtendTypes_5_0=ruleType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSarlScriptRule());
}
add(
current,
"xtendTypes",
lv_xtendTypes_5_0,
"io.sarl.lang.SARL.Type");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop4;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSarlScript"
// $ANTLR start "entryRuleType"
// InternalSARL.g:179:1: entryRuleType returns [EObject current=null] : iv_ruleType= ruleType EOF ;
public final EObject entryRuleType() throws RecognitionException {
EObject current = null;
EObject iv_ruleType = null;
try {
// InternalSARL.g:179:45: (iv_ruleType= ruleType EOF )
// InternalSARL.g:180:2: iv_ruleType= ruleType EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeRule());
}
pushFollow(FOLLOW_1);
iv_ruleType=ruleType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleType;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleType"
// $ANTLR start "ruleType"
// InternalSARL.g:186:1: ruleType returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? ) | ( () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}' ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}' ) | ( () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}' ) | ( () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}' ) | ( () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}' ) | ( () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}' ) | ( () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}' ) | ( () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}' ) | ( () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}' ) ) ) ;
public final EObject ruleType() throws RecognitionException {
EObject current = null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_10=null;
Token otherlv_13=null;
Token otherlv_15=null;
Token otherlv_17=null;
Token otherlv_19=null;
Token otherlv_21=null;
Token otherlv_24=null;
Token otherlv_26=null;
Token otherlv_28=null;
Token otherlv_30=null;
Token otherlv_33=null;
Token otherlv_35=null;
Token otherlv_37=null;
Token otherlv_39=null;
Token otherlv_42=null;
Token otherlv_45=null;
Token otherlv_47=null;
Token otherlv_49=null;
Token otherlv_51=null;
Token otherlv_53=null;
Token otherlv_56=null;
Token otherlv_58=null;
Token otherlv_59=null;
Token otherlv_62=null;
Token otherlv_64=null;
Token otherlv_65=null;
Token otherlv_68=null;
Token otherlv_70=null;
Token otherlv_72=null;
Token otherlv_74=null;
Token otherlv_76=null;
Token otherlv_78=null;
Token otherlv_80=null;
Token otherlv_82=null;
Token otherlv_84=null;
Token otherlv_87=null;
Token otherlv_89=null;
Token otherlv_91=null;
Token otherlv_93=null;
Token otherlv_94=null;
Token otherlv_96=null;
Token otherlv_98=null;
Token otherlv_100=null;
Token otherlv_103=null;
Token otherlv_105=null;
Token otherlv_107=null;
Token otherlv_109=null;
Token otherlv_110=null;
Token otherlv_113=null;
Token otherlv_115=null;
Token otherlv_117=null;
EObject lv_annotations_1_0 = null;
AntlrDatatypeRuleToken lv_modifiers_3_0 = null;
AntlrDatatypeRuleToken lv_name_5_0 = null;
EObject lv_extends_7_0 = null;
EObject lv_members_9_0 = null;
AntlrDatatypeRuleToken lv_modifiers_12_0 = null;
AntlrDatatypeRuleToken lv_name_14_0 = null;
EObject lv_extends_16_0 = null;
EObject lv_extends_18_0 = null;
EObject lv_members_20_0 = null;
AntlrDatatypeRuleToken lv_modifiers_23_0 = null;
AntlrDatatypeRuleToken lv_name_25_0 = null;
EObject lv_extends_27_0 = null;
EObject lv_members_29_0 = null;
AntlrDatatypeRuleToken lv_modifiers_32_0 = null;
AntlrDatatypeRuleToken lv_name_34_0 = null;
EObject lv_extends_36_0 = null;
EObject lv_members_38_0 = null;
AntlrDatatypeRuleToken lv_modifiers_41_0 = null;
AntlrDatatypeRuleToken lv_name_43_0 = null;
EObject lv_extends_46_0 = null;
EObject lv_implements_48_0 = null;
EObject lv_implements_50_0 = null;
EObject lv_members_52_0 = null;
AntlrDatatypeRuleToken lv_modifiers_55_0 = null;
AntlrDatatypeRuleToken lv_name_57_0 = null;
AntlrDatatypeRuleToken lv_modifiers_61_0 = null;
AntlrDatatypeRuleToken lv_name_63_0 = null;
AntlrDatatypeRuleToken lv_modifiers_67_0 = null;
AntlrDatatypeRuleToken lv_name_69_0 = null;
EObject lv_typeParameters_71_0 = null;
EObject lv_typeParameters_73_0 = null;
EObject lv_extends_77_0 = null;
EObject lv_implements_79_0 = null;
EObject lv_implements_81_0 = null;
EObject lv_members_83_0 = null;
AntlrDatatypeRuleToken lv_modifiers_86_0 = null;
AntlrDatatypeRuleToken lv_name_88_0 = null;
EObject lv_typeParameters_90_0 = null;
EObject lv_typeParameters_92_0 = null;
EObject lv_extends_95_0 = null;
EObject lv_extends_97_0 = null;
EObject lv_members_99_0 = null;
AntlrDatatypeRuleToken lv_modifiers_102_0 = null;
AntlrDatatypeRuleToken lv_name_104_0 = null;
EObject lv_members_106_0 = null;
EObject lv_members_108_0 = null;
AntlrDatatypeRuleToken lv_modifiers_112_0 = null;
AntlrDatatypeRuleToken lv_name_114_0 = null;
EObject lv_members_116_0 = null;
enterRule();
try {
// InternalSARL.g:192:2: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? ) | ( () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}' ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}' ) | ( () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}' ) | ( () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}' ) | ( () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}' ) | ( () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}' ) | ( () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}' ) | ( () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}' ) | ( () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}' ) ) ) )
// InternalSARL.g:193:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? ) | ( () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}' ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}' ) | ( () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}' ) | ( () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}' ) | ( () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}' ) | ( () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}' ) | ( () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}' ) | ( () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}' ) | ( () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}' ) ) )
{
// InternalSARL.g:193:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? ) | ( () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}' ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}' ) | ( () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}' ) | ( () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}' ) | ( () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}' ) | ( () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}' ) | ( () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}' ) | ( () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}' ) | ( () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}' ) ) )
// InternalSARL.g:194:3: () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? ) | ( () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}' ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}' ) | ( () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}' ) | ( () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}' ) | ( () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}' ) | ( () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}' ) | ( () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}' ) | ( () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}' ) | ( () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}' ) )
{
// InternalSARL.g:194:3: ()
// InternalSARL.g:195:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getTypeAccess().getXtendTypeDeclarationAction_0(),
current);
}
}
// InternalSARL.g:201:3: ( (lv_annotations_1_0= ruleXAnnotation ) )*
loop5:
do {
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==94) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// InternalSARL.g:202:4: (lv_annotations_1_0= ruleXAnnotation )
{
// InternalSARL.g:202:4: (lv_annotations_1_0= ruleXAnnotation )
// InternalSARL.g:203:5: lv_annotations_1_0= ruleXAnnotation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getAnnotationsXAnnotationParserRuleCall_1_0());
}
pushFollow(FOLLOW_7);
lv_annotations_1_0=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"annotations",
lv_annotations_1_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotation");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop5;
}
} while (true);
// InternalSARL.g:220:3: ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? ) | ( () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}' ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}' ) | ( () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}' ) | ( () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}' ) | ( () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}' ) | ( () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}' ) | ( () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}' ) | ( () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}' ) | ( () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}' ) )
int alt44=11;
alt44 = dfa44.predict(input);
switch (alt44) {
case 1 :
// InternalSARL.g:221:4: ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? )
{
// InternalSARL.g:221:4: ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? )
// InternalSARL.g:222:5: () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )?
{
// InternalSARL.g:222:5: ()
// InternalSARL.g:223:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getTypeAccess().getSarlEventAnnotationInfoAction_2_0_0(),
current);
}
}
// InternalSARL.g:229:5: ( (lv_modifiers_3_0= ruleCommonModifier ) )*
loop6:
do {
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==25||(LA6_0>=69 && LA6_0<=80)) ) {
alt6=1;
}
switch (alt6) {
case 1 :
// InternalSARL.g:230:6: (lv_modifiers_3_0= ruleCommonModifier )
{
// InternalSARL.g:230:6: (lv_modifiers_3_0= ruleCommonModifier )
// InternalSARL.g:231:7: lv_modifiers_3_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_0_1_0());
}
pushFollow(FOLLOW_8);
lv_modifiers_3_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"modifiers",
lv_modifiers_3_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop6;
}
} while (true);
otherlv_4=(Token)match(input,27,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getTypeAccess().getEventKeyword_2_0_2());
}
// InternalSARL.g:252:5: ( (lv_name_5_0= ruleValidID ) )
// InternalSARL.g:253:6: (lv_name_5_0= ruleValidID )
{
// InternalSARL.g:253:6: (lv_name_5_0= ruleValidID )
// InternalSARL.g:254:7: lv_name_5_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_0_3_0());
}
pushFollow(FOLLOW_9);
lv_name_5_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
set(
current,
"name",
lv_name_5_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:271:5: (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )?
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==28) ) {
alt7=1;
}
switch (alt7) {
case 1 :
// InternalSARL.g:272:6: otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_6=(Token)match(input,28,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getTypeAccess().getExtendsKeyword_2_0_4_0());
}
// InternalSARL.g:276:6: ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:277:7: (lv_extends_7_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:277:7: (lv_extends_7_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:278:8: lv_extends_7_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_0_4_1_0());
}
pushFollow(FOLLOW_10);
lv_extends_7_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
set(
current,
"extends",
lv_extends_7_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalSARL.g:296:5: (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )?
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==29) ) {
alt9=1;
}
switch (alt9) {
case 1 :
// InternalSARL.g:297:6: otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}'
{
otherlv_8=(Token)match(input,29,FOLLOW_11); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_0_5_0());
}
// InternalSARL.g:301:6: ( (lv_members_9_0= ruleEventMember ) )*
loop8:
do {
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==25||LA8_0==45||LA8_0==48||(LA8_0>=61 && LA8_0<=62)||(LA8_0>=69 && LA8_0<=80)||LA8_0==94) ) {
alt8=1;
}
switch (alt8) {
case 1 :
// InternalSARL.g:302:7: (lv_members_9_0= ruleEventMember )
{
// InternalSARL.g:302:7: (lv_members_9_0= ruleEventMember )
// InternalSARL.g:303:8: lv_members_9_0= ruleEventMember
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getMembersEventMemberParserRuleCall_2_0_5_1_0());
}
pushFollow(FOLLOW_11);
lv_members_9_0=ruleEventMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"members",
lv_members_9_0,
"io.sarl.lang.SARL.EventMember");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop8;
}
} while (true);
otherlv_10=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_0_5_2());
}
}
break;
}
}
}
break;
case 2 :
// InternalSARL.g:327:4: ( () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}' )
{
// InternalSARL.g:327:4: ( () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}' )
// InternalSARL.g:328:5: () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}'
{
// InternalSARL.g:328:5: ()
// InternalSARL.g:329:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getTypeAccess().getSarlCapacityAnnotationInfoAction_2_1_0(),
current);
}
}
// InternalSARL.g:335:5: ( (lv_modifiers_12_0= ruleCommonModifier ) )*
loop10:
do {
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==25||(LA10_0>=69 && LA10_0<=80)) ) {
alt10=1;
}
switch (alt10) {
case 1 :
// InternalSARL.g:336:6: (lv_modifiers_12_0= ruleCommonModifier )
{
// InternalSARL.g:336:6: (lv_modifiers_12_0= ruleCommonModifier )
// InternalSARL.g:337:7: lv_modifiers_12_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_1_1_0());
}
pushFollow(FOLLOW_12);
lv_modifiers_12_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"modifiers",
lv_modifiers_12_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop10;
}
} while (true);
otherlv_13=(Token)match(input,31,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getTypeAccess().getCapacityKeyword_2_1_2());
}
// InternalSARL.g:358:5: ( (lv_name_14_0= ruleValidID ) )
// InternalSARL.g:359:6: (lv_name_14_0= ruleValidID )
{
// InternalSARL.g:359:6: (lv_name_14_0= ruleValidID )
// InternalSARL.g:360:7: lv_name_14_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_1_3_0());
}
pushFollow(FOLLOW_13);
lv_name_14_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
set(
current,
"name",
lv_name_14_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:377:5: (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )?
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==28) ) {
alt12=1;
}
switch (alt12) {
case 1 :
// InternalSARL.g:378:6: otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )*
{
otherlv_15=(Token)match(input,28,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_15, grammarAccess.getTypeAccess().getExtendsKeyword_2_1_4_0());
}
// InternalSARL.g:382:6: ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:383:7: (lv_extends_16_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:383:7: (lv_extends_16_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:384:8: lv_extends_16_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_1_4_1_0());
}
pushFollow(FOLLOW_14);
lv_extends_16_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"extends",
lv_extends_16_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:401:6: (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )*
loop11:
do {
int alt11=2;
int LA11_0 = input.LA(1);
if ( (LA11_0==32) ) {
alt11=1;
}
switch (alt11) {
case 1 :
// InternalSARL.g:402:7: otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_17=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_17, grammarAccess.getTypeAccess().getCommaKeyword_2_1_4_2_0());
}
// InternalSARL.g:406:7: ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:407:8: (lv_extends_18_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:407:8: (lv_extends_18_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:408:9: lv_extends_18_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_1_4_2_1_0());
}
pushFollow(FOLLOW_14);
lv_extends_18_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"extends",
lv_extends_18_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop11;
}
} while (true);
}
break;
}
otherlv_19=(Token)match(input,29,FOLLOW_15); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_19, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_1_5());
}
// InternalSARL.g:431:5: ( (lv_members_20_0= ruleCapacityMember ) )*
loop13:
do {
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==25||(LA13_0>=69 && LA13_0<=82)||LA13_0==94) ) {
alt13=1;
}
switch (alt13) {
case 1 :
// InternalSARL.g:432:6: (lv_members_20_0= ruleCapacityMember )
{
// InternalSARL.g:432:6: (lv_members_20_0= ruleCapacityMember )
// InternalSARL.g:433:7: lv_members_20_0= ruleCapacityMember
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getMembersCapacityMemberParserRuleCall_2_1_6_0());
}
pushFollow(FOLLOW_15);
lv_members_20_0=ruleCapacityMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"members",
lv_members_20_0,
"io.sarl.lang.SARL.CapacityMember");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop13;
}
} while (true);
otherlv_21=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_21, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_1_7());
}
}
}
break;
case 3 :
// InternalSARL.g:456:4: ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}' )
{
// InternalSARL.g:456:4: ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}' )
// InternalSARL.g:457:5: () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}'
{
// InternalSARL.g:457:5: ()
// InternalSARL.g:458:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getTypeAccess().getSarlAgentAnnotationInfoAction_2_2_0(),
current);
}
}
// InternalSARL.g:464:5: ( (lv_modifiers_23_0= ruleCommonModifier ) )*
loop14:
do {
int alt14=2;
int LA14_0 = input.LA(1);
if ( (LA14_0==25||(LA14_0>=69 && LA14_0<=80)) ) {
alt14=1;
}
switch (alt14) {
case 1 :
// InternalSARL.g:465:6: (lv_modifiers_23_0= ruleCommonModifier )
{
// InternalSARL.g:465:6: (lv_modifiers_23_0= ruleCommonModifier )
// InternalSARL.g:466:7: lv_modifiers_23_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_2_1_0());
}
pushFollow(FOLLOW_16);
lv_modifiers_23_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"modifiers",
lv_modifiers_23_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop14;
}
} while (true);
otherlv_24=(Token)match(input,33,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_24, grammarAccess.getTypeAccess().getAgentKeyword_2_2_2());
}
// InternalSARL.g:487:5: ( (lv_name_25_0= ruleValidID ) )
// InternalSARL.g:488:6: (lv_name_25_0= ruleValidID )
{
// InternalSARL.g:488:6: (lv_name_25_0= ruleValidID )
// InternalSARL.g:489:7: lv_name_25_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_2_3_0());
}
pushFollow(FOLLOW_13);
lv_name_25_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
set(
current,
"name",
lv_name_25_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:506:5: (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )?
int alt15=2;
int LA15_0 = input.LA(1);
if ( (LA15_0==28) ) {
alt15=1;
}
switch (alt15) {
case 1 :
// InternalSARL.g:507:6: otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_26=(Token)match(input,28,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_26, grammarAccess.getTypeAccess().getExtendsKeyword_2_2_4_0());
}
// InternalSARL.g:511:6: ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:512:7: (lv_extends_27_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:512:7: (lv_extends_27_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:513:8: lv_extends_27_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_2_4_1_0());
}
pushFollow(FOLLOW_17);
lv_extends_27_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
set(
current,
"extends",
lv_extends_27_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_28=(Token)match(input,29,FOLLOW_18); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_28, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_2_5());
}
// InternalSARL.g:535:5: ( (lv_members_29_0= ruleAOPMember ) )*
loop16:
do {
int alt16=2;
int LA16_0 = input.LA(1);
if ( (LA16_0==25||LA16_0==39||(LA16_0>=42 && LA16_0<=45)||LA16_0==48||LA16_0==54||(LA16_0>=57 && LA16_0<=58)||(LA16_0>=61 && LA16_0<=62)||(LA16_0>=69 && LA16_0<=82)||LA16_0==94) ) {
alt16=1;
}
switch (alt16) {
case 1 :
// InternalSARL.g:536:6: (lv_members_29_0= ruleAOPMember )
{
// InternalSARL.g:536:6: (lv_members_29_0= ruleAOPMember )
// InternalSARL.g:537:7: lv_members_29_0= ruleAOPMember
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getMembersAOPMemberParserRuleCall_2_2_6_0());
}
pushFollow(FOLLOW_18);
lv_members_29_0=ruleAOPMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"members",
lv_members_29_0,
"io.sarl.lang.SARL.AOPMember");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop16;
}
} while (true);
otherlv_30=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_30, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_2_7());
}
}
}
break;
case 4 :
// InternalSARL.g:560:4: ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}' )
{
// InternalSARL.g:560:4: ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}' )
// InternalSARL.g:561:5: () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}'
{
// InternalSARL.g:561:5: ()
// InternalSARL.g:562:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getTypeAccess().getSarlBehaviorAnnotationInfoAction_2_3_0(),
current);
}
}
// InternalSARL.g:568:5: ( (lv_modifiers_32_0= ruleCommonModifier ) )*
loop17:
do {
int alt17=2;
int LA17_0 = input.LA(1);
if ( (LA17_0==25||(LA17_0>=69 && LA17_0<=80)) ) {
alt17=1;
}
switch (alt17) {
case 1 :
// InternalSARL.g:569:6: (lv_modifiers_32_0= ruleCommonModifier )
{
// InternalSARL.g:569:6: (lv_modifiers_32_0= ruleCommonModifier )
// InternalSARL.g:570:7: lv_modifiers_32_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_3_1_0());
}
pushFollow(FOLLOW_19);
lv_modifiers_32_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"modifiers",
lv_modifiers_32_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop17;
}
} while (true);
otherlv_33=(Token)match(input,34,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_33, grammarAccess.getTypeAccess().getBehaviorKeyword_2_3_2());
}
// InternalSARL.g:591:5: ( (lv_name_34_0= ruleValidID ) )
// InternalSARL.g:592:6: (lv_name_34_0= ruleValidID )
{
// InternalSARL.g:592:6: (lv_name_34_0= ruleValidID )
// InternalSARL.g:593:7: lv_name_34_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_3_3_0());
}
pushFollow(FOLLOW_13);
lv_name_34_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
set(
current,
"name",
lv_name_34_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:610:5: (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )?
int alt18=2;
int LA18_0 = input.LA(1);
if ( (LA18_0==28) ) {
alt18=1;
}
switch (alt18) {
case 1 :
// InternalSARL.g:611:6: otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_35=(Token)match(input,28,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_35, grammarAccess.getTypeAccess().getExtendsKeyword_2_3_4_0());
}
// InternalSARL.g:615:6: ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:616:7: (lv_extends_36_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:616:7: (lv_extends_36_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:617:8: lv_extends_36_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_3_4_1_0());
}
pushFollow(FOLLOW_17);
lv_extends_36_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
set(
current,
"extends",
lv_extends_36_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_37=(Token)match(input,29,FOLLOW_18); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_37, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_3_5());
}
// InternalSARL.g:639:5: ( (lv_members_38_0= ruleAOPMember ) )*
loop19:
do {
int alt19=2;
int LA19_0 = input.LA(1);
if ( (LA19_0==25||LA19_0==39||(LA19_0>=42 && LA19_0<=45)||LA19_0==48||LA19_0==54||(LA19_0>=57 && LA19_0<=58)||(LA19_0>=61 && LA19_0<=62)||(LA19_0>=69 && LA19_0<=82)||LA19_0==94) ) {
alt19=1;
}
switch (alt19) {
case 1 :
// InternalSARL.g:640:6: (lv_members_38_0= ruleAOPMember )
{
// InternalSARL.g:640:6: (lv_members_38_0= ruleAOPMember )
// InternalSARL.g:641:7: lv_members_38_0= ruleAOPMember
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getMembersAOPMemberParserRuleCall_2_3_6_0());
}
pushFollow(FOLLOW_18);
lv_members_38_0=ruleAOPMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"members",
lv_members_38_0,
"io.sarl.lang.SARL.AOPMember");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop19;
}
} while (true);
otherlv_39=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_39, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_3_7());
}
}
}
break;
case 5 :
// InternalSARL.g:664:4: ( () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}' )
{
// InternalSARL.g:664:4: ( () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}' )
// InternalSARL.g:665:5: () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}'
{
// InternalSARL.g:665:5: ()
// InternalSARL.g:666:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getTypeAccess().getSarlSkillAnnotationInfoAction_2_4_0(),
current);
}
}
// InternalSARL.g:672:5: ( (lv_modifiers_41_0= ruleCommonModifier ) )*
loop20:
do {
int alt20=2;
int LA20_0 = input.LA(1);
if ( (LA20_0==25||(LA20_0>=69 && LA20_0<=80)) ) {
alt20=1;
}
switch (alt20) {
case 1 :
// InternalSARL.g:673:6: (lv_modifiers_41_0= ruleCommonModifier )
{
// InternalSARL.g:673:6: (lv_modifiers_41_0= ruleCommonModifier )
// InternalSARL.g:674:7: lv_modifiers_41_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_4_1_0());
}
pushFollow(FOLLOW_20);
lv_modifiers_41_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"modifiers",
lv_modifiers_41_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop20;
}
} while (true);
otherlv_42=(Token)match(input,35,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_42, grammarAccess.getTypeAccess().getSkillKeyword_2_4_2());
}
// InternalSARL.g:695:5: ( (lv_name_43_0= ruleValidID ) )
// InternalSARL.g:696:6: (lv_name_43_0= ruleValidID )
{
// InternalSARL.g:696:6: (lv_name_43_0= ruleValidID )
// InternalSARL.g:697:7: lv_name_43_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_4_3_0());
}
pushFollow(FOLLOW_21);
lv_name_43_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
set(
current,
"name",
lv_name_43_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:714:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) )
// InternalSARL.g:715:6: ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) )
{
// InternalSARL.g:715:6: ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) )
// InternalSARL.g:716:7: ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4());
// InternalSARL.g:719:7: ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* )
// InternalSARL.g:720:8: ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )*
{
// InternalSARL.g:720:8: ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )*
loop22:
do {
int alt22=3;
int LA22_0 = input.LA(1);
if ( LA22_0 == 28 && getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4(), 0) ) {
alt22=1;
}
else if ( LA22_0 == 36 && getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4(), 1) ) {
alt22=2;
}
switch (alt22) {
case 1 :
// InternalSARL.g:721:6: ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) )
{
// InternalSARL.g:721:6: ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) )
// InternalSARL.g:722:7: {...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleType", "getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4(), 0)");
}
// InternalSARL.g:722:107: ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) )
// InternalSARL.g:723:8: ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4(), 0);
// InternalSARL.g:726:11: ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) )
// InternalSARL.g:726:12: {...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleType", "true");
}
// InternalSARL.g:726:21: (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) )
// InternalSARL.g:726:22: otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_45=(Token)match(input,28,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_45, grammarAccess.getTypeAccess().getExtendsKeyword_2_4_4_0_0());
}
// InternalSARL.g:730:11: ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:731:12: (lv_extends_46_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:731:12: (lv_extends_46_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:732:13: lv_extends_46_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_4_4_0_1_0());
}
pushFollow(FOLLOW_21);
lv_extends_46_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
set(
current,
"extends",
lv_extends_46_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4());
}
}
}
break;
case 2 :
// InternalSARL.g:755:6: ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) )
{
// InternalSARL.g:755:6: ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) )
// InternalSARL.g:756:7: {...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleType", "getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4(), 1)");
}
// InternalSARL.g:756:107: ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) )
// InternalSARL.g:757:8: ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4(), 1);
// InternalSARL.g:760:11: ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) )
// InternalSARL.g:760:12: {...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleType", "true");
}
// InternalSARL.g:760:21: (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* )
// InternalSARL.g:760:22: otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )*
{
otherlv_47=(Token)match(input,36,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_47, grammarAccess.getTypeAccess().getImplementsKeyword_2_4_4_1_0());
}
// InternalSARL.g:764:11: ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:765:12: (lv_implements_48_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:765:12: (lv_implements_48_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:766:13: lv_implements_48_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_4_4_1_1_0());
}
pushFollow(FOLLOW_22);
lv_implements_48_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"implements",
lv_implements_48_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:783:11: (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )*
loop21:
do {
int alt21=2;
int LA21_0 = input.LA(1);
if ( (LA21_0==32) ) {
alt21=1;
}
switch (alt21) {
case 1 :
// InternalSARL.g:784:12: otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_49=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_49, grammarAccess.getTypeAccess().getCommaKeyword_2_4_4_1_2_0());
}
// InternalSARL.g:788:12: ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:789:13: (lv_implements_50_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:789:13: (lv_implements_50_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:790:14: lv_implements_50_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_4_4_1_2_1_0());
}
pushFollow(FOLLOW_22);
lv_implements_50_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"implements",
lv_implements_50_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop21;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4());
}
}
}
break;
default :
break loop22;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4());
}
otherlv_51=(Token)match(input,29,FOLLOW_18); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_51, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_4_5());
}
// InternalSARL.g:825:5: ( (lv_members_52_0= ruleAOPMember ) )*
loop23:
do {
int alt23=2;
int LA23_0 = input.LA(1);
if ( (LA23_0==25||LA23_0==39||(LA23_0>=42 && LA23_0<=45)||LA23_0==48||LA23_0==54||(LA23_0>=57 && LA23_0<=58)||(LA23_0>=61 && LA23_0<=62)||(LA23_0>=69 && LA23_0<=82)||LA23_0==94) ) {
alt23=1;
}
switch (alt23) {
case 1 :
// InternalSARL.g:826:6: (lv_members_52_0= ruleAOPMember )
{
// InternalSARL.g:826:6: (lv_members_52_0= ruleAOPMember )
// InternalSARL.g:827:7: lv_members_52_0= ruleAOPMember
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getMembersAOPMemberParserRuleCall_2_4_6_0());
}
pushFollow(FOLLOW_18);
lv_members_52_0=ruleAOPMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"members",
lv_members_52_0,
"io.sarl.lang.SARL.AOPMember");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop23;
}
} while (true);
otherlv_53=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_53, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_4_7());
}
}
}
break;
case 6 :
// InternalSARL.g:850:4: ( () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}' )
{
// InternalSARL.g:850:4: ( () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}' )
// InternalSARL.g:851:5: () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}'
{
// InternalSARL.g:851:5: ()
// InternalSARL.g:852:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getTypeAccess().getSarlSpaceAnnotationInfoAction_2_5_0(),
current);
}
}
// InternalSARL.g:858:5: ( (lv_modifiers_55_0= ruleCommonModifier ) )*
loop24:
do {
int alt24=2;
int LA24_0 = input.LA(1);
if ( (LA24_0==25||(LA24_0>=69 && LA24_0<=80)) ) {
alt24=1;
}
switch (alt24) {
case 1 :
// InternalSARL.g:859:6: (lv_modifiers_55_0= ruleCommonModifier )
{
// InternalSARL.g:859:6: (lv_modifiers_55_0= ruleCommonModifier )
// InternalSARL.g:860:7: lv_modifiers_55_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_5_1_0());
}
pushFollow(FOLLOW_23);
lv_modifiers_55_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"modifiers",
lv_modifiers_55_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop24;
}
} while (true);
otherlv_56=(Token)match(input,37,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_56, grammarAccess.getTypeAccess().getSpaceKeyword_2_5_2());
}
// InternalSARL.g:881:5: ( (lv_name_57_0= ruleValidID ) )
// InternalSARL.g:882:6: (lv_name_57_0= ruleValidID )
{
// InternalSARL.g:882:6: (lv_name_57_0= ruleValidID )
// InternalSARL.g:883:7: lv_name_57_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_5_3_0());
}
pushFollow(FOLLOW_17);
lv_name_57_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
set(
current,
"name",
lv_name_57_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_58=(Token)match(input,29,FOLLOW_24); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_58, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_5_4());
}
otherlv_59=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_59, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_5_5());
}
}
}
break;
case 7 :
// InternalSARL.g:910:4: ( () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}' )
{
// InternalSARL.g:910:4: ( () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}' )
// InternalSARL.g:911:5: () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}'
{
// InternalSARL.g:911:5: ()
// InternalSARL.g:912:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getTypeAccess().getSarlArtifactAnnotationInfoAction_2_6_0(),
current);
}
}
// InternalSARL.g:918:5: ( (lv_modifiers_61_0= ruleCommonModifier ) )*
loop25:
do {
int alt25=2;
int LA25_0 = input.LA(1);
if ( (LA25_0==25||(LA25_0>=69 && LA25_0<=80)) ) {
alt25=1;
}
switch (alt25) {
case 1 :
// InternalSARL.g:919:6: (lv_modifiers_61_0= ruleCommonModifier )
{
// InternalSARL.g:919:6: (lv_modifiers_61_0= ruleCommonModifier )
// InternalSARL.g:920:7: lv_modifiers_61_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_6_1_0());
}
pushFollow(FOLLOW_25);
lv_modifiers_61_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"modifiers",
lv_modifiers_61_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop25;
}
} while (true);
otherlv_62=(Token)match(input,38,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_62, grammarAccess.getTypeAccess().getArtifactKeyword_2_6_2());
}
// InternalSARL.g:941:5: ( (lv_name_63_0= ruleValidID ) )
// InternalSARL.g:942:6: (lv_name_63_0= ruleValidID )
{
// InternalSARL.g:942:6: (lv_name_63_0= ruleValidID )
// InternalSARL.g:943:7: lv_name_63_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_6_3_0());
}
pushFollow(FOLLOW_17);
lv_name_63_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
set(
current,
"name",
lv_name_63_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_64=(Token)match(input,29,FOLLOW_24); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_64, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_6_4());
}
otherlv_65=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_65, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_6_5());
}
}
}
break;
case 8 :
// InternalSARL.g:970:4: ( () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}' )
{
// InternalSARL.g:970:4: ( () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}' )
// InternalSARL.g:971:5: () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}'
{
// InternalSARL.g:971:5: ()
// InternalSARL.g:972:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getTypeAccess().getSarlClassAnnotationInfoAction_2_7_0(),
current);
}
}
// InternalSARL.g:978:5: ( (lv_modifiers_67_0= ruleCommonModifier ) )*
loop26:
do {
int alt26=2;
int LA26_0 = input.LA(1);
if ( (LA26_0==25||(LA26_0>=69 && LA26_0<=80)) ) {
alt26=1;
}
switch (alt26) {
case 1 :
// InternalSARL.g:979:6: (lv_modifiers_67_0= ruleCommonModifier )
{
// InternalSARL.g:979:6: (lv_modifiers_67_0= ruleCommonModifier )
// InternalSARL.g:980:7: lv_modifiers_67_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_7_1_0());
}
pushFollow(FOLLOW_26);
lv_modifiers_67_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"modifiers",
lv_modifiers_67_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop26;
}
} while (true);
otherlv_68=(Token)match(input,39,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_68, grammarAccess.getTypeAccess().getClassKeyword_2_7_2());
}
// InternalSARL.g:1001:5: ( (lv_name_69_0= ruleValidID ) )
// InternalSARL.g:1002:6: (lv_name_69_0= ruleValidID )
{
// InternalSARL.g:1002:6: (lv_name_69_0= ruleValidID )
// InternalSARL.g:1003:7: lv_name_69_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_7_3_0());
}
pushFollow(FOLLOW_27);
lv_name_69_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
set(
current,
"name",
lv_name_69_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:1020:5: (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )?
int alt28=2;
int LA28_0 = input.LA(1);
if ( (LA28_0==40) ) {
alt28=1;
}
switch (alt28) {
case 1 :
// InternalSARL.g:1021:6: otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>'
{
otherlv_70=(Token)match(input,40,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_70, grammarAccess.getTypeAccess().getLessThanSignKeyword_2_7_4_0());
}
// InternalSARL.g:1025:6: ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) )
// InternalSARL.g:1026:7: (lv_typeParameters_71_0= ruleJvmTypeParameter )
{
// InternalSARL.g:1026:7: (lv_typeParameters_71_0= ruleJvmTypeParameter )
// InternalSARL.g:1027:8: lv_typeParameters_71_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_7_4_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_71_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"typeParameters",
lv_typeParameters_71_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:1044:6: (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )*
loop27:
do {
int alt27=2;
int LA27_0 = input.LA(1);
if ( (LA27_0==32) ) {
alt27=1;
}
switch (alt27) {
case 1 :
// InternalSARL.g:1045:7: otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) )
{
otherlv_72=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_72, grammarAccess.getTypeAccess().getCommaKeyword_2_7_4_2_0());
}
// InternalSARL.g:1049:7: ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) )
// InternalSARL.g:1050:8: (lv_typeParameters_73_0= ruleJvmTypeParameter )
{
// InternalSARL.g:1050:8: (lv_typeParameters_73_0= ruleJvmTypeParameter )
// InternalSARL.g:1051:9: lv_typeParameters_73_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_7_4_2_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_73_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"typeParameters",
lv_typeParameters_73_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop27;
}
} while (true);
otherlv_74=(Token)match(input,41,FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_74, grammarAccess.getTypeAccess().getGreaterThanSignKeyword_2_7_4_3());
}
}
break;
}
// InternalSARL.g:1074:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) )
// InternalSARL.g:1075:6: ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) )
{
// InternalSARL.g:1075:6: ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) )
// InternalSARL.g:1076:7: ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5());
// InternalSARL.g:1079:7: ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* )
// InternalSARL.g:1080:8: ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )*
{
// InternalSARL.g:1080:8: ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )*
loop30:
do {
int alt30=3;
int LA30_0 = input.LA(1);
if ( LA30_0 == 28 && getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5(), 0) ) {
alt30=1;
}
else if ( LA30_0 == 36 && getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5(), 1) ) {
alt30=2;
}
switch (alt30) {
case 1 :
// InternalSARL.g:1081:6: ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) )
{
// InternalSARL.g:1081:6: ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) )
// InternalSARL.g:1082:7: {...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleType", "getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5(), 0)");
}
// InternalSARL.g:1082:107: ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) )
// InternalSARL.g:1083:8: ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5(), 0);
// InternalSARL.g:1086:11: ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) )
// InternalSARL.g:1086:12: {...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleType", "true");
}
// InternalSARL.g:1086:21: (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) )
// InternalSARL.g:1086:22: otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_76=(Token)match(input,28,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_76, grammarAccess.getTypeAccess().getExtendsKeyword_2_7_5_0_0());
}
// InternalSARL.g:1090:11: ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:1091:12: (lv_extends_77_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:1091:12: (lv_extends_77_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:1092:13: lv_extends_77_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_7_5_0_1_0());
}
pushFollow(FOLLOW_21);
lv_extends_77_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
set(
current,
"extends",
lv_extends_77_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5());
}
}
}
break;
case 2 :
// InternalSARL.g:1115:6: ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) )
{
// InternalSARL.g:1115:6: ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) )
// InternalSARL.g:1116:7: {...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleType", "getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5(), 1)");
}
// InternalSARL.g:1116:107: ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) )
// InternalSARL.g:1117:8: ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5(), 1);
// InternalSARL.g:1120:11: ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) )
// InternalSARL.g:1120:12: {...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleType", "true");
}
// InternalSARL.g:1120:21: (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* )
// InternalSARL.g:1120:22: otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )*
{
otherlv_78=(Token)match(input,36,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_78, grammarAccess.getTypeAccess().getImplementsKeyword_2_7_5_1_0());
}
// InternalSARL.g:1124:11: ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:1125:12: (lv_implements_79_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:1125:12: (lv_implements_79_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:1126:13: lv_implements_79_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_7_5_1_1_0());
}
pushFollow(FOLLOW_22);
lv_implements_79_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"implements",
lv_implements_79_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:1143:11: (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )*
loop29:
do {
int alt29=2;
int LA29_0 = input.LA(1);
if ( (LA29_0==32) ) {
alt29=1;
}
switch (alt29) {
case 1 :
// InternalSARL.g:1144:12: otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_80=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_80, grammarAccess.getTypeAccess().getCommaKeyword_2_7_5_1_2_0());
}
// InternalSARL.g:1148:12: ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:1149:13: (lv_implements_81_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:1149:13: (lv_implements_81_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:1150:14: lv_implements_81_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_7_5_1_2_1_0());
}
pushFollow(FOLLOW_22);
lv_implements_81_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"implements",
lv_implements_81_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop29;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5());
}
}
}
break;
default :
break loop30;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5());
}
otherlv_82=(Token)match(input,29,FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_82, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_7_6());
}
// InternalSARL.g:1185:5: ( (lv_members_83_0= ruleMember ) )*
loop31:
do {
int alt31=2;
int LA31_0 = input.LA(1);
if ( (LA31_0==25||LA31_0==39||(LA31_0>=42 && LA31_0<=45)||LA31_0==48||(LA31_0>=61 && LA31_0<=62)||(LA31_0>=69 && LA31_0<=82)||LA31_0==94) ) {
alt31=1;
}
switch (alt31) {
case 1 :
// InternalSARL.g:1186:6: (lv_members_83_0= ruleMember )
{
// InternalSARL.g:1186:6: (lv_members_83_0= ruleMember )
// InternalSARL.g:1187:7: lv_members_83_0= ruleMember
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getMembersMemberParserRuleCall_2_7_7_0());
}
pushFollow(FOLLOW_29);
lv_members_83_0=ruleMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"members",
lv_members_83_0,
"io.sarl.lang.SARL.Member");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop31;
}
} while (true);
otherlv_84=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_84, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_7_8());
}
}
}
break;
case 9 :
// InternalSARL.g:1210:4: ( () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}' )
{
// InternalSARL.g:1210:4: ( () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}' )
// InternalSARL.g:1211:5: () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}'
{
// InternalSARL.g:1211:5: ()
// InternalSARL.g:1212:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getTypeAccess().getSarlInterfaceAnnotationInfoAction_2_8_0(),
current);
}
}
// InternalSARL.g:1218:5: ( (lv_modifiers_86_0= ruleCommonModifier ) )*
loop32:
do {
int alt32=2;
int LA32_0 = input.LA(1);
if ( (LA32_0==25||(LA32_0>=69 && LA32_0<=80)) ) {
alt32=1;
}
switch (alt32) {
case 1 :
// InternalSARL.g:1219:6: (lv_modifiers_86_0= ruleCommonModifier )
{
// InternalSARL.g:1219:6: (lv_modifiers_86_0= ruleCommonModifier )
// InternalSARL.g:1220:7: lv_modifiers_86_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_8_1_0());
}
pushFollow(FOLLOW_30);
lv_modifiers_86_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"modifiers",
lv_modifiers_86_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop32;
}
} while (true);
otherlv_87=(Token)match(input,42,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_87, grammarAccess.getTypeAccess().getInterfaceKeyword_2_8_2());
}
// InternalSARL.g:1241:5: ( (lv_name_88_0= ruleValidID ) )
// InternalSARL.g:1242:6: (lv_name_88_0= ruleValidID )
{
// InternalSARL.g:1242:6: (lv_name_88_0= ruleValidID )
// InternalSARL.g:1243:7: lv_name_88_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_8_3_0());
}
pushFollow(FOLLOW_31);
lv_name_88_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
set(
current,
"name",
lv_name_88_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:1260:5: (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )?
int alt34=2;
int LA34_0 = input.LA(1);
if ( (LA34_0==40) ) {
alt34=1;
}
switch (alt34) {
case 1 :
// InternalSARL.g:1261:6: otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>'
{
otherlv_89=(Token)match(input,40,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_89, grammarAccess.getTypeAccess().getLessThanSignKeyword_2_8_4_0());
}
// InternalSARL.g:1265:6: ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) )
// InternalSARL.g:1266:7: (lv_typeParameters_90_0= ruleJvmTypeParameter )
{
// InternalSARL.g:1266:7: (lv_typeParameters_90_0= ruleJvmTypeParameter )
// InternalSARL.g:1267:8: lv_typeParameters_90_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_8_4_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_90_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"typeParameters",
lv_typeParameters_90_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:1284:6: (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )*
loop33:
do {
int alt33=2;
int LA33_0 = input.LA(1);
if ( (LA33_0==32) ) {
alt33=1;
}
switch (alt33) {
case 1 :
// InternalSARL.g:1285:7: otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) )
{
otherlv_91=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_91, grammarAccess.getTypeAccess().getCommaKeyword_2_8_4_2_0());
}
// InternalSARL.g:1289:7: ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) )
// InternalSARL.g:1290:8: (lv_typeParameters_92_0= ruleJvmTypeParameter )
{
// InternalSARL.g:1290:8: (lv_typeParameters_92_0= ruleJvmTypeParameter )
// InternalSARL.g:1291:9: lv_typeParameters_92_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_8_4_2_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_92_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"typeParameters",
lv_typeParameters_92_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop33;
}
} while (true);
otherlv_93=(Token)match(input,41,FOLLOW_13); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_93, grammarAccess.getTypeAccess().getGreaterThanSignKeyword_2_8_4_3());
}
}
break;
}
// InternalSARL.g:1314:5: (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )?
int alt36=2;
int LA36_0 = input.LA(1);
if ( (LA36_0==28) ) {
alt36=1;
}
switch (alt36) {
case 1 :
// InternalSARL.g:1315:6: otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )*
{
otherlv_94=(Token)match(input,28,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_94, grammarAccess.getTypeAccess().getExtendsKeyword_2_8_5_0());
}
// InternalSARL.g:1319:6: ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:1320:7: (lv_extends_95_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:1320:7: (lv_extends_95_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:1321:8: lv_extends_95_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_8_5_1_0());
}
pushFollow(FOLLOW_14);
lv_extends_95_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"extends",
lv_extends_95_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:1338:6: (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )*
loop35:
do {
int alt35=2;
int LA35_0 = input.LA(1);
if ( (LA35_0==32) ) {
alt35=1;
}
switch (alt35) {
case 1 :
// InternalSARL.g:1339:7: otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_96=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_96, grammarAccess.getTypeAccess().getCommaKeyword_2_8_5_2_0());
}
// InternalSARL.g:1343:7: ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:1344:8: (lv_extends_97_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:1344:8: (lv_extends_97_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:1345:9: lv_extends_97_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_8_5_2_1_0());
}
pushFollow(FOLLOW_14);
lv_extends_97_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"extends",
lv_extends_97_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop35;
}
} while (true);
}
break;
}
otherlv_98=(Token)match(input,29,FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_98, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_8_6());
}
// InternalSARL.g:1368:5: ( (lv_members_99_0= ruleMember ) )*
loop37:
do {
int alt37=2;
int LA37_0 = input.LA(1);
if ( (LA37_0==25||LA37_0==39||(LA37_0>=42 && LA37_0<=45)||LA37_0==48||(LA37_0>=61 && LA37_0<=62)||(LA37_0>=69 && LA37_0<=82)||LA37_0==94) ) {
alt37=1;
}
switch (alt37) {
case 1 :
// InternalSARL.g:1369:6: (lv_members_99_0= ruleMember )
{
// InternalSARL.g:1369:6: (lv_members_99_0= ruleMember )
// InternalSARL.g:1370:7: lv_members_99_0= ruleMember
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getMembersMemberParserRuleCall_2_8_7_0());
}
pushFollow(FOLLOW_29);
lv_members_99_0=ruleMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"members",
lv_members_99_0,
"io.sarl.lang.SARL.Member");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop37;
}
} while (true);
otherlv_100=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_100, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_8_8());
}
}
}
break;
case 10 :
// InternalSARL.g:1393:4: ( () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}' )
{
// InternalSARL.g:1393:4: ( () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}' )
// InternalSARL.g:1394:5: () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}'
{
// InternalSARL.g:1394:5: ()
// InternalSARL.g:1395:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getTypeAccess().getSarlEnumerationAnnotationInfoAction_2_9_0(),
current);
}
}
// InternalSARL.g:1401:5: ( (lv_modifiers_102_0= ruleCommonModifier ) )*
loop38:
do {
int alt38=2;
int LA38_0 = input.LA(1);
if ( (LA38_0==25||(LA38_0>=69 && LA38_0<=80)) ) {
alt38=1;
}
switch (alt38) {
case 1 :
// InternalSARL.g:1402:6: (lv_modifiers_102_0= ruleCommonModifier )
{
// InternalSARL.g:1402:6: (lv_modifiers_102_0= ruleCommonModifier )
// InternalSARL.g:1403:7: lv_modifiers_102_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_9_1_0());
}
pushFollow(FOLLOW_32);
lv_modifiers_102_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"modifiers",
lv_modifiers_102_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop38;
}
} while (true);
otherlv_103=(Token)match(input,43,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_103, grammarAccess.getTypeAccess().getEnumKeyword_2_9_2());
}
// InternalSARL.g:1424:5: ( (lv_name_104_0= ruleValidID ) )
// InternalSARL.g:1425:6: (lv_name_104_0= ruleValidID )
{
// InternalSARL.g:1425:6: (lv_name_104_0= ruleValidID )
// InternalSARL.g:1426:7: lv_name_104_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_9_3_0());
}
pushFollow(FOLLOW_17);
lv_name_104_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
set(
current,
"name",
lv_name_104_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_105=(Token)match(input,29,FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_105, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_9_4());
}
// InternalSARL.g:1447:5: ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )?
int alt40=2;
int LA40_0 = input.LA(1);
if ( (LA40_0==RULE_ID||LA40_0==44||(LA40_0>=83 && LA40_0<=86)) ) {
alt40=1;
}
switch (alt40) {
case 1 :
// InternalSARL.g:1448:6: ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )*
{
// InternalSARL.g:1448:6: ( (lv_members_106_0= ruleXtendEnumLiteral ) )
// InternalSARL.g:1449:7: (lv_members_106_0= ruleXtendEnumLiteral )
{
// InternalSARL.g:1449:7: (lv_members_106_0= ruleXtendEnumLiteral )
// InternalSARL.g:1450:8: lv_members_106_0= ruleXtendEnumLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getMembersXtendEnumLiteralParserRuleCall_2_9_5_0_0());
}
pushFollow(FOLLOW_34);
lv_members_106_0=ruleXtendEnumLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"members",
lv_members_106_0,
"io.sarl.lang.SARL.XtendEnumLiteral");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:1467:6: (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )*
loop39:
do {
int alt39=2;
int LA39_0 = input.LA(1);
if ( (LA39_0==32) ) {
alt39=1;
}
switch (alt39) {
case 1 :
// InternalSARL.g:1468:7: otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) )
{
otherlv_107=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_107, grammarAccess.getTypeAccess().getCommaKeyword_2_9_5_1_0());
}
// InternalSARL.g:1472:7: ( (lv_members_108_0= ruleXtendEnumLiteral ) )
// InternalSARL.g:1473:8: (lv_members_108_0= ruleXtendEnumLiteral )
{
// InternalSARL.g:1473:8: (lv_members_108_0= ruleXtendEnumLiteral )
// InternalSARL.g:1474:9: lv_members_108_0= ruleXtendEnumLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getMembersXtendEnumLiteralParserRuleCall_2_9_5_1_1_0());
}
pushFollow(FOLLOW_34);
lv_members_108_0=ruleXtendEnumLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"members",
lv_members_108_0,
"io.sarl.lang.SARL.XtendEnumLiteral");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop39;
}
} while (true);
}
break;
}
// InternalSARL.g:1493:5: (otherlv_109= ';' )?
int alt41=2;
int LA41_0 = input.LA(1);
if ( (LA41_0==26) ) {
alt41=1;
}
switch (alt41) {
case 1 :
// InternalSARL.g:1494:6: otherlv_109= ';'
{
otherlv_109=(Token)match(input,26,FOLLOW_24); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_109, grammarAccess.getTypeAccess().getSemicolonKeyword_2_9_6());
}
}
break;
}
otherlv_110=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_110, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_9_7());
}
}
}
break;
case 11 :
// InternalSARL.g:1505:4: ( () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}' )
{
// InternalSARL.g:1505:4: ( () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}' )
// InternalSARL.g:1506:5: () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}'
{
// InternalSARL.g:1506:5: ()
// InternalSARL.g:1507:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getTypeAccess().getSarlAnnotationTypeAnnotationInfoAction_2_10_0(),
current);
}
}
// InternalSARL.g:1513:5: ( (lv_modifiers_112_0= ruleCommonModifier ) )*
loop42:
do {
int alt42=2;
int LA42_0 = input.LA(1);
if ( (LA42_0==25||(LA42_0>=69 && LA42_0<=80)) ) {
alt42=1;
}
switch (alt42) {
case 1 :
// InternalSARL.g:1514:6: (lv_modifiers_112_0= ruleCommonModifier )
{
// InternalSARL.g:1514:6: (lv_modifiers_112_0= ruleCommonModifier )
// InternalSARL.g:1515:7: lv_modifiers_112_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_10_1_0());
}
pushFollow(FOLLOW_35);
lv_modifiers_112_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"modifiers",
lv_modifiers_112_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop42;
}
} while (true);
otherlv_113=(Token)match(input,44,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_113, grammarAccess.getTypeAccess().getAnnotationKeyword_2_10_2());
}
// InternalSARL.g:1536:5: ( (lv_name_114_0= ruleValidID ) )
// InternalSARL.g:1537:6: (lv_name_114_0= ruleValidID )
{
// InternalSARL.g:1537:6: (lv_name_114_0= ruleValidID )
// InternalSARL.g:1538:7: lv_name_114_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_10_3_0());
}
pushFollow(FOLLOW_17);
lv_name_114_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
set(
current,
"name",
lv_name_114_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_115=(Token)match(input,29,FOLLOW_36); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_115, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_10_4());
}
// InternalSARL.g:1559:5: ( (lv_members_116_0= ruleAnnotationField ) )*
loop43:
do {
int alt43=2;
int LA43_0 = input.LA(1);
if ( (LA43_0==25||LA43_0==39||(LA43_0>=42 && LA43_0<=44)||(LA43_0>=61 && LA43_0<=62)||(LA43_0>=69 && LA43_0<=80)||LA43_0==94) ) {
alt43=1;
}
switch (alt43) {
case 1 :
// InternalSARL.g:1560:6: (lv_members_116_0= ruleAnnotationField )
{
// InternalSARL.g:1560:6: (lv_members_116_0= ruleAnnotationField )
// InternalSARL.g:1561:7: lv_members_116_0= ruleAnnotationField
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeAccess().getMembersAnnotationFieldParserRuleCall_2_10_5_0());
}
pushFollow(FOLLOW_36);
lv_members_116_0=ruleAnnotationField();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
add(
current,
"members",
lv_members_116_0,
"io.sarl.lang.SARL.AnnotationField");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop43;
}
} while (true);
otherlv_117=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_117, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_10_6());
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleType"
// $ANTLR start "entryRuleEventMember"
// InternalSARL.g:1588:1: entryRuleEventMember returns [EObject current=null] : iv_ruleEventMember= ruleEventMember EOF ;
public final EObject entryRuleEventMember() throws RecognitionException {
EObject current = null;
EObject iv_ruleEventMember = null;
try {
// InternalSARL.g:1588:52: (iv_ruleEventMember= ruleEventMember EOF )
// InternalSARL.g:1589:2: iv_ruleEventMember= ruleEventMember EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberRule());
}
pushFollow(FOLLOW_1);
iv_ruleEventMember=ruleEventMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleEventMember;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEventMember"
// $ANTLR start "ruleEventMember"
// InternalSARL.g:1595:1: ruleEventMember returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) ) ) ;
public final EObject ruleEventMember() throws RecognitionException {
EObject current = null;
Token lv_modifiers_4_0=null;
Token otherlv_8=null;
Token lv_modifiers_12_0=null;
Token otherlv_14=null;
Token otherlv_17=null;
Token otherlv_19=null;
Token otherlv_21=null;
Token otherlv_24=null;
Token otherlv_25=null;
Token otherlv_27=null;
Token otherlv_29=null;
Token otherlv_30=null;
Token otherlv_32=null;
Token otherlv_34=null;
Token otherlv_36=null;
Token otherlv_38=null;
Token otherlv_40=null;
Token otherlv_42=null;
EObject lv_annotations_1_0 = null;
AntlrDatatypeRuleToken lv_modifiers_3_0 = null;
AntlrDatatypeRuleToken lv_modifiers_5_0 = null;
AntlrDatatypeRuleToken lv_modifiers_6_0 = null;
AntlrDatatypeRuleToken lv_name_7_0 = null;
EObject lv_type_9_0 = null;
AntlrDatatypeRuleToken lv_modifiers_10_0 = null;
AntlrDatatypeRuleToken lv_modifiers_11_0 = null;
AntlrDatatypeRuleToken lv_name_13_0 = null;
EObject lv_type_15_0 = null;
AntlrDatatypeRuleToken lv_name_16_0 = null;
EObject lv_type_18_0 = null;
EObject lv_initialValue_20_0 = null;
AntlrDatatypeRuleToken lv_modifiers_23_0 = null;
EObject lv_typeParameters_26_0 = null;
EObject lv_typeParameters_28_0 = null;
EObject lv_parameters_31_0 = null;
EObject lv_parameters_33_0 = null;
EObject lv_exceptions_37_0 = null;
EObject lv_exceptions_39_0 = null;
EObject lv_typeParameters_41_0 = null;
EObject lv_typeParameters_43_0 = null;
EObject lv_expression_44_0 = null;
enterRule();
try {
// InternalSARL.g:1601:2: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) ) ) )
// InternalSARL.g:1602:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) ) )
{
// InternalSARL.g:1602:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) ) )
// InternalSARL.g:1603:3: () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) )
{
// InternalSARL.g:1603:3: ()
// InternalSARL.g:1604:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getEventMemberAccess().getXtendMemberAction_0(),
current);
}
}
// InternalSARL.g:1610:3: ( (lv_annotations_1_0= ruleXAnnotation ) )*
loop45:
do {
int alt45=2;
int LA45_0 = input.LA(1);
if ( (LA45_0==94) ) {
alt45=1;
}
switch (alt45) {
case 1 :
// InternalSARL.g:1611:4: (lv_annotations_1_0= ruleXAnnotation )
{
// InternalSARL.g:1611:4: (lv_annotations_1_0= ruleXAnnotation )
// InternalSARL.g:1612:5: lv_annotations_1_0= ruleXAnnotation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getAnnotationsXAnnotationParserRuleCall_1_0());
}
pushFollow(FOLLOW_37);
lv_annotations_1_0=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
add(
current,
"annotations",
lv_annotations_1_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotation");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop45;
}
} while (true);
// InternalSARL.g:1629:3: ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) )
int alt63=2;
alt63 = dfa63.predict(input);
switch (alt63) {
case 1 :
// InternalSARL.g:1630:4: ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? )
{
// InternalSARL.g:1630:4: ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? )
// InternalSARL.g:1631:5: () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )?
{
// InternalSARL.g:1631:5: ()
// InternalSARL.g:1632:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getEventMemberAccess().getSarlFieldAnnotationInfoAction_2_0_0(),
current);
}
}
// InternalSARL.g:1638:5: ( (lv_modifiers_3_0= ruleCommonModifier ) )*
loop46:
do {
int alt46=2;
int LA46_0 = input.LA(1);
if ( (LA46_0==25||(LA46_0>=69 && LA46_0<=80)) ) {
alt46=1;
}
switch (alt46) {
case 1 :
// InternalSARL.g:1639:6: (lv_modifiers_3_0= ruleCommonModifier )
{
// InternalSARL.g:1639:6: (lv_modifiers_3_0= ruleCommonModifier )
// InternalSARL.g:1640:7: lv_modifiers_3_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getModifiersCommonModifierParserRuleCall_2_0_1_0());
}
pushFollow(FOLLOW_38);
lv_modifiers_3_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_3_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop46;
}
} while (true);
// InternalSARL.g:1657:5: ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) )
int alt51=2;
int LA51_0 = input.LA(1);
if ( (LA51_0==45) ) {
alt51=1;
}
else if ( ((LA51_0>=61 && LA51_0<=62)) ) {
alt51=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 51, 0, input);
throw nvae;
}
switch (alt51) {
case 1 :
// InternalSARL.g:1658:6: ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) )
{
// InternalSARL.g:1658:6: ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) )
// InternalSARL.g:1659:7: ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) )
{
// InternalSARL.g:1659:7: ( (lv_modifiers_4_0= 'extension' ) )
// InternalSARL.g:1660:8: (lv_modifiers_4_0= 'extension' )
{
// InternalSARL.g:1660:8: (lv_modifiers_4_0= 'extension' )
// InternalSARL.g:1661:9: lv_modifiers_4_0= 'extension'
{
lv_modifiers_4_0=(Token)match(input,45,FOLLOW_39); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_modifiers_4_0, grammarAccess.getEventMemberAccess().getModifiersExtensionKeyword_2_0_2_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getEventMemberRule());
}
addWithLastConsumed(current, "modifiers", lv_modifiers_4_0, "extension");
}
}
}
// InternalSARL.g:1673:7: ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )*
loop47:
do {
int alt47=3;
int LA47_0 = input.LA(1);
if ( ((LA47_0>=61 && LA47_0<=62)) ) {
alt47=1;
}
else if ( (LA47_0==25||(LA47_0>=69 && LA47_0<=80)) ) {
alt47=2;
}
switch (alt47) {
case 1 :
// InternalSARL.g:1674:8: ( (lv_modifiers_5_0= ruleFieldModifier ) )
{
// InternalSARL.g:1674:8: ( (lv_modifiers_5_0= ruleFieldModifier ) )
// InternalSARL.g:1675:9: (lv_modifiers_5_0= ruleFieldModifier )
{
// InternalSARL.g:1675:9: (lv_modifiers_5_0= ruleFieldModifier )
// InternalSARL.g:1676:10: lv_modifiers_5_0= ruleFieldModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getModifiersFieldModifierParserRuleCall_2_0_2_0_1_0_0());
}
pushFollow(FOLLOW_39);
lv_modifiers_5_0=ruleFieldModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_5_0,
"org.eclipse.xtend.core.Xtend.FieldModifier");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalSARL.g:1694:8: ( (lv_modifiers_6_0= ruleCommonModifier ) )
{
// InternalSARL.g:1694:8: ( (lv_modifiers_6_0= ruleCommonModifier ) )
// InternalSARL.g:1695:9: (lv_modifiers_6_0= ruleCommonModifier )
{
// InternalSARL.g:1695:9: (lv_modifiers_6_0= ruleCommonModifier )
// InternalSARL.g:1696:10: lv_modifiers_6_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getModifiersCommonModifierParserRuleCall_2_0_2_0_1_1_0());
}
pushFollow(FOLLOW_39);
lv_modifiers_6_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_6_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop47;
}
} while (true);
// InternalSARL.g:1714:7: ( (lv_name_7_0= ruleValidID ) )
// InternalSARL.g:1715:8: (lv_name_7_0= ruleValidID )
{
// InternalSARL.g:1715:8: (lv_name_7_0= ruleValidID )
// InternalSARL.g:1716:9: lv_name_7_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getNameValidIDParserRuleCall_2_0_2_0_2_0());
}
pushFollow(FOLLOW_40);
lv_name_7_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
set(
current,
"name",
lv_name_7_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_8=(Token)match(input,46,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getEventMemberAccess().getColonKeyword_2_0_2_0_3());
}
// InternalSARL.g:1737:7: ( (lv_type_9_0= ruleJvmTypeReference ) )
// InternalSARL.g:1738:8: (lv_type_9_0= ruleJvmTypeReference )
{
// InternalSARL.g:1738:8: (lv_type_9_0= ruleJvmTypeReference )
// InternalSARL.g:1739:9: lv_type_9_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_2_0_4_0());
}
pushFollow(FOLLOW_42);
lv_type_9_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
set(
current,
"type",
lv_type_9_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalSARL.g:1758:6: ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) )
{
// InternalSARL.g:1758:6: ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) )
// InternalSARL.g:1759:7: ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) )
{
// InternalSARL.g:1759:7: ( (lv_modifiers_10_0= ruleFieldModifier ) )
// InternalSARL.g:1760:8: (lv_modifiers_10_0= ruleFieldModifier )
{
// InternalSARL.g:1760:8: (lv_modifiers_10_0= ruleFieldModifier )
// InternalSARL.g:1761:9: lv_modifiers_10_0= ruleFieldModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getModifiersFieldModifierParserRuleCall_2_0_2_1_0_0());
}
pushFollow(FOLLOW_43);
lv_modifiers_10_0=ruleFieldModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_10_0,
"org.eclipse.xtend.core.Xtend.FieldModifier");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:1778:7: ( (lv_modifiers_11_0= ruleCommonModifier ) )*
loop48:
do {
int alt48=2;
int LA48_0 = input.LA(1);
if ( (LA48_0==25||(LA48_0>=69 && LA48_0<=80)) ) {
alt48=1;
}
switch (alt48) {
case 1 :
// InternalSARL.g:1779:8: (lv_modifiers_11_0= ruleCommonModifier )
{
// InternalSARL.g:1779:8: (lv_modifiers_11_0= ruleCommonModifier )
// InternalSARL.g:1780:9: lv_modifiers_11_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getModifiersCommonModifierParserRuleCall_2_0_2_1_1_0());
}
pushFollow(FOLLOW_43);
lv_modifiers_11_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_11_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop48;
}
} while (true);
// InternalSARL.g:1797:7: ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) )
int alt50=2;
int LA50_0 = input.LA(1);
if ( (LA50_0==45) ) {
alt50=1;
}
else if ( (LA50_0==RULE_ID||LA50_0==44||(LA50_0>=83 && LA50_0<=86)) ) {
alt50=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 50, 0, input);
throw nvae;
}
switch (alt50) {
case 1 :
// InternalSARL.g:1798:8: ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) )
{
// InternalSARL.g:1798:8: ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) )
// InternalSARL.g:1799:9: ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) )
{
// InternalSARL.g:1799:9: ( (lv_modifiers_12_0= 'extension' ) )
// InternalSARL.g:1800:10: (lv_modifiers_12_0= 'extension' )
{
// InternalSARL.g:1800:10: (lv_modifiers_12_0= 'extension' )
// InternalSARL.g:1801:11: lv_modifiers_12_0= 'extension'
{
lv_modifiers_12_0=(Token)match(input,45,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_modifiers_12_0, grammarAccess.getEventMemberAccess().getModifiersExtensionKeyword_2_0_2_1_2_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getEventMemberRule());
}
addWithLastConsumed(current, "modifiers", lv_modifiers_12_0, "extension");
}
}
}
// InternalSARL.g:1813:9: ( (lv_name_13_0= ruleValidID ) )
// InternalSARL.g:1814:10: (lv_name_13_0= ruleValidID )
{
// InternalSARL.g:1814:10: (lv_name_13_0= ruleValidID )
// InternalSARL.g:1815:11: lv_name_13_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getNameValidIDParserRuleCall_2_0_2_1_2_0_1_0());
}
pushFollow(FOLLOW_40);
lv_name_13_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
set(
current,
"name",
lv_name_13_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_14=(Token)match(input,46,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getEventMemberAccess().getColonKeyword_2_0_2_1_2_0_2());
}
// InternalSARL.g:1836:9: ( (lv_type_15_0= ruleJvmTypeReference ) )
// InternalSARL.g:1837:10: (lv_type_15_0= ruleJvmTypeReference )
{
// InternalSARL.g:1837:10: (lv_type_15_0= ruleJvmTypeReference )
// InternalSARL.g:1838:11: lv_type_15_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_2_1_2_0_3_0());
}
pushFollow(FOLLOW_42);
lv_type_15_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
set(
current,
"type",
lv_type_15_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalSARL.g:1857:8: ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? )
{
// InternalSARL.g:1857:8: ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? )
// InternalSARL.g:1858:9: ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )?
{
// InternalSARL.g:1858:9: ( (lv_name_16_0= ruleValidID ) )
// InternalSARL.g:1859:10: (lv_name_16_0= ruleValidID )
{
// InternalSARL.g:1859:10: (lv_name_16_0= ruleValidID )
// InternalSARL.g:1860:11: lv_name_16_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getNameValidIDParserRuleCall_2_0_2_1_2_1_0_0());
}
pushFollow(FOLLOW_44);
lv_name_16_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
set(
current,
"name",
lv_name_16_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:1877:9: (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )?
int alt49=2;
int LA49_0 = input.LA(1);
if ( (LA49_0==46) ) {
alt49=1;
}
switch (alt49) {
case 1 :
// InternalSARL.g:1878:10: otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) )
{
otherlv_17=(Token)match(input,46,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_17, grammarAccess.getEventMemberAccess().getColonKeyword_2_0_2_1_2_1_1_0());
}
// InternalSARL.g:1882:10: ( (lv_type_18_0= ruleJvmTypeReference ) )
// InternalSARL.g:1883:11: (lv_type_18_0= ruleJvmTypeReference )
{
// InternalSARL.g:1883:11: (lv_type_18_0= ruleJvmTypeReference )
// InternalSARL.g:1884:12: lv_type_18_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_2_1_2_1_1_1_0());
}
pushFollow(FOLLOW_42);
lv_type_18_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
set(
current,
"type",
lv_type_18_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
}
}
}
break;
}
// InternalSARL.g:1906:5: (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )?
int alt52=2;
int LA52_0 = input.LA(1);
if ( (LA52_0==47) ) {
alt52=1;
}
switch (alt52) {
case 1 :
// InternalSARL.g:1907:6: otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) )
{
otherlv_19=(Token)match(input,47,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_19, grammarAccess.getEventMemberAccess().getEqualsSignKeyword_2_0_3_0());
}
// InternalSARL.g:1911:6: ( (lv_initialValue_20_0= ruleXExpression ) )
// InternalSARL.g:1912:7: (lv_initialValue_20_0= ruleXExpression )
{
// InternalSARL.g:1912:7: (lv_initialValue_20_0= ruleXExpression )
// InternalSARL.g:1913:8: lv_initialValue_20_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getInitialValueXExpressionParserRuleCall_2_0_3_1_0());
}
pushFollow(FOLLOW_46);
lv_initialValue_20_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
set(
current,
"initialValue",
lv_initialValue_20_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalSARL.g:1931:5: (otherlv_21= ';' )?
int alt53=2;
int LA53_0 = input.LA(1);
if ( (LA53_0==26) ) {
alt53=1;
}
switch (alt53) {
case 1 :
// InternalSARL.g:1932:6: otherlv_21= ';'
{
otherlv_21=(Token)match(input,26,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_21, grammarAccess.getEventMemberAccess().getSemicolonKeyword_2_0_4());
}
}
break;
}
}
}
break;
case 2 :
// InternalSARL.g:1939:4: ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) )
{
// InternalSARL.g:1939:4: ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) )
// InternalSARL.g:1940:5: () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) )
{
// InternalSARL.g:1940:5: ()
// InternalSARL.g:1941:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getEventMemberAccess().getSarlConstructorAnnotationInfoAction_2_1_0(),
current);
}
}
// InternalSARL.g:1947:5: ( (lv_modifiers_23_0= ruleCommonModifier ) )*
loop54:
do {
int alt54=2;
int LA54_0 = input.LA(1);
if ( (LA54_0==25||(LA54_0>=69 && LA54_0<=80)) ) {
alt54=1;
}
switch (alt54) {
case 1 :
// InternalSARL.g:1948:6: (lv_modifiers_23_0= ruleCommonModifier )
{
// InternalSARL.g:1948:6: (lv_modifiers_23_0= ruleCommonModifier )
// InternalSARL.g:1949:7: lv_modifiers_23_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getModifiersCommonModifierParserRuleCall_2_1_1_0());
}
pushFollow(FOLLOW_47);
lv_modifiers_23_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_23_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop54;
}
} while (true);
otherlv_24=(Token)match(input,48,FOLLOW_48); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_24, grammarAccess.getEventMemberAccess().getNewKeyword_2_1_2());
}
// InternalSARL.g:1970:5: (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )?
int alt56=2;
int LA56_0 = input.LA(1);
if ( (LA56_0==40) ) {
alt56=1;
}
switch (alt56) {
case 1 :
// InternalSARL.g:1971:6: otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>'
{
otherlv_25=(Token)match(input,40,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_25, grammarAccess.getEventMemberAccess().getLessThanSignKeyword_2_1_3_0());
}
// InternalSARL.g:1975:6: ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) )
// InternalSARL.g:1976:7: (lv_typeParameters_26_0= ruleJvmTypeParameter )
{
// InternalSARL.g:1976:7: (lv_typeParameters_26_0= ruleJvmTypeParameter )
// InternalSARL.g:1977:8: lv_typeParameters_26_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_3_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_26_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_26_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:1994:6: (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )*
loop55:
do {
int alt55=2;
int LA55_0 = input.LA(1);
if ( (LA55_0==32) ) {
alt55=1;
}
switch (alt55) {
case 1 :
// InternalSARL.g:1995:7: otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) )
{
otherlv_27=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_27, grammarAccess.getEventMemberAccess().getCommaKeyword_2_1_3_2_0());
}
// InternalSARL.g:1999:7: ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) )
// InternalSARL.g:2000:8: (lv_typeParameters_28_0= ruleJvmTypeParameter )
{
// InternalSARL.g:2000:8: (lv_typeParameters_28_0= ruleJvmTypeParameter )
// InternalSARL.g:2001:9: lv_typeParameters_28_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_3_2_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_28_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_28_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop55;
}
} while (true);
otherlv_29=(Token)match(input,41,FOLLOW_49); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_29, grammarAccess.getEventMemberAccess().getGreaterThanSignKeyword_2_1_3_3());
}
}
break;
}
// InternalSARL.g:2024:5: (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )?
int alt59=2;
int LA59_0 = input.LA(1);
if ( (LA59_0==49) ) {
alt59=1;
}
switch (alt59) {
case 1 :
// InternalSARL.g:2025:6: otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')'
{
otherlv_30=(Token)match(input,49,FOLLOW_50); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_30, grammarAccess.getEventMemberAccess().getLeftParenthesisKeyword_2_1_4_0());
}
// InternalSARL.g:2029:6: ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )?
int alt58=2;
int LA58_0 = input.LA(1);
if ( (LA58_0==RULE_ID||(LA58_0>=44 && LA58_0<=45)||(LA58_0>=83 && LA58_0<=86)||LA58_0==94) ) {
alt58=1;
}
switch (alt58) {
case 1 :
// InternalSARL.g:2030:7: ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )*
{
// InternalSARL.g:2030:7: ( (lv_parameters_31_0= ruleParameter ) )
// InternalSARL.g:2031:8: (lv_parameters_31_0= ruleParameter )
{
// InternalSARL.g:2031:8: (lv_parameters_31_0= ruleParameter )
// InternalSARL.g:2032:9: lv_parameters_31_0= ruleParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getParametersParameterParserRuleCall_2_1_4_1_0_0());
}
pushFollow(FOLLOW_51);
lv_parameters_31_0=ruleParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
add(
current,
"parameters",
lv_parameters_31_0,
"io.sarl.lang.SARL.Parameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:2049:7: (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )*
loop57:
do {
int alt57=2;
int LA57_0 = input.LA(1);
if ( (LA57_0==32) ) {
alt57=1;
}
switch (alt57) {
case 1 :
// InternalSARL.g:2050:8: otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) )
{
otherlv_32=(Token)match(input,32,FOLLOW_52); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_32, grammarAccess.getEventMemberAccess().getCommaKeyword_2_1_4_1_1_0());
}
// InternalSARL.g:2054:8: ( (lv_parameters_33_0= ruleParameter ) )
// InternalSARL.g:2055:9: (lv_parameters_33_0= ruleParameter )
{
// InternalSARL.g:2055:9: (lv_parameters_33_0= ruleParameter )
// InternalSARL.g:2056:10: lv_parameters_33_0= ruleParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getParametersParameterParserRuleCall_2_1_4_1_1_1_0());
}
pushFollow(FOLLOW_51);
lv_parameters_33_0=ruleParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
add(
current,
"parameters",
lv_parameters_33_0,
"io.sarl.lang.SARL.Parameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop57;
}
} while (true);
}
break;
}
otherlv_34=(Token)match(input,50,FOLLOW_53); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_34, grammarAccess.getEventMemberAccess().getRightParenthesisKeyword_2_1_4_2());
}
}
break;
}
// InternalSARL.g:2080:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) )
// InternalSARL.g:2081:6: ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) )
{
// InternalSARL.g:2081:6: ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) )
// InternalSARL.g:2082:7: ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5());
// InternalSARL.g:2085:7: ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* )
// InternalSARL.g:2086:8: ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )*
{
// InternalSARL.g:2086:8: ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )*
loop62:
do {
int alt62=3;
int LA62_0 = input.LA(1);
if ( LA62_0 == 51 && getUnorderedGroupHelper().canSelect(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5(), 0) ) {
alt62=1;
}
else if ( LA62_0 == 52 && getUnorderedGroupHelper().canSelect(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5(), 1) ) {
alt62=2;
}
switch (alt62) {
case 1 :
// InternalSARL.g:2087:6: ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) )
{
// InternalSARL.g:2087:6: ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) )
// InternalSARL.g:2088:7: {...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleEventMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5(), 0)");
}
// InternalSARL.g:2088:114: ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) )
// InternalSARL.g:2089:8: ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5(), 0);
// InternalSARL.g:2092:11: ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) )
// InternalSARL.g:2092:12: {...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleEventMember", "true");
}
// InternalSARL.g:2092:21: (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* )
// InternalSARL.g:2092:22: otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )*
{
otherlv_36=(Token)match(input,51,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_36, grammarAccess.getEventMemberAccess().getThrowsKeyword_2_1_5_0_0());
}
// InternalSARL.g:2096:11: ( (lv_exceptions_37_0= ruleJvmTypeReference ) )
// InternalSARL.g:2097:12: (lv_exceptions_37_0= ruleJvmTypeReference )
{
// InternalSARL.g:2097:12: (lv_exceptions_37_0= ruleJvmTypeReference )
// InternalSARL.g:2098:13: lv_exceptions_37_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_1_5_0_1_0());
}
pushFollow(FOLLOW_54);
lv_exceptions_37_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
add(
current,
"exceptions",
lv_exceptions_37_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:2115:11: (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )*
loop60:
do {
int alt60=2;
int LA60_0 = input.LA(1);
if ( (LA60_0==32) ) {
alt60=1;
}
switch (alt60) {
case 1 :
// InternalSARL.g:2116:12: otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) )
{
otherlv_38=(Token)match(input,32,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_38, grammarAccess.getEventMemberAccess().getCommaKeyword_2_1_5_0_2_0());
}
// InternalSARL.g:2120:12: ( (lv_exceptions_39_0= ruleJvmTypeReference ) )
// InternalSARL.g:2121:13: (lv_exceptions_39_0= ruleJvmTypeReference )
{
// InternalSARL.g:2121:13: (lv_exceptions_39_0= ruleJvmTypeReference )
// InternalSARL.g:2122:14: lv_exceptions_39_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_1_5_0_2_1_0());
}
pushFollow(FOLLOW_54);
lv_exceptions_39_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
add(
current,
"exceptions",
lv_exceptions_39_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop60;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5());
}
}
}
break;
case 2 :
// InternalSARL.g:2146:6: ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) )
{
// InternalSARL.g:2146:6: ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) )
// InternalSARL.g:2147:7: {...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleEventMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5(), 1)");
}
// InternalSARL.g:2147:114: ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) )
// InternalSARL.g:2148:8: ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5(), 1);
// InternalSARL.g:2151:11: ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) )
// InternalSARL.g:2151:12: {...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleEventMember", "true");
}
// InternalSARL.g:2151:21: (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* )
// InternalSARL.g:2151:22: otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )*
{
otherlv_40=(Token)match(input,52,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_40, grammarAccess.getEventMemberAccess().getWithKeyword_2_1_5_1_0());
}
// InternalSARL.g:2155:11: ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) )
// InternalSARL.g:2156:12: (lv_typeParameters_41_0= ruleJvmTypeParameter )
{
// InternalSARL.g:2156:12: (lv_typeParameters_41_0= ruleJvmTypeParameter )
// InternalSARL.g:2157:13: lv_typeParameters_41_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_5_1_1_0());
}
pushFollow(FOLLOW_54);
lv_typeParameters_41_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_41_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:2174:11: (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )*
loop61:
do {
int alt61=2;
int LA61_0 = input.LA(1);
if ( (LA61_0==32) ) {
alt61=1;
}
switch (alt61) {
case 1 :
// InternalSARL.g:2175:12: otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) )
{
otherlv_42=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_42, grammarAccess.getEventMemberAccess().getCommaKeyword_2_1_5_1_2_0());
}
// InternalSARL.g:2179:12: ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) )
// InternalSARL.g:2180:13: (lv_typeParameters_43_0= ruleJvmTypeParameter )
{
// InternalSARL.g:2180:13: (lv_typeParameters_43_0= ruleJvmTypeParameter )
// InternalSARL.g:2181:14: lv_typeParameters_43_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_5_1_2_1_0());
}
pushFollow(FOLLOW_54);
lv_typeParameters_43_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_43_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop61;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5());
}
}
}
break;
default :
break loop62;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5());
}
// InternalSARL.g:2212:5: ( (lv_expression_44_0= ruleXBlockExpression ) )
// InternalSARL.g:2213:6: (lv_expression_44_0= ruleXBlockExpression )
{
// InternalSARL.g:2213:6: (lv_expression_44_0= ruleXBlockExpression )
// InternalSARL.g:2214:7: lv_expression_44_0= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEventMemberAccess().getExpressionXBlockExpressionParserRuleCall_2_1_6_0());
}
pushFollow(FOLLOW_2);
lv_expression_44_0=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getEventMemberRule());
}
set(
current,
"expression",
lv_expression_44_0,
"org.eclipse.xtext.xbase.Xbase.XBlockExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEventMember"
// $ANTLR start "entryRuleCapacityMember"
// InternalSARL.g:2237:1: entryRuleCapacityMember returns [EObject current=null] : iv_ruleCapacityMember= ruleCapacityMember EOF ;
public final EObject entryRuleCapacityMember() throws RecognitionException {
EObject current = null;
EObject iv_ruleCapacityMember = null;
try {
// InternalSARL.g:2237:55: (iv_ruleCapacityMember= ruleCapacityMember EOF )
// InternalSARL.g:2238:2: iv_ruleCapacityMember= ruleCapacityMember EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCapacityMemberRule());
}
pushFollow(FOLLOW_1);
iv_ruleCapacityMember=ruleCapacityMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCapacityMember;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCapacityMember"
// $ANTLR start "ruleCapacityMember"
// InternalSARL.g:2244:1: ruleCapacityMember returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleMethodModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleJvmTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) ) )* otherlv_10= '>' )? ( (lv_name_11_0= ruleFunctionID ) ) (otherlv_12= '(' ( ( (lv_parameters_13_0= ruleParameter ) ) (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )* )? otherlv_16= ')' )? (otherlv_17= ':' ( ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_33_0= ruleXBlockExpression ) ) | otherlv_34= ';' )? ) ;
public final EObject ruleCapacityMember() throws RecognitionException {
EObject current = null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_10=null;
Token otherlv_12=null;
Token otherlv_14=null;
Token otherlv_16=null;
Token otherlv_17=null;
Token otherlv_21=null;
Token otherlv_23=null;
Token otherlv_25=null;
Token otherlv_27=null;
Token otherlv_29=null;
Token otherlv_31=null;
Token otherlv_34=null;
EObject lv_annotations_1_0 = null;
AntlrDatatypeRuleToken lv_modifiers_3_0 = null;
AntlrDatatypeRuleToken lv_modifiers_4_0 = null;
AntlrDatatypeRuleToken lv_modifiers_5_0 = null;
EObject lv_typeParameters_7_0 = null;
EObject lv_typeParameters_9_0 = null;
AntlrDatatypeRuleToken lv_name_11_0 = null;
EObject lv_parameters_13_0 = null;
EObject lv_parameters_15_0 = null;
EObject lv_returnType_18_0 = null;
EObject lv_returnType_19_0 = null;
EObject lv_exceptions_22_0 = null;
EObject lv_exceptions_24_0 = null;
EObject lv_firedEvents_26_0 = null;
EObject lv_firedEvents_28_0 = null;
EObject lv_typeParameters_30_0 = null;
EObject lv_typeParameters_32_0 = null;
EObject lv_expression_33_0 = null;
enterRule();
try {
// InternalSARL.g:2250:2: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleMethodModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleJvmTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) ) )* otherlv_10= '>' )? ( (lv_name_11_0= ruleFunctionID ) ) (otherlv_12= '(' ( ( (lv_parameters_13_0= ruleParameter ) ) (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )* )? otherlv_16= ')' )? (otherlv_17= ':' ( ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_33_0= ruleXBlockExpression ) ) | otherlv_34= ';' )? ) )
// InternalSARL.g:2251:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleMethodModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleJvmTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) ) )* otherlv_10= '>' )? ( (lv_name_11_0= ruleFunctionID ) ) (otherlv_12= '(' ( ( (lv_parameters_13_0= ruleParameter ) ) (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )* )? otherlv_16= ')' )? (otherlv_17= ':' ( ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_33_0= ruleXBlockExpression ) ) | otherlv_34= ';' )? )
{
// InternalSARL.g:2251:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleMethodModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleJvmTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) ) )* otherlv_10= '>' )? ( (lv_name_11_0= ruleFunctionID ) ) (otherlv_12= '(' ( ( (lv_parameters_13_0= ruleParameter ) ) (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )* )? otherlv_16= ')' )? (otherlv_17= ':' ( ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_33_0= ruleXBlockExpression ) ) | otherlv_34= ';' )? )
// InternalSARL.g:2252:3: () ( (lv_annotations_1_0= ruleXAnnotation ) )* () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleMethodModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleJvmTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) ) )* otherlv_10= '>' )? ( (lv_name_11_0= ruleFunctionID ) ) (otherlv_12= '(' ( ( (lv_parameters_13_0= ruleParameter ) ) (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )* )? otherlv_16= ')' )? (otherlv_17= ':' ( ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_33_0= ruleXBlockExpression ) ) | otherlv_34= ';' )?
{
// InternalSARL.g:2252:3: ()
// InternalSARL.g:2253:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getCapacityMemberAccess().getXtendMemberAction_0(),
current);
}
}
// InternalSARL.g:2259:3: ( (lv_annotations_1_0= ruleXAnnotation ) )*
loop64:
do {
int alt64=2;
int LA64_0 = input.LA(1);
if ( (LA64_0==94) ) {
alt64=1;
}
switch (alt64) {
case 1 :
// InternalSARL.g:2260:4: (lv_annotations_1_0= ruleXAnnotation )
{
// InternalSARL.g:2260:4: (lv_annotations_1_0= ruleXAnnotation )
// InternalSARL.g:2261:5: lv_annotations_1_0= ruleXAnnotation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCapacityMemberAccess().getAnnotationsXAnnotationParserRuleCall_1_0());
}
pushFollow(FOLLOW_55);
lv_annotations_1_0=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCapacityMemberRule());
}
add(
current,
"annotations",
lv_annotations_1_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotation");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop64;
}
} while (true);
// InternalSARL.g:2278:3: ()
// InternalSARL.g:2279:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getCapacityMemberAccess().getSarlActionAnnotationInfoAction_2(),
current);
}
}
// InternalSARL.g:2285:3: ( (lv_modifiers_3_0= ruleCommonModifier ) )*
loop65:
do {
int alt65=2;
int LA65_0 = input.LA(1);
if ( (LA65_0==25||(LA65_0>=69 && LA65_0<=80)) ) {
alt65=1;
}
switch (alt65) {
case 1 :
// InternalSARL.g:2286:4: (lv_modifiers_3_0= ruleCommonModifier )
{
// InternalSARL.g:2286:4: (lv_modifiers_3_0= ruleCommonModifier )
// InternalSARL.g:2287:5: lv_modifiers_3_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCapacityMemberAccess().getModifiersCommonModifierParserRuleCall_3_0());
}
pushFollow(FOLLOW_55);
lv_modifiers_3_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCapacityMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_3_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop65;
}
} while (true);
// InternalSARL.g:2304:3: ( (lv_modifiers_4_0= ruleMethodModifier ) )
// InternalSARL.g:2305:4: (lv_modifiers_4_0= ruleMethodModifier )
{
// InternalSARL.g:2305:4: (lv_modifiers_4_0= ruleMethodModifier )
// InternalSARL.g:2306:5: lv_modifiers_4_0= ruleMethodModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCapacityMemberAccess().getModifiersMethodModifierParserRuleCall_4_0());
}
pushFollow(FOLLOW_56);
lv_modifiers_4_0=ruleMethodModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCapacityMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_4_0,
"org.eclipse.xtend.core.Xtend.MethodModifier");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:2323:3: ( (lv_modifiers_5_0= ruleCommonModifier ) )*
loop66:
do {
int alt66=2;
int LA66_0 = input.LA(1);
if ( (LA66_0==25||(LA66_0>=69 && LA66_0<=80)) ) {
alt66=1;
}
switch (alt66) {
case 1 :
// InternalSARL.g:2324:4: (lv_modifiers_5_0= ruleCommonModifier )
{
// InternalSARL.g:2324:4: (lv_modifiers_5_0= ruleCommonModifier )
// InternalSARL.g:2325:5: lv_modifiers_5_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCapacityMemberAccess().getModifiersCommonModifierParserRuleCall_5_0());
}
pushFollow(FOLLOW_56);
lv_modifiers_5_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCapacityMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_5_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop66;
}
} while (true);
// InternalSARL.g:2342:3: (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleJvmTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) ) )* otherlv_10= '>' )?
int alt68=2;
int LA68_0 = input.LA(1);
if ( (LA68_0==40) ) {
int LA68_1 = input.LA(2);
if ( (LA68_1==RULE_ID||LA68_1==44||(LA68_1>=83 && LA68_1<=86)) ) {
alt68=1;
}
}
switch (alt68) {
case 1 :
// InternalSARL.g:2343:4: otherlv_6= '<' ( (lv_typeParameters_7_0= ruleJvmTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) ) )* otherlv_10= '>'
{
otherlv_6=(Token)match(input,40,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getCapacityMemberAccess().getLessThanSignKeyword_6_0());
}
// InternalSARL.g:2347:4: ( (lv_typeParameters_7_0= ruleJvmTypeParameter ) )
// InternalSARL.g:2348:5: (lv_typeParameters_7_0= ruleJvmTypeParameter )
{
// InternalSARL.g:2348:5: (lv_typeParameters_7_0= ruleJvmTypeParameter )
// InternalSARL.g:2349:6: lv_typeParameters_7_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCapacityMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_6_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_7_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCapacityMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_7_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:2366:4: (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) ) )*
loop67:
do {
int alt67=2;
int LA67_0 = input.LA(1);
if ( (LA67_0==32) ) {
alt67=1;
}
switch (alt67) {
case 1 :
// InternalSARL.g:2367:5: otherlv_8= ',' ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) )
{
otherlv_8=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getCapacityMemberAccess().getCommaKeyword_6_2_0());
}
// InternalSARL.g:2371:5: ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) )
// InternalSARL.g:2372:6: (lv_typeParameters_9_0= ruleJvmTypeParameter )
{
// InternalSARL.g:2372:6: (lv_typeParameters_9_0= ruleJvmTypeParameter )
// InternalSARL.g:2373:7: lv_typeParameters_9_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCapacityMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_6_2_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_9_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCapacityMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_9_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop67;
}
} while (true);
otherlv_10=(Token)match(input,41,FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getCapacityMemberAccess().getGreaterThanSignKeyword_6_3());
}
}
break;
}
// InternalSARL.g:2396:3: ( (lv_name_11_0= ruleFunctionID ) )
// InternalSARL.g:2397:4: (lv_name_11_0= ruleFunctionID )
{
// InternalSARL.g:2397:4: (lv_name_11_0= ruleFunctionID )
// InternalSARL.g:2398:5: lv_name_11_0= ruleFunctionID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCapacityMemberAccess().getNameFunctionIDParserRuleCall_7_0());
}
pushFollow(FOLLOW_57);
lv_name_11_0=ruleFunctionID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCapacityMemberRule());
}
set(
current,
"name",
lv_name_11_0,
"org.eclipse.xtend.core.Xtend.FunctionID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:2415:3: (otherlv_12= '(' ( ( (lv_parameters_13_0= ruleParameter ) ) (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )* )? otherlv_16= ')' )?
int alt71=2;
int LA71_0 = input.LA(1);
if ( (LA71_0==49) ) {
alt71=1;
}
switch (alt71) {
case 1 :
// InternalSARL.g:2416:4: otherlv_12= '(' ( ( (lv_parameters_13_0= ruleParameter ) ) (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )* )? otherlv_16= ')'
{
otherlv_12=(Token)match(input,49,FOLLOW_50); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getCapacityMemberAccess().getLeftParenthesisKeyword_8_0());
}
// InternalSARL.g:2420:4: ( ( (lv_parameters_13_0= ruleParameter ) ) (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )* )?
int alt70=2;
int LA70_0 = input.LA(1);
if ( (LA70_0==RULE_ID||(LA70_0>=44 && LA70_0<=45)||(LA70_0>=83 && LA70_0<=86)||LA70_0==94) ) {
alt70=1;
}
switch (alt70) {
case 1 :
// InternalSARL.g:2421:5: ( (lv_parameters_13_0= ruleParameter ) ) (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )*
{
// InternalSARL.g:2421:5: ( (lv_parameters_13_0= ruleParameter ) )
// InternalSARL.g:2422:6: (lv_parameters_13_0= ruleParameter )
{
// InternalSARL.g:2422:6: (lv_parameters_13_0= ruleParameter )
// InternalSARL.g:2423:7: lv_parameters_13_0= ruleParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCapacityMemberAccess().getParametersParameterParserRuleCall_8_1_0_0());
}
pushFollow(FOLLOW_51);
lv_parameters_13_0=ruleParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCapacityMemberRule());
}
add(
current,
"parameters",
lv_parameters_13_0,
"io.sarl.lang.SARL.Parameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:2440:5: (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )*
loop69:
do {
int alt69=2;
int LA69_0 = input.LA(1);
if ( (LA69_0==32) ) {
alt69=1;
}
switch (alt69) {
case 1 :
// InternalSARL.g:2441:6: otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) )
{
otherlv_14=(Token)match(input,32,FOLLOW_52); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getCapacityMemberAccess().getCommaKeyword_8_1_1_0());
}
// InternalSARL.g:2445:6: ( (lv_parameters_15_0= ruleParameter ) )
// InternalSARL.g:2446:7: (lv_parameters_15_0= ruleParameter )
{
// InternalSARL.g:2446:7: (lv_parameters_15_0= ruleParameter )
// InternalSARL.g:2447:8: lv_parameters_15_0= ruleParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCapacityMemberAccess().getParametersParameterParserRuleCall_8_1_1_1_0());
}
pushFollow(FOLLOW_51);
lv_parameters_15_0=ruleParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCapacityMemberRule());
}
add(
current,
"parameters",
lv_parameters_15_0,
"io.sarl.lang.SARL.Parameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop69;
}
} while (true);
}
break;
}
otherlv_16=(Token)match(input,50,FOLLOW_58); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_16, grammarAccess.getCapacityMemberAccess().getRightParenthesisKeyword_8_2());
}
}
break;
}
// InternalSARL.g:2471:3: (otherlv_17= ':' ( ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) ) )?
int alt73=2;
int LA73_0 = input.LA(1);
if ( (LA73_0==46) ) {
alt73=1;
}
switch (alt73) {
case 1 :
// InternalSARL.g:2472:4: otherlv_17= ':' ( ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) )
{
otherlv_17=(Token)match(input,46,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_17, grammarAccess.getCapacityMemberAccess().getColonKeyword_9_0());
}
// InternalSARL.g:2476:4: ( ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) )
int alt72=2;
alt72 = dfa72.predict(input);
switch (alt72) {
case 1 :
// InternalSARL.g:2477:5: ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) )
{
// InternalSARL.g:2477:5: ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) )
// InternalSARL.g:2478:6: (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs )
{
// InternalSARL.g:2478:6: (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs )
// InternalSARL.g:2479:7: lv_returnType_18_0= ruleTypeReferenceWithTypeArgs
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCapacityMemberAccess().getReturnTypeTypeReferenceWithTypeArgsParserRuleCall_9_1_0_0());
}
pushFollow(FOLLOW_59);
lv_returnType_18_0=ruleTypeReferenceWithTypeArgs();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCapacityMemberRule());
}
set(
current,
"returnType",
lv_returnType_18_0,
"org.eclipse.xtend.core.Xtend.TypeReferenceWithTypeArgs");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalSARL.g:2497:5: ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) )
{
// InternalSARL.g:2497:5: ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) )
// InternalSARL.g:2498:6: (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs )
{
// InternalSARL.g:2498:6: (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs )
// InternalSARL.g:2499:7: lv_returnType_19_0= ruleTypeReferenceNoTypeArgs
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCapacityMemberAccess().getReturnTypeTypeReferenceNoTypeArgsParserRuleCall_9_1_1_0());
}
pushFollow(FOLLOW_59);
lv_returnType_19_0=ruleTypeReferenceNoTypeArgs();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCapacityMemberRule());
}
set(
current,
"returnType",
lv_returnType_19_0,
"org.eclipse.xtend.core.Xtend.TypeReferenceNoTypeArgs");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
break;
}
// InternalSARL.g:2518:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) )
// InternalSARL.g:2519:4: ( ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) )
{
// InternalSARL.g:2519:4: ( ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) )
// InternalSARL.g:2520:5: ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10());
// InternalSARL.g:2523:5: ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* )
// InternalSARL.g:2524:6: ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )*
{
// InternalSARL.g:2524:6: ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )*
loop77:
do {
int alt77=4;
int LA77_0 = input.LA(1);
if ( LA77_0 == 51 && getUnorderedGroupHelper().canSelect(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 0) ) {
alt77=1;
}
else if ( LA77_0 == 53 && getUnorderedGroupHelper().canSelect(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 1) ) {
alt77=2;
}
else if ( LA77_0 == 52 && getUnorderedGroupHelper().canSelect(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 2) ) {
alt77=3;
}
switch (alt77) {
case 1 :
// InternalSARL.g:2525:4: ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) )
{
// InternalSARL.g:2525:4: ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) )
// InternalSARL.g:2526:5: {...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleCapacityMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 0)");
}
// InternalSARL.g:2526:112: ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) )
// InternalSARL.g:2527:6: ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 0);
// InternalSARL.g:2530:9: ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) )
// InternalSARL.g:2530:10: {...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleCapacityMember", "true");
}
// InternalSARL.g:2530:19: (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* )
// InternalSARL.g:2530:20: otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )*
{
otherlv_21=(Token)match(input,51,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_21, grammarAccess.getCapacityMemberAccess().getThrowsKeyword_10_0_0());
}
// InternalSARL.g:2534:9: ( (lv_exceptions_22_0= ruleJvmTypeReference ) )
// InternalSARL.g:2535:10: (lv_exceptions_22_0= ruleJvmTypeReference )
{
// InternalSARL.g:2535:10: (lv_exceptions_22_0= ruleJvmTypeReference )
// InternalSARL.g:2536:11: lv_exceptions_22_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCapacityMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_10_0_1_0());
}
pushFollow(FOLLOW_60);
lv_exceptions_22_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCapacityMemberRule());
}
add(
current,
"exceptions",
lv_exceptions_22_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:2553:9: (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )*
loop74:
do {
int alt74=2;
int LA74_0 = input.LA(1);
if ( (LA74_0==32) ) {
alt74=1;
}
switch (alt74) {
case 1 :
// InternalSARL.g:2554:10: otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) )
{
otherlv_23=(Token)match(input,32,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_23, grammarAccess.getCapacityMemberAccess().getCommaKeyword_10_0_2_0());
}
// InternalSARL.g:2558:10: ( (lv_exceptions_24_0= ruleJvmTypeReference ) )
// InternalSARL.g:2559:11: (lv_exceptions_24_0= ruleJvmTypeReference )
{
// InternalSARL.g:2559:11: (lv_exceptions_24_0= ruleJvmTypeReference )
// InternalSARL.g:2560:12: lv_exceptions_24_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCapacityMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_10_0_2_1_0());
}
pushFollow(FOLLOW_60);
lv_exceptions_24_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCapacityMemberRule());
}
add(
current,
"exceptions",
lv_exceptions_24_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop74;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10());
}
}
}
break;
case 2 :
// InternalSARL.g:2584:4: ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) )
{
// InternalSARL.g:2584:4: ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) )
// InternalSARL.g:2585:5: {...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleCapacityMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 1)");
}
// InternalSARL.g:2585:112: ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) )
// InternalSARL.g:2586:6: ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 1);
// InternalSARL.g:2589:9: ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) )
// InternalSARL.g:2589:10: {...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleCapacityMember", "true");
}
// InternalSARL.g:2589:19: (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* )
// InternalSARL.g:2589:20: otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )*
{
otherlv_25=(Token)match(input,53,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_25, grammarAccess.getCapacityMemberAccess().getFiresKeyword_10_1_0());
}
// InternalSARL.g:2593:9: ( (lv_firedEvents_26_0= ruleJvmTypeReference ) )
// InternalSARL.g:2594:10: (lv_firedEvents_26_0= ruleJvmTypeReference )
{
// InternalSARL.g:2594:10: (lv_firedEvents_26_0= ruleJvmTypeReference )
// InternalSARL.g:2595:11: lv_firedEvents_26_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCapacityMemberAccess().getFiredEventsJvmTypeReferenceParserRuleCall_10_1_1_0());
}
pushFollow(FOLLOW_60);
lv_firedEvents_26_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCapacityMemberRule());
}
add(
current,
"firedEvents",
lv_firedEvents_26_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:2612:9: (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )*
loop75:
do {
int alt75=2;
int LA75_0 = input.LA(1);
if ( (LA75_0==32) ) {
alt75=1;
}
switch (alt75) {
case 1 :
// InternalSARL.g:2613:10: otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) )
{
otherlv_27=(Token)match(input,32,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_27, grammarAccess.getCapacityMemberAccess().getCommaKeyword_10_1_2_0());
}
// InternalSARL.g:2617:10: ( (lv_firedEvents_28_0= ruleJvmTypeReference ) )
// InternalSARL.g:2618:11: (lv_firedEvents_28_0= ruleJvmTypeReference )
{
// InternalSARL.g:2618:11: (lv_firedEvents_28_0= ruleJvmTypeReference )
// InternalSARL.g:2619:12: lv_firedEvents_28_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCapacityMemberAccess().getFiredEventsJvmTypeReferenceParserRuleCall_10_1_2_1_0());
}
pushFollow(FOLLOW_60);
lv_firedEvents_28_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCapacityMemberRule());
}
add(
current,
"firedEvents",
lv_firedEvents_28_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop75;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10());
}
}
}
break;
case 3 :
// InternalSARL.g:2643:4: ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) )
{
// InternalSARL.g:2643:4: ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) )
// InternalSARL.g:2644:5: {...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 2) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleCapacityMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 2)");
}
// InternalSARL.g:2644:112: ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) )
// InternalSARL.g:2645:6: ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 2);
// InternalSARL.g:2648:9: ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) )
// InternalSARL.g:2648:10: {...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleCapacityMember", "true");
}
// InternalSARL.g:2648:19: (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* )
// InternalSARL.g:2648:20: otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )*
{
otherlv_29=(Token)match(input,52,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_29, grammarAccess.getCapacityMemberAccess().getWithKeyword_10_2_0());
}
// InternalSARL.g:2652:9: ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) )
// InternalSARL.g:2653:10: (lv_typeParameters_30_0= ruleJvmTypeParameter )
{
// InternalSARL.g:2653:10: (lv_typeParameters_30_0= ruleJvmTypeParameter )
// InternalSARL.g:2654:11: lv_typeParameters_30_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCapacityMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_10_2_1_0());
}
pushFollow(FOLLOW_60);
lv_typeParameters_30_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCapacityMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_30_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:2671:9: (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )*
loop76:
do {
int alt76=2;
int LA76_0 = input.LA(1);
if ( (LA76_0==32) ) {
alt76=1;
}
switch (alt76) {
case 1 :
// InternalSARL.g:2672:10: otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) )
{
otherlv_31=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_31, grammarAccess.getCapacityMemberAccess().getCommaKeyword_10_2_2_0());
}
// InternalSARL.g:2676:10: ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) )
// InternalSARL.g:2677:11: (lv_typeParameters_32_0= ruleJvmTypeParameter )
{
// InternalSARL.g:2677:11: (lv_typeParameters_32_0= ruleJvmTypeParameter )
// InternalSARL.g:2678:12: lv_typeParameters_32_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCapacityMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_10_2_2_1_0());
}
pushFollow(FOLLOW_60);
lv_typeParameters_32_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCapacityMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_32_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop76;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10());
}
}
}
break;
default :
break loop77;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10());
}
// InternalSARL.g:2709:3: ( ( (lv_expression_33_0= ruleXBlockExpression ) ) | otherlv_34= ';' )?
int alt78=3;
int LA78_0 = input.LA(1);
if ( (LA78_0==29) ) {
alt78=1;
}
else if ( (LA78_0==26) ) {
alt78=2;
}
switch (alt78) {
case 1 :
// InternalSARL.g:2710:4: ( (lv_expression_33_0= ruleXBlockExpression ) )
{
// InternalSARL.g:2710:4: ( (lv_expression_33_0= ruleXBlockExpression ) )
// InternalSARL.g:2711:5: (lv_expression_33_0= ruleXBlockExpression )
{
// InternalSARL.g:2711:5: (lv_expression_33_0= ruleXBlockExpression )
// InternalSARL.g:2712:6: lv_expression_33_0= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCapacityMemberAccess().getExpressionXBlockExpressionParserRuleCall_11_0_0());
}
pushFollow(FOLLOW_2);
lv_expression_33_0=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCapacityMemberRule());
}
set(
current,
"expression",
lv_expression_33_0,
"org.eclipse.xtext.xbase.Xbase.XBlockExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalSARL.g:2730:4: otherlv_34= ';'
{
otherlv_34=(Token)match(input,26,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_34, grammarAccess.getCapacityMemberAccess().getSemicolonKeyword_11_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCapacityMember"
// $ANTLR start "entryRuleAOPMember"
// InternalSARL.g:2739:1: entryRuleAOPMember returns [EObject current=null] : iv_ruleAOPMember= ruleAOPMember EOF ;
public final EObject entryRuleAOPMember() throws RecognitionException {
EObject current = null;
EObject iv_ruleAOPMember = null;
try {
// InternalSARL.g:2739:50: (iv_ruleAOPMember= ruleAOPMember EOF )
// InternalSARL.g:2740:2: iv_ruleAOPMember= ruleAOPMember EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberRule());
}
pushFollow(FOLLOW_1);
iv_ruleAOPMember=ruleAOPMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAOPMember;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAOPMember"
// $ANTLR start "ruleAOPMember"
// InternalSARL.g:2746:1: ruleAOPMember returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) ) ) | ( () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )? ) | ( () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )? ) | ( () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )? ) | ( () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}' ) | ( () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}' ) | ( () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}' ) | ( () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}' ) ) ) ;
public final EObject ruleAOPMember() throws RecognitionException {
EObject current = null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_10=null;
Token otherlv_12=null;
Token otherlv_14=null;
Token otherlv_16=null;
Token otherlv_18=null;
Token otherlv_20=null;
Token lv_modifiers_23_0=null;
Token otherlv_27=null;
Token lv_modifiers_31_0=null;
Token otherlv_33=null;
Token otherlv_36=null;
Token otherlv_38=null;
Token otherlv_40=null;
Token otherlv_43=null;
Token otherlv_44=null;
Token otherlv_46=null;
Token otherlv_48=null;
Token otherlv_49=null;
Token otherlv_51=null;
Token otherlv_53=null;
Token otherlv_55=null;
Token otherlv_57=null;
Token otherlv_59=null;
Token otherlv_61=null;
Token otherlv_69=null;
Token otherlv_71=null;
Token otherlv_73=null;
Token otherlv_75=null;
Token otherlv_77=null;
Token otherlv_79=null;
Token otherlv_80=null;
Token otherlv_84=null;
Token otherlv_86=null;
Token otherlv_88=null;
Token otherlv_90=null;
Token otherlv_92=null;
Token otherlv_94=null;
Token otherlv_97=null;
Token otherlv_100=null;
Token otherlv_102=null;
Token otherlv_104=null;
Token otherlv_106=null;
Token otherlv_108=null;
Token otherlv_110=null;
Token otherlv_112=null;
Token otherlv_114=null;
Token otherlv_116=null;
Token otherlv_119=null;
Token otherlv_121=null;
Token otherlv_123=null;
Token otherlv_125=null;
Token otherlv_126=null;
Token otherlv_128=null;
Token otherlv_130=null;
Token otherlv_132=null;
Token otherlv_135=null;
Token otherlv_137=null;
Token otherlv_139=null;
Token otherlv_141=null;
Token otherlv_142=null;
Token otherlv_145=null;
Token otherlv_147=null;
Token otherlv_149=null;
EObject lv_annotations_1_0 = null;
EObject lv_name_4_0 = null;
EObject lv_guard_6_0 = null;
EObject lv_expression_8_0 = null;
EObject lv_capacities_11_0 = null;
EObject lv_capacities_13_0 = null;
EObject lv_capacities_17_0 = null;
EObject lv_capacities_19_0 = null;
AntlrDatatypeRuleToken lv_modifiers_22_0 = null;
AntlrDatatypeRuleToken lv_modifiers_24_0 = null;
AntlrDatatypeRuleToken lv_modifiers_25_0 = null;
AntlrDatatypeRuleToken lv_name_26_0 = null;
EObject lv_type_28_0 = null;
AntlrDatatypeRuleToken lv_modifiers_29_0 = null;
AntlrDatatypeRuleToken lv_modifiers_30_0 = null;
AntlrDatatypeRuleToken lv_name_32_0 = null;
EObject lv_type_34_0 = null;
AntlrDatatypeRuleToken lv_name_35_0 = null;
EObject lv_type_37_0 = null;
EObject lv_initialValue_39_0 = null;
AntlrDatatypeRuleToken lv_modifiers_42_0 = null;
EObject lv_typeParameters_45_0 = null;
EObject lv_typeParameters_47_0 = null;
EObject lv_parameters_50_0 = null;
EObject lv_parameters_52_0 = null;
EObject lv_exceptions_56_0 = null;
EObject lv_exceptions_58_0 = null;
EObject lv_typeParameters_60_0 = null;
EObject lv_typeParameters_62_0 = null;
EObject lv_expression_63_0 = null;
AntlrDatatypeRuleToken lv_modifiers_65_0 = null;
AntlrDatatypeRuleToken lv_modifiers_66_0 = null;
AntlrDatatypeRuleToken lv_modifiers_67_0 = null;
AntlrDatatypeRuleToken lv_modifiers_68_0 = null;
EObject lv_typeParameters_70_0 = null;
EObject lv_typeParameters_72_0 = null;
AntlrDatatypeRuleToken lv_name_74_0 = null;
EObject lv_parameters_76_0 = null;
EObject lv_parameters_78_0 = null;
EObject lv_returnType_81_0 = null;
EObject lv_returnType_82_0 = null;
EObject lv_exceptions_85_0 = null;
EObject lv_exceptions_87_0 = null;
EObject lv_firedEvents_89_0 = null;
EObject lv_firedEvents_91_0 = null;
EObject lv_typeParameters_93_0 = null;
EObject lv_typeParameters_95_0 = null;
EObject lv_expression_96_0 = null;
AntlrDatatypeRuleToken lv_modifiers_99_0 = null;
AntlrDatatypeRuleToken lv_name_101_0 = null;
EObject lv_typeParameters_103_0 = null;
EObject lv_typeParameters_105_0 = null;
EObject lv_extends_109_0 = null;
EObject lv_implements_111_0 = null;
EObject lv_implements_113_0 = null;
EObject lv_members_115_0 = null;
AntlrDatatypeRuleToken lv_modifiers_118_0 = null;
AntlrDatatypeRuleToken lv_name_120_0 = null;
EObject lv_typeParameters_122_0 = null;
EObject lv_typeParameters_124_0 = null;
EObject lv_extends_127_0 = null;
EObject lv_extends_129_0 = null;
EObject lv_members_131_0 = null;
AntlrDatatypeRuleToken lv_modifiers_134_0 = null;
AntlrDatatypeRuleToken lv_name_136_0 = null;
EObject lv_members_138_0 = null;
EObject lv_members_140_0 = null;
AntlrDatatypeRuleToken lv_modifiers_144_0 = null;
AntlrDatatypeRuleToken lv_name_146_0 = null;
EObject lv_members_148_0 = null;
enterRule();
try {
// InternalSARL.g:2752:2: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) ) ) | ( () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )? ) | ( () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )? ) | ( () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )? ) | ( () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}' ) | ( () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}' ) | ( () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}' ) | ( () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}' ) ) ) )
// InternalSARL.g:2753:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) ) ) | ( () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )? ) | ( () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )? ) | ( () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )? ) | ( () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}' ) | ( () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}' ) | ( () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}' ) | ( () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}' ) ) )
{
// InternalSARL.g:2753:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) ) ) | ( () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )? ) | ( () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )? ) | ( () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )? ) | ( () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}' ) | ( () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}' ) | ( () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}' ) | ( () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}' ) ) )
// InternalSARL.g:2754:3: () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) ) ) | ( () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )? ) | ( () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )? ) | ( () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )? ) | ( () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}' ) | ( () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}' ) | ( () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}' ) | ( () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}' ) )
{
// InternalSARL.g:2754:3: ()
// InternalSARL.g:2755:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getAOPMemberAccess().getXtendMemberAction_0(),
current);
}
}
// InternalSARL.g:2761:3: ( (lv_annotations_1_0= ruleXAnnotation ) )*
loop79:
do {
int alt79=2;
int LA79_0 = input.LA(1);
if ( (LA79_0==94) ) {
alt79=1;
}
switch (alt79) {
case 1 :
// InternalSARL.g:2762:4: (lv_annotations_1_0= ruleXAnnotation )
{
// InternalSARL.g:2762:4: (lv_annotations_1_0= ruleXAnnotation )
// InternalSARL.g:2763:5: lv_annotations_1_0= ruleXAnnotation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getAnnotationsXAnnotationParserRuleCall_1_0());
}
pushFollow(FOLLOW_61);
lv_annotations_1_0=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"annotations",
lv_annotations_1_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotation");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop79;
}
} while (true);
// InternalSARL.g:2780:3: ( ( () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) ) ) | ( () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )? ) | ( () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )? ) | ( () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )? ) | ( () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}' ) | ( () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}' ) | ( () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}' ) | ( () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}' ) )
int alt134=10;
alt134 = dfa134.predict(input);
switch (alt134) {
case 1 :
// InternalSARL.g:2781:4: ( () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) ) )
{
// InternalSARL.g:2781:4: ( () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) ) )
// InternalSARL.g:2782:5: () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) )
{
// InternalSARL.g:2782:5: ()
// InternalSARL.g:2783:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAOPMemberAccess().getSarlBehaviorUnitAnnotationInfoAction_2_0_0(),
current);
}
}
otherlv_3=(Token)match(input,54,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getAOPMemberAccess().getOnKeyword_2_0_1());
}
// InternalSARL.g:2793:5: ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:2794:6: (lv_name_4_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:2794:6: (lv_name_4_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:2795:7: lv_name_4_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getNameJvmParameterizedTypeReferenceParserRuleCall_2_0_2_0());
}
pushFollow(FOLLOW_62);
lv_name_4_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"name",
lv_name_4_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:2812:5: (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )?
int alt80=2;
int LA80_0 = input.LA(1);
if ( (LA80_0==55) ) {
alt80=1;
}
switch (alt80) {
case 1 :
// InternalSARL.g:2813:6: otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']'
{
otherlv_5=(Token)match(input,55,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getAOPMemberAccess().getLeftSquareBracketKeyword_2_0_3_0());
}
// InternalSARL.g:2817:6: ( (lv_guard_6_0= ruleXExpression ) )
// InternalSARL.g:2818:7: (lv_guard_6_0= ruleXExpression )
{
// InternalSARL.g:2818:7: (lv_guard_6_0= ruleXExpression )
// InternalSARL.g:2819:8: lv_guard_6_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getGuardXExpressionParserRuleCall_2_0_3_1_0());
}
pushFollow(FOLLOW_63);
lv_guard_6_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"guard",
lv_guard_6_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
otherlv_7=(Token)match(input,56,FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getAOPMemberAccess().getRightSquareBracketKeyword_2_0_3_2());
}
}
break;
}
// InternalSARL.g:2841:5: ( (lv_expression_8_0= ruleXBlockExpression ) )
// InternalSARL.g:2842:6: (lv_expression_8_0= ruleXBlockExpression )
{
// InternalSARL.g:2842:6: (lv_expression_8_0= ruleXBlockExpression )
// InternalSARL.g:2843:7: lv_expression_8_0= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getExpressionXBlockExpressionParserRuleCall_2_0_4_0());
}
pushFollow(FOLLOW_2);
lv_expression_8_0=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"expression",
lv_expression_8_0,
"org.eclipse.xtext.xbase.Xbase.XBlockExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalSARL.g:2862:4: ( () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )? )
{
// InternalSARL.g:2862:4: ( () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )? )
// InternalSARL.g:2863:5: () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )?
{
// InternalSARL.g:2863:5: ()
// InternalSARL.g:2864:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAOPMemberAccess().getSarlCapacityUsesAnnotationInfoAction_2_1_0(),
current);
}
}
otherlv_10=(Token)match(input,57,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getAOPMemberAccess().getUsesKeyword_2_1_1());
}
// InternalSARL.g:2874:5: ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:2875:6: (lv_capacities_11_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:2875:6: (lv_capacities_11_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:2876:7: lv_capacities_11_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getCapacitiesJvmParameterizedTypeReferenceParserRuleCall_2_1_2_0());
}
pushFollow(FOLLOW_64);
lv_capacities_11_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"capacities",
lv_capacities_11_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:2893:5: (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )*
loop81:
do {
int alt81=2;
int LA81_0 = input.LA(1);
if ( (LA81_0==32) ) {
alt81=1;
}
switch (alt81) {
case 1 :
// InternalSARL.g:2894:6: otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_12=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_1_3_0());
}
// InternalSARL.g:2898:6: ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:2899:7: (lv_capacities_13_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:2899:7: (lv_capacities_13_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:2900:8: lv_capacities_13_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getCapacitiesJvmParameterizedTypeReferenceParserRuleCall_2_1_3_1_0());
}
pushFollow(FOLLOW_64);
lv_capacities_13_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"capacities",
lv_capacities_13_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop81;
}
} while (true);
// InternalSARL.g:2918:5: (otherlv_14= ';' )?
int alt82=2;
int LA82_0 = input.LA(1);
if ( (LA82_0==26) ) {
alt82=1;
}
switch (alt82) {
case 1 :
// InternalSARL.g:2919:6: otherlv_14= ';'
{
otherlv_14=(Token)match(input,26,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getAOPMemberAccess().getSemicolonKeyword_2_1_4());
}
}
break;
}
}
}
break;
case 3 :
// InternalSARL.g:2926:4: ( () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )? )
{
// InternalSARL.g:2926:4: ( () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )? )
// InternalSARL.g:2927:5: () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )?
{
// InternalSARL.g:2927:5: ()
// InternalSARL.g:2928:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAOPMemberAccess().getSarlRequiredCapacityAnnotationInfoAction_2_2_0(),
current);
}
}
otherlv_16=(Token)match(input,58,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_16, grammarAccess.getAOPMemberAccess().getRequiresKeyword_2_2_1());
}
// InternalSARL.g:2938:5: ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:2939:6: (lv_capacities_17_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:2939:6: (lv_capacities_17_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:2940:7: lv_capacities_17_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getCapacitiesJvmParameterizedTypeReferenceParserRuleCall_2_2_2_0());
}
pushFollow(FOLLOW_64);
lv_capacities_17_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"capacities",
lv_capacities_17_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:2957:5: (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )*
loop83:
do {
int alt83=2;
int LA83_0 = input.LA(1);
if ( (LA83_0==32) ) {
alt83=1;
}
switch (alt83) {
case 1 :
// InternalSARL.g:2958:6: otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_18=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_18, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_2_3_0());
}
// InternalSARL.g:2962:6: ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:2963:7: (lv_capacities_19_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:2963:7: (lv_capacities_19_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:2964:8: lv_capacities_19_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getCapacitiesJvmParameterizedTypeReferenceParserRuleCall_2_2_3_1_0());
}
pushFollow(FOLLOW_64);
lv_capacities_19_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"capacities",
lv_capacities_19_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop83;
}
} while (true);
// InternalSARL.g:2982:5: (otherlv_20= ';' )?
int alt84=2;
int LA84_0 = input.LA(1);
if ( (LA84_0==26) ) {
alt84=1;
}
switch (alt84) {
case 1 :
// InternalSARL.g:2983:6: otherlv_20= ';'
{
otherlv_20=(Token)match(input,26,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_20, grammarAccess.getAOPMemberAccess().getSemicolonKeyword_2_2_4());
}
}
break;
}
}
}
break;
case 4 :
// InternalSARL.g:2990:4: ( () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )? )
{
// InternalSARL.g:2990:4: ( () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )? )
// InternalSARL.g:2991:5: () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )?
{
// InternalSARL.g:2991:5: ()
// InternalSARL.g:2992:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAOPMemberAccess().getSarlFieldAnnotationInfoAction_2_3_0(),
current);
}
}
// InternalSARL.g:2998:5: ( (lv_modifiers_22_0= ruleCommonModifier ) )*
loop85:
do {
int alt85=2;
int LA85_0 = input.LA(1);
if ( (LA85_0==25||(LA85_0>=69 && LA85_0<=80)) ) {
alt85=1;
}
switch (alt85) {
case 1 :
// InternalSARL.g:2999:6: (lv_modifiers_22_0= ruleCommonModifier )
{
// InternalSARL.g:2999:6: (lv_modifiers_22_0= ruleCommonModifier )
// InternalSARL.g:3000:7: lv_modifiers_22_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_3_1_0());
}
pushFollow(FOLLOW_38);
lv_modifiers_22_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_22_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop85;
}
} while (true);
// InternalSARL.g:3017:5: ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) )
int alt90=2;
int LA90_0 = input.LA(1);
if ( (LA90_0==45) ) {
alt90=1;
}
else if ( ((LA90_0>=61 && LA90_0<=62)) ) {
alt90=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 90, 0, input);
throw nvae;
}
switch (alt90) {
case 1 :
// InternalSARL.g:3018:6: ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) )
{
// InternalSARL.g:3018:6: ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) )
// InternalSARL.g:3019:7: ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) )
{
// InternalSARL.g:3019:7: ( (lv_modifiers_23_0= 'extension' ) )
// InternalSARL.g:3020:8: (lv_modifiers_23_0= 'extension' )
{
// InternalSARL.g:3020:8: (lv_modifiers_23_0= 'extension' )
// InternalSARL.g:3021:9: lv_modifiers_23_0= 'extension'
{
lv_modifiers_23_0=(Token)match(input,45,FOLLOW_39); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_modifiers_23_0, grammarAccess.getAOPMemberAccess().getModifiersExtensionKeyword_2_3_2_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAOPMemberRule());
}
addWithLastConsumed(current, "modifiers", lv_modifiers_23_0, "extension");
}
}
}
// InternalSARL.g:3033:7: ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )*
loop86:
do {
int alt86=3;
int LA86_0 = input.LA(1);
if ( ((LA86_0>=61 && LA86_0<=62)) ) {
alt86=1;
}
else if ( (LA86_0==25||(LA86_0>=69 && LA86_0<=80)) ) {
alt86=2;
}
switch (alt86) {
case 1 :
// InternalSARL.g:3034:8: ( (lv_modifiers_24_0= ruleFieldModifier ) )
{
// InternalSARL.g:3034:8: ( (lv_modifiers_24_0= ruleFieldModifier ) )
// InternalSARL.g:3035:9: (lv_modifiers_24_0= ruleFieldModifier )
{
// InternalSARL.g:3035:9: (lv_modifiers_24_0= ruleFieldModifier )
// InternalSARL.g:3036:10: lv_modifiers_24_0= ruleFieldModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersFieldModifierParserRuleCall_2_3_2_0_1_0_0());
}
pushFollow(FOLLOW_39);
lv_modifiers_24_0=ruleFieldModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_24_0,
"org.eclipse.xtend.core.Xtend.FieldModifier");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalSARL.g:3054:8: ( (lv_modifiers_25_0= ruleCommonModifier ) )
{
// InternalSARL.g:3054:8: ( (lv_modifiers_25_0= ruleCommonModifier ) )
// InternalSARL.g:3055:9: (lv_modifiers_25_0= ruleCommonModifier )
{
// InternalSARL.g:3055:9: (lv_modifiers_25_0= ruleCommonModifier )
// InternalSARL.g:3056:10: lv_modifiers_25_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_3_2_0_1_1_0());
}
pushFollow(FOLLOW_39);
lv_modifiers_25_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_25_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop86;
}
} while (true);
// InternalSARL.g:3074:7: ( (lv_name_26_0= ruleValidID ) )
// InternalSARL.g:3075:8: (lv_name_26_0= ruleValidID )
{
// InternalSARL.g:3075:8: (lv_name_26_0= ruleValidID )
// InternalSARL.g:3076:9: lv_name_26_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getNameValidIDParserRuleCall_2_3_2_0_2_0());
}
pushFollow(FOLLOW_40);
lv_name_26_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"name",
lv_name_26_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_27=(Token)match(input,46,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_27, grammarAccess.getAOPMemberAccess().getColonKeyword_2_3_2_0_3());
}
// InternalSARL.g:3097:7: ( (lv_type_28_0= ruleJvmTypeReference ) )
// InternalSARL.g:3098:8: (lv_type_28_0= ruleJvmTypeReference )
{
// InternalSARL.g:3098:8: (lv_type_28_0= ruleJvmTypeReference )
// InternalSARL.g:3099:9: lv_type_28_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeJvmTypeReferenceParserRuleCall_2_3_2_0_4_0());
}
pushFollow(FOLLOW_42);
lv_type_28_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"type",
lv_type_28_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalSARL.g:3118:6: ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) )
{
// InternalSARL.g:3118:6: ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) )
// InternalSARL.g:3119:7: ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) )
{
// InternalSARL.g:3119:7: ( (lv_modifiers_29_0= ruleFieldModifier ) )
// InternalSARL.g:3120:8: (lv_modifiers_29_0= ruleFieldModifier )
{
// InternalSARL.g:3120:8: (lv_modifiers_29_0= ruleFieldModifier )
// InternalSARL.g:3121:9: lv_modifiers_29_0= ruleFieldModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersFieldModifierParserRuleCall_2_3_2_1_0_0());
}
pushFollow(FOLLOW_43);
lv_modifiers_29_0=ruleFieldModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_29_0,
"org.eclipse.xtend.core.Xtend.FieldModifier");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:3138:7: ( (lv_modifiers_30_0= ruleCommonModifier ) )*
loop87:
do {
int alt87=2;
int LA87_0 = input.LA(1);
if ( (LA87_0==25||(LA87_0>=69 && LA87_0<=80)) ) {
alt87=1;
}
switch (alt87) {
case 1 :
// InternalSARL.g:3139:8: (lv_modifiers_30_0= ruleCommonModifier )
{
// InternalSARL.g:3139:8: (lv_modifiers_30_0= ruleCommonModifier )
// InternalSARL.g:3140:9: lv_modifiers_30_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_3_2_1_1_0());
}
pushFollow(FOLLOW_43);
lv_modifiers_30_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_30_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop87;
}
} while (true);
// InternalSARL.g:3157:7: ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) )
int alt89=2;
int LA89_0 = input.LA(1);
if ( (LA89_0==45) ) {
alt89=1;
}
else if ( (LA89_0==RULE_ID||LA89_0==44||(LA89_0>=83 && LA89_0<=86)) ) {
alt89=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 89, 0, input);
throw nvae;
}
switch (alt89) {
case 1 :
// InternalSARL.g:3158:8: ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) )
{
// InternalSARL.g:3158:8: ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) )
// InternalSARL.g:3159:9: ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) )
{
// InternalSARL.g:3159:9: ( (lv_modifiers_31_0= 'extension' ) )
// InternalSARL.g:3160:10: (lv_modifiers_31_0= 'extension' )
{
// InternalSARL.g:3160:10: (lv_modifiers_31_0= 'extension' )
// InternalSARL.g:3161:11: lv_modifiers_31_0= 'extension'
{
lv_modifiers_31_0=(Token)match(input,45,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_modifiers_31_0, grammarAccess.getAOPMemberAccess().getModifiersExtensionKeyword_2_3_2_1_2_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAOPMemberRule());
}
addWithLastConsumed(current, "modifiers", lv_modifiers_31_0, "extension");
}
}
}
// InternalSARL.g:3173:9: ( (lv_name_32_0= ruleValidID ) )
// InternalSARL.g:3174:10: (lv_name_32_0= ruleValidID )
{
// InternalSARL.g:3174:10: (lv_name_32_0= ruleValidID )
// InternalSARL.g:3175:11: lv_name_32_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getNameValidIDParserRuleCall_2_3_2_1_2_0_1_0());
}
pushFollow(FOLLOW_40);
lv_name_32_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"name",
lv_name_32_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_33=(Token)match(input,46,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_33, grammarAccess.getAOPMemberAccess().getColonKeyword_2_3_2_1_2_0_2());
}
// InternalSARL.g:3196:9: ( (lv_type_34_0= ruleJvmTypeReference ) )
// InternalSARL.g:3197:10: (lv_type_34_0= ruleJvmTypeReference )
{
// InternalSARL.g:3197:10: (lv_type_34_0= ruleJvmTypeReference )
// InternalSARL.g:3198:11: lv_type_34_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeJvmTypeReferenceParserRuleCall_2_3_2_1_2_0_3_0());
}
pushFollow(FOLLOW_42);
lv_type_34_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"type",
lv_type_34_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalSARL.g:3217:8: ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? )
{
// InternalSARL.g:3217:8: ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? )
// InternalSARL.g:3218:9: ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )?
{
// InternalSARL.g:3218:9: ( (lv_name_35_0= ruleValidID ) )
// InternalSARL.g:3219:10: (lv_name_35_0= ruleValidID )
{
// InternalSARL.g:3219:10: (lv_name_35_0= ruleValidID )
// InternalSARL.g:3220:11: lv_name_35_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getNameValidIDParserRuleCall_2_3_2_1_2_1_0_0());
}
pushFollow(FOLLOW_44);
lv_name_35_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"name",
lv_name_35_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:3237:9: (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )?
int alt88=2;
int LA88_0 = input.LA(1);
if ( (LA88_0==46) ) {
alt88=1;
}
switch (alt88) {
case 1 :
// InternalSARL.g:3238:10: otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) )
{
otherlv_36=(Token)match(input,46,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_36, grammarAccess.getAOPMemberAccess().getColonKeyword_2_3_2_1_2_1_1_0());
}
// InternalSARL.g:3242:10: ( (lv_type_37_0= ruleJvmTypeReference ) )
// InternalSARL.g:3243:11: (lv_type_37_0= ruleJvmTypeReference )
{
// InternalSARL.g:3243:11: (lv_type_37_0= ruleJvmTypeReference )
// InternalSARL.g:3244:12: lv_type_37_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeJvmTypeReferenceParserRuleCall_2_3_2_1_2_1_1_1_0());
}
pushFollow(FOLLOW_42);
lv_type_37_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"type",
lv_type_37_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
}
}
}
break;
}
// InternalSARL.g:3266:5: (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )?
int alt91=2;
int LA91_0 = input.LA(1);
if ( (LA91_0==47) ) {
alt91=1;
}
switch (alt91) {
case 1 :
// InternalSARL.g:3267:6: otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) )
{
otherlv_38=(Token)match(input,47,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_38, grammarAccess.getAOPMemberAccess().getEqualsSignKeyword_2_3_3_0());
}
// InternalSARL.g:3271:6: ( (lv_initialValue_39_0= ruleXExpression ) )
// InternalSARL.g:3272:7: (lv_initialValue_39_0= ruleXExpression )
{
// InternalSARL.g:3272:7: (lv_initialValue_39_0= ruleXExpression )
// InternalSARL.g:3273:8: lv_initialValue_39_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getInitialValueXExpressionParserRuleCall_2_3_3_1_0());
}
pushFollow(FOLLOW_46);
lv_initialValue_39_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"initialValue",
lv_initialValue_39_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalSARL.g:3291:5: (otherlv_40= ';' )?
int alt92=2;
int LA92_0 = input.LA(1);
if ( (LA92_0==26) ) {
alt92=1;
}
switch (alt92) {
case 1 :
// InternalSARL.g:3292:6: otherlv_40= ';'
{
otherlv_40=(Token)match(input,26,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_40, grammarAccess.getAOPMemberAccess().getSemicolonKeyword_2_3_4());
}
}
break;
}
}
}
break;
case 5 :
// InternalSARL.g:3299:4: ( () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) ) )
{
// InternalSARL.g:3299:4: ( () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) ) )
// InternalSARL.g:3300:5: () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) )
{
// InternalSARL.g:3300:5: ()
// InternalSARL.g:3301:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAOPMemberAccess().getSarlConstructorAnnotationInfoAction_2_4_0(),
current);
}
}
// InternalSARL.g:3307:5: ( (lv_modifiers_42_0= ruleCommonModifier ) )*
loop93:
do {
int alt93=2;
int LA93_0 = input.LA(1);
if ( (LA93_0==25||(LA93_0>=69 && LA93_0<=80)) ) {
alt93=1;
}
switch (alt93) {
case 1 :
// InternalSARL.g:3308:6: (lv_modifiers_42_0= ruleCommonModifier )
{
// InternalSARL.g:3308:6: (lv_modifiers_42_0= ruleCommonModifier )
// InternalSARL.g:3309:7: lv_modifiers_42_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_4_1_0());
}
pushFollow(FOLLOW_47);
lv_modifiers_42_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_42_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop93;
}
} while (true);
otherlv_43=(Token)match(input,48,FOLLOW_48); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_43, grammarAccess.getAOPMemberAccess().getNewKeyword_2_4_2());
}
// InternalSARL.g:3330:5: (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )?
int alt95=2;
int LA95_0 = input.LA(1);
if ( (LA95_0==40) ) {
alt95=1;
}
switch (alt95) {
case 1 :
// InternalSARL.g:3331:6: otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>'
{
otherlv_44=(Token)match(input,40,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_44, grammarAccess.getAOPMemberAccess().getLessThanSignKeyword_2_4_3_0());
}
// InternalSARL.g:3335:6: ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) )
// InternalSARL.g:3336:7: (lv_typeParameters_45_0= ruleJvmTypeParameter )
{
// InternalSARL.g:3336:7: (lv_typeParameters_45_0= ruleJvmTypeParameter )
// InternalSARL.g:3337:8: lv_typeParameters_45_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_4_3_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_45_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_45_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:3354:6: (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )*
loop94:
do {
int alt94=2;
int LA94_0 = input.LA(1);
if ( (LA94_0==32) ) {
alt94=1;
}
switch (alt94) {
case 1 :
// InternalSARL.g:3355:7: otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) )
{
otherlv_46=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_46, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_4_3_2_0());
}
// InternalSARL.g:3359:7: ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) )
// InternalSARL.g:3360:8: (lv_typeParameters_47_0= ruleJvmTypeParameter )
{
// InternalSARL.g:3360:8: (lv_typeParameters_47_0= ruleJvmTypeParameter )
// InternalSARL.g:3361:9: lv_typeParameters_47_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_4_3_2_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_47_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_47_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop94;
}
} while (true);
otherlv_48=(Token)match(input,41,FOLLOW_49); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_48, grammarAccess.getAOPMemberAccess().getGreaterThanSignKeyword_2_4_3_3());
}
}
break;
}
// InternalSARL.g:3384:5: (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )?
int alt98=2;
int LA98_0 = input.LA(1);
if ( (LA98_0==49) ) {
alt98=1;
}
switch (alt98) {
case 1 :
// InternalSARL.g:3385:6: otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')'
{
otherlv_49=(Token)match(input,49,FOLLOW_50); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_49, grammarAccess.getAOPMemberAccess().getLeftParenthesisKeyword_2_4_4_0());
}
// InternalSARL.g:3389:6: ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )?
int alt97=2;
int LA97_0 = input.LA(1);
if ( (LA97_0==RULE_ID||(LA97_0>=44 && LA97_0<=45)||(LA97_0>=83 && LA97_0<=86)||LA97_0==94) ) {
alt97=1;
}
switch (alt97) {
case 1 :
// InternalSARL.g:3390:7: ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )*
{
// InternalSARL.g:3390:7: ( (lv_parameters_50_0= ruleParameter ) )
// InternalSARL.g:3391:8: (lv_parameters_50_0= ruleParameter )
{
// InternalSARL.g:3391:8: (lv_parameters_50_0= ruleParameter )
// InternalSARL.g:3392:9: lv_parameters_50_0= ruleParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getParametersParameterParserRuleCall_2_4_4_1_0_0());
}
pushFollow(FOLLOW_51);
lv_parameters_50_0=ruleParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"parameters",
lv_parameters_50_0,
"io.sarl.lang.SARL.Parameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:3409:7: (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )*
loop96:
do {
int alt96=2;
int LA96_0 = input.LA(1);
if ( (LA96_0==32) ) {
alt96=1;
}
switch (alt96) {
case 1 :
// InternalSARL.g:3410:8: otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) )
{
otherlv_51=(Token)match(input,32,FOLLOW_52); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_51, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_4_4_1_1_0());
}
// InternalSARL.g:3414:8: ( (lv_parameters_52_0= ruleParameter ) )
// InternalSARL.g:3415:9: (lv_parameters_52_0= ruleParameter )
{
// InternalSARL.g:3415:9: (lv_parameters_52_0= ruleParameter )
// InternalSARL.g:3416:10: lv_parameters_52_0= ruleParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getParametersParameterParserRuleCall_2_4_4_1_1_1_0());
}
pushFollow(FOLLOW_51);
lv_parameters_52_0=ruleParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"parameters",
lv_parameters_52_0,
"io.sarl.lang.SARL.Parameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop96;
}
} while (true);
}
break;
}
otherlv_53=(Token)match(input,50,FOLLOW_53); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_53, grammarAccess.getAOPMemberAccess().getRightParenthesisKeyword_2_4_4_2());
}
}
break;
}
// InternalSARL.g:3440:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) )
// InternalSARL.g:3441:6: ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) )
{
// InternalSARL.g:3441:6: ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) )
// InternalSARL.g:3442:7: ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5());
// InternalSARL.g:3445:7: ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* )
// InternalSARL.g:3446:8: ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )*
{
// InternalSARL.g:3446:8: ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )*
loop101:
do {
int alt101=3;
int LA101_0 = input.LA(1);
if ( LA101_0 == 51 && getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5(), 0) ) {
alt101=1;
}
else if ( LA101_0 == 52 && getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5(), 1) ) {
alt101=2;
}
switch (alt101) {
case 1 :
// InternalSARL.g:3447:6: ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) )
{
// InternalSARL.g:3447:6: ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) )
// InternalSARL.g:3448:7: {...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleAOPMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5(), 0)");
}
// InternalSARL.g:3448:112: ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) )
// InternalSARL.g:3449:8: ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5(), 0);
// InternalSARL.g:3452:11: ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) )
// InternalSARL.g:3452:12: {...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleAOPMember", "true");
}
// InternalSARL.g:3452:21: (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* )
// InternalSARL.g:3452:22: otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )*
{
otherlv_55=(Token)match(input,51,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_55, grammarAccess.getAOPMemberAccess().getThrowsKeyword_2_4_5_0_0());
}
// InternalSARL.g:3456:11: ( (lv_exceptions_56_0= ruleJvmTypeReference ) )
// InternalSARL.g:3457:12: (lv_exceptions_56_0= ruleJvmTypeReference )
{
// InternalSARL.g:3457:12: (lv_exceptions_56_0= ruleJvmTypeReference )
// InternalSARL.g:3458:13: lv_exceptions_56_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_4_5_0_1_0());
}
pushFollow(FOLLOW_54);
lv_exceptions_56_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"exceptions",
lv_exceptions_56_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:3475:11: (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )*
loop99:
do {
int alt99=2;
int LA99_0 = input.LA(1);
if ( (LA99_0==32) ) {
alt99=1;
}
switch (alt99) {
case 1 :
// InternalSARL.g:3476:12: otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) )
{
otherlv_57=(Token)match(input,32,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_57, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_4_5_0_2_0());
}
// InternalSARL.g:3480:12: ( (lv_exceptions_58_0= ruleJvmTypeReference ) )
// InternalSARL.g:3481:13: (lv_exceptions_58_0= ruleJvmTypeReference )
{
// InternalSARL.g:3481:13: (lv_exceptions_58_0= ruleJvmTypeReference )
// InternalSARL.g:3482:14: lv_exceptions_58_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_4_5_0_2_1_0());
}
pushFollow(FOLLOW_54);
lv_exceptions_58_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"exceptions",
lv_exceptions_58_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop99;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5());
}
}
}
break;
case 2 :
// InternalSARL.g:3506:6: ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) )
{
// InternalSARL.g:3506:6: ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) )
// InternalSARL.g:3507:7: {...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleAOPMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5(), 1)");
}
// InternalSARL.g:3507:112: ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) )
// InternalSARL.g:3508:8: ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5(), 1);
// InternalSARL.g:3511:11: ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) )
// InternalSARL.g:3511:12: {...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleAOPMember", "true");
}
// InternalSARL.g:3511:21: (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* )
// InternalSARL.g:3511:22: otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )*
{
otherlv_59=(Token)match(input,52,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_59, grammarAccess.getAOPMemberAccess().getWithKeyword_2_4_5_1_0());
}
// InternalSARL.g:3515:11: ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) )
// InternalSARL.g:3516:12: (lv_typeParameters_60_0= ruleJvmTypeParameter )
{
// InternalSARL.g:3516:12: (lv_typeParameters_60_0= ruleJvmTypeParameter )
// InternalSARL.g:3517:13: lv_typeParameters_60_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_4_5_1_1_0());
}
pushFollow(FOLLOW_54);
lv_typeParameters_60_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_60_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:3534:11: (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )*
loop100:
do {
int alt100=2;
int LA100_0 = input.LA(1);
if ( (LA100_0==32) ) {
alt100=1;
}
switch (alt100) {
case 1 :
// InternalSARL.g:3535:12: otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) )
{
otherlv_61=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_61, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_4_5_1_2_0());
}
// InternalSARL.g:3539:12: ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) )
// InternalSARL.g:3540:13: (lv_typeParameters_62_0= ruleJvmTypeParameter )
{
// InternalSARL.g:3540:13: (lv_typeParameters_62_0= ruleJvmTypeParameter )
// InternalSARL.g:3541:14: lv_typeParameters_62_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_4_5_1_2_1_0());
}
pushFollow(FOLLOW_54);
lv_typeParameters_62_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_62_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop100;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5());
}
}
}
break;
default :
break loop101;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5());
}
// InternalSARL.g:3572:5: ( (lv_expression_63_0= ruleXBlockExpression ) )
// InternalSARL.g:3573:6: (lv_expression_63_0= ruleXBlockExpression )
{
// InternalSARL.g:3573:6: (lv_expression_63_0= ruleXBlockExpression )
// InternalSARL.g:3574:7: lv_expression_63_0= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getExpressionXBlockExpressionParserRuleCall_2_4_6_0());
}
pushFollow(FOLLOW_2);
lv_expression_63_0=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"expression",
lv_expression_63_0,
"org.eclipse.xtext.xbase.Xbase.XBlockExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 6 :
// InternalSARL.g:3593:4: ( () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? )
{
// InternalSARL.g:3593:4: ( () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? )
// InternalSARL.g:3594:5: () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )?
{
// InternalSARL.g:3594:5: ()
// InternalSARL.g:3595:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAOPMemberAccess().getSarlActionAnnotationInfoAction_2_5_0(),
current);
}
}
// InternalSARL.g:3601:5: ( (lv_modifiers_65_0= ruleCommonModifier ) )*
loop102:
do {
int alt102=2;
int LA102_0 = input.LA(1);
if ( (LA102_0==25||(LA102_0>=69 && LA102_0<=80)) ) {
alt102=1;
}
switch (alt102) {
case 1 :
// InternalSARL.g:3602:6: (lv_modifiers_65_0= ruleCommonModifier )
{
// InternalSARL.g:3602:6: (lv_modifiers_65_0= ruleCommonModifier )
// InternalSARL.g:3603:7: lv_modifiers_65_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_5_1_0());
}
pushFollow(FOLLOW_55);
lv_modifiers_65_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_65_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop102;
}
} while (true);
// InternalSARL.g:3620:5: ( (lv_modifiers_66_0= ruleMethodModifier ) )
// InternalSARL.g:3621:6: (lv_modifiers_66_0= ruleMethodModifier )
{
// InternalSARL.g:3621:6: (lv_modifiers_66_0= ruleMethodModifier )
// InternalSARL.g:3622:7: lv_modifiers_66_0= ruleMethodModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersMethodModifierParserRuleCall_2_5_2_0());
}
pushFollow(FOLLOW_65);
lv_modifiers_66_0=ruleMethodModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_66_0,
"org.eclipse.xtend.core.Xtend.MethodModifier");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:3639:5: ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )*
loop103:
do {
int alt103=3;
int LA103_0 = input.LA(1);
if ( (LA103_0==25||(LA103_0>=69 && LA103_0<=80)) ) {
alt103=1;
}
else if ( ((LA103_0>=81 && LA103_0<=82)) ) {
alt103=2;
}
switch (alt103) {
case 1 :
// InternalSARL.g:3640:6: ( (lv_modifiers_67_0= ruleCommonModifier ) )
{
// InternalSARL.g:3640:6: ( (lv_modifiers_67_0= ruleCommonModifier ) )
// InternalSARL.g:3641:7: (lv_modifiers_67_0= ruleCommonModifier )
{
// InternalSARL.g:3641:7: (lv_modifiers_67_0= ruleCommonModifier )
// InternalSARL.g:3642:8: lv_modifiers_67_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_5_3_0_0());
}
pushFollow(FOLLOW_65);
lv_modifiers_67_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_67_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalSARL.g:3660:6: ( (lv_modifiers_68_0= ruleMethodModifier ) )
{
// InternalSARL.g:3660:6: ( (lv_modifiers_68_0= ruleMethodModifier ) )
// InternalSARL.g:3661:7: (lv_modifiers_68_0= ruleMethodModifier )
{
// InternalSARL.g:3661:7: (lv_modifiers_68_0= ruleMethodModifier )
// InternalSARL.g:3662:8: lv_modifiers_68_0= ruleMethodModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersMethodModifierParserRuleCall_2_5_3_1_0());
}
pushFollow(FOLLOW_65);
lv_modifiers_68_0=ruleMethodModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_68_0,
"org.eclipse.xtend.core.Xtend.MethodModifier");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop103;
}
} while (true);
// InternalSARL.g:3680:5: (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )?
int alt105=2;
int LA105_0 = input.LA(1);
if ( (LA105_0==40) ) {
int LA105_1 = input.LA(2);
if ( (LA105_1==RULE_ID||(LA105_1>=83 && LA105_1<=86)) ) {
alt105=1;
}
else if ( (LA105_1==44) ) {
int LA105_4 = input.LA(3);
if ( (LA105_4==28||LA105_4==32||LA105_4==41) ) {
alt105=1;
}
}
}
switch (alt105) {
case 1 :
// InternalSARL.g:3681:6: otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>'
{
otherlv_69=(Token)match(input,40,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_69, grammarAccess.getAOPMemberAccess().getLessThanSignKeyword_2_5_4_0());
}
// InternalSARL.g:3685:6: ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) )
// InternalSARL.g:3686:7: (lv_typeParameters_70_0= ruleJvmTypeParameter )
{
// InternalSARL.g:3686:7: (lv_typeParameters_70_0= ruleJvmTypeParameter )
// InternalSARL.g:3687:8: lv_typeParameters_70_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_5_4_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_70_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_70_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:3704:6: (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )*
loop104:
do {
int alt104=2;
int LA104_0 = input.LA(1);
if ( (LA104_0==32) ) {
alt104=1;
}
switch (alt104) {
case 1 :
// InternalSARL.g:3705:7: otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) )
{
otherlv_71=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_71, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_5_4_2_0());
}
// InternalSARL.g:3709:7: ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) )
// InternalSARL.g:3710:8: (lv_typeParameters_72_0= ruleJvmTypeParameter )
{
// InternalSARL.g:3710:8: (lv_typeParameters_72_0= ruleJvmTypeParameter )
// InternalSARL.g:3711:9: lv_typeParameters_72_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_5_4_2_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_72_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_72_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop104;
}
} while (true);
otherlv_73=(Token)match(input,41,FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_73, grammarAccess.getAOPMemberAccess().getGreaterThanSignKeyword_2_5_4_3());
}
}
break;
}
// InternalSARL.g:3734:5: ( (lv_name_74_0= ruleFunctionID ) )
// InternalSARL.g:3735:6: (lv_name_74_0= ruleFunctionID )
{
// InternalSARL.g:3735:6: (lv_name_74_0= ruleFunctionID )
// InternalSARL.g:3736:7: lv_name_74_0= ruleFunctionID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getNameFunctionIDParserRuleCall_2_5_5_0());
}
pushFollow(FOLLOW_57);
lv_name_74_0=ruleFunctionID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"name",
lv_name_74_0,
"org.eclipse.xtend.core.Xtend.FunctionID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:3753:5: (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )?
int alt108=2;
int LA108_0 = input.LA(1);
if ( (LA108_0==49) ) {
alt108=1;
}
switch (alt108) {
case 1 :
// InternalSARL.g:3754:6: otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')'
{
otherlv_75=(Token)match(input,49,FOLLOW_50); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_75, grammarAccess.getAOPMemberAccess().getLeftParenthesisKeyword_2_5_6_0());
}
// InternalSARL.g:3758:6: ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )?
int alt107=2;
int LA107_0 = input.LA(1);
if ( (LA107_0==RULE_ID||(LA107_0>=44 && LA107_0<=45)||(LA107_0>=83 && LA107_0<=86)||LA107_0==94) ) {
alt107=1;
}
switch (alt107) {
case 1 :
// InternalSARL.g:3759:7: ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )*
{
// InternalSARL.g:3759:7: ( (lv_parameters_76_0= ruleParameter ) )
// InternalSARL.g:3760:8: (lv_parameters_76_0= ruleParameter )
{
// InternalSARL.g:3760:8: (lv_parameters_76_0= ruleParameter )
// InternalSARL.g:3761:9: lv_parameters_76_0= ruleParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getParametersParameterParserRuleCall_2_5_6_1_0_0());
}
pushFollow(FOLLOW_51);
lv_parameters_76_0=ruleParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"parameters",
lv_parameters_76_0,
"io.sarl.lang.SARL.Parameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:3778:7: (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )*
loop106:
do {
int alt106=2;
int LA106_0 = input.LA(1);
if ( (LA106_0==32) ) {
alt106=1;
}
switch (alt106) {
case 1 :
// InternalSARL.g:3779:8: otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) )
{
otherlv_77=(Token)match(input,32,FOLLOW_52); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_77, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_5_6_1_1_0());
}
// InternalSARL.g:3783:8: ( (lv_parameters_78_0= ruleParameter ) )
// InternalSARL.g:3784:9: (lv_parameters_78_0= ruleParameter )
{
// InternalSARL.g:3784:9: (lv_parameters_78_0= ruleParameter )
// InternalSARL.g:3785:10: lv_parameters_78_0= ruleParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getParametersParameterParserRuleCall_2_5_6_1_1_1_0());
}
pushFollow(FOLLOW_51);
lv_parameters_78_0=ruleParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"parameters",
lv_parameters_78_0,
"io.sarl.lang.SARL.Parameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop106;
}
} while (true);
}
break;
}
otherlv_79=(Token)match(input,50,FOLLOW_58); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_79, grammarAccess.getAOPMemberAccess().getRightParenthesisKeyword_2_5_6_2());
}
}
break;
}
// InternalSARL.g:3809:5: (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )?
int alt110=2;
int LA110_0 = input.LA(1);
if ( (LA110_0==46) ) {
alt110=1;
}
switch (alt110) {
case 1 :
// InternalSARL.g:3810:6: otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) )
{
otherlv_80=(Token)match(input,46,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_80, grammarAccess.getAOPMemberAccess().getColonKeyword_2_5_7_0());
}
// InternalSARL.g:3814:6: ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) )
int alt109=2;
alt109 = dfa109.predict(input);
switch (alt109) {
case 1 :
// InternalSARL.g:3815:7: ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) )
{
// InternalSARL.g:3815:7: ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) )
// InternalSARL.g:3816:8: (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs )
{
// InternalSARL.g:3816:8: (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs )
// InternalSARL.g:3817:9: lv_returnType_81_0= ruleTypeReferenceWithTypeArgs
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getReturnTypeTypeReferenceWithTypeArgsParserRuleCall_2_5_7_1_0_0());
}
pushFollow(FOLLOW_59);
lv_returnType_81_0=ruleTypeReferenceWithTypeArgs();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"returnType",
lv_returnType_81_0,
"org.eclipse.xtend.core.Xtend.TypeReferenceWithTypeArgs");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalSARL.g:3835:7: ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) )
{
// InternalSARL.g:3835:7: ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) )
// InternalSARL.g:3836:8: (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs )
{
// InternalSARL.g:3836:8: (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs )
// InternalSARL.g:3837:9: lv_returnType_82_0= ruleTypeReferenceNoTypeArgs
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getReturnTypeTypeReferenceNoTypeArgsParserRuleCall_2_5_7_1_1_0());
}
pushFollow(FOLLOW_59);
lv_returnType_82_0=ruleTypeReferenceNoTypeArgs();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"returnType",
lv_returnType_82_0,
"org.eclipse.xtend.core.Xtend.TypeReferenceNoTypeArgs");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
break;
}
// InternalSARL.g:3856:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) )
// InternalSARL.g:3857:6: ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) )
{
// InternalSARL.g:3857:6: ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) )
// InternalSARL.g:3858:7: ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8());
// InternalSARL.g:3861:7: ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* )
// InternalSARL.g:3862:8: ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )*
{
// InternalSARL.g:3862:8: ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )*
loop114:
do {
int alt114=4;
int LA114_0 = input.LA(1);
if ( LA114_0 == 51 && getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 0) ) {
alt114=1;
}
else if ( LA114_0 == 53 && getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 1) ) {
alt114=2;
}
else if ( LA114_0 == 52 && getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 2) ) {
alt114=3;
}
switch (alt114) {
case 1 :
// InternalSARL.g:3863:6: ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) )
{
// InternalSARL.g:3863:6: ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) )
// InternalSARL.g:3864:7: {...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleAOPMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 0)");
}
// InternalSARL.g:3864:112: ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) )
// InternalSARL.g:3865:8: ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 0);
// InternalSARL.g:3868:11: ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) )
// InternalSARL.g:3868:12: {...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleAOPMember", "true");
}
// InternalSARL.g:3868:21: (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* )
// InternalSARL.g:3868:22: otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )*
{
otherlv_84=(Token)match(input,51,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_84, grammarAccess.getAOPMemberAccess().getThrowsKeyword_2_5_8_0_0());
}
// InternalSARL.g:3872:11: ( (lv_exceptions_85_0= ruleJvmTypeReference ) )
// InternalSARL.g:3873:12: (lv_exceptions_85_0= ruleJvmTypeReference )
{
// InternalSARL.g:3873:12: (lv_exceptions_85_0= ruleJvmTypeReference )
// InternalSARL.g:3874:13: lv_exceptions_85_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_5_8_0_1_0());
}
pushFollow(FOLLOW_60);
lv_exceptions_85_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"exceptions",
lv_exceptions_85_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:3891:11: (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )*
loop111:
do {
int alt111=2;
int LA111_0 = input.LA(1);
if ( (LA111_0==32) ) {
alt111=1;
}
switch (alt111) {
case 1 :
// InternalSARL.g:3892:12: otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) )
{
otherlv_86=(Token)match(input,32,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_86, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_5_8_0_2_0());
}
// InternalSARL.g:3896:12: ( (lv_exceptions_87_0= ruleJvmTypeReference ) )
// InternalSARL.g:3897:13: (lv_exceptions_87_0= ruleJvmTypeReference )
{
// InternalSARL.g:3897:13: (lv_exceptions_87_0= ruleJvmTypeReference )
// InternalSARL.g:3898:14: lv_exceptions_87_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_5_8_0_2_1_0());
}
pushFollow(FOLLOW_60);
lv_exceptions_87_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"exceptions",
lv_exceptions_87_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop111;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8());
}
}
}
break;
case 2 :
// InternalSARL.g:3922:6: ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) )
{
// InternalSARL.g:3922:6: ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) )
// InternalSARL.g:3923:7: {...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleAOPMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 1)");
}
// InternalSARL.g:3923:112: ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) )
// InternalSARL.g:3924:8: ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 1);
// InternalSARL.g:3927:11: ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) )
// InternalSARL.g:3927:12: {...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleAOPMember", "true");
}
// InternalSARL.g:3927:21: (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* )
// InternalSARL.g:3927:22: otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )*
{
otherlv_88=(Token)match(input,53,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_88, grammarAccess.getAOPMemberAccess().getFiresKeyword_2_5_8_1_0());
}
// InternalSARL.g:3931:11: ( (lv_firedEvents_89_0= ruleJvmTypeReference ) )
// InternalSARL.g:3932:12: (lv_firedEvents_89_0= ruleJvmTypeReference )
{
// InternalSARL.g:3932:12: (lv_firedEvents_89_0= ruleJvmTypeReference )
// InternalSARL.g:3933:13: lv_firedEvents_89_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getFiredEventsJvmTypeReferenceParserRuleCall_2_5_8_1_1_0());
}
pushFollow(FOLLOW_60);
lv_firedEvents_89_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"firedEvents",
lv_firedEvents_89_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:3950:11: (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )*
loop112:
do {
int alt112=2;
int LA112_0 = input.LA(1);
if ( (LA112_0==32) ) {
alt112=1;
}
switch (alt112) {
case 1 :
// InternalSARL.g:3951:12: otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) )
{
otherlv_90=(Token)match(input,32,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_90, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_5_8_1_2_0());
}
// InternalSARL.g:3955:12: ( (lv_firedEvents_91_0= ruleJvmTypeReference ) )
// InternalSARL.g:3956:13: (lv_firedEvents_91_0= ruleJvmTypeReference )
{
// InternalSARL.g:3956:13: (lv_firedEvents_91_0= ruleJvmTypeReference )
// InternalSARL.g:3957:14: lv_firedEvents_91_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getFiredEventsJvmTypeReferenceParserRuleCall_2_5_8_1_2_1_0());
}
pushFollow(FOLLOW_60);
lv_firedEvents_91_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"firedEvents",
lv_firedEvents_91_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop112;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8());
}
}
}
break;
case 3 :
// InternalSARL.g:3981:6: ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) )
{
// InternalSARL.g:3981:6: ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) )
// InternalSARL.g:3982:7: {...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 2) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleAOPMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 2)");
}
// InternalSARL.g:3982:112: ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) )
// InternalSARL.g:3983:8: ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 2);
// InternalSARL.g:3986:11: ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) )
// InternalSARL.g:3986:12: {...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleAOPMember", "true");
}
// InternalSARL.g:3986:21: (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* )
// InternalSARL.g:3986:22: otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )*
{
otherlv_92=(Token)match(input,52,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_92, grammarAccess.getAOPMemberAccess().getWithKeyword_2_5_8_2_0());
}
// InternalSARL.g:3990:11: ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) )
// InternalSARL.g:3991:12: (lv_typeParameters_93_0= ruleJvmTypeParameter )
{
// InternalSARL.g:3991:12: (lv_typeParameters_93_0= ruleJvmTypeParameter )
// InternalSARL.g:3992:13: lv_typeParameters_93_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_5_8_2_1_0());
}
pushFollow(FOLLOW_60);
lv_typeParameters_93_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_93_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:4009:11: (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )*
loop113:
do {
int alt113=2;
int LA113_0 = input.LA(1);
if ( (LA113_0==32) ) {
alt113=1;
}
switch (alt113) {
case 1 :
// InternalSARL.g:4010:12: otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) )
{
otherlv_94=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_94, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_5_8_2_2_0());
}
// InternalSARL.g:4014:12: ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) )
// InternalSARL.g:4015:13: (lv_typeParameters_95_0= ruleJvmTypeParameter )
{
// InternalSARL.g:4015:13: (lv_typeParameters_95_0= ruleJvmTypeParameter )
// InternalSARL.g:4016:14: lv_typeParameters_95_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_5_8_2_2_1_0());
}
pushFollow(FOLLOW_60);
lv_typeParameters_95_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_95_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop113;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8());
}
}
}
break;
default :
break loop114;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8());
}
// InternalSARL.g:4047:5: ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )?
int alt115=3;
int LA115_0 = input.LA(1);
if ( (LA115_0==29) ) {
alt115=1;
}
else if ( (LA115_0==26) ) {
alt115=2;
}
switch (alt115) {
case 1 :
// InternalSARL.g:4048:6: ( (lv_expression_96_0= ruleXBlockExpression ) )
{
// InternalSARL.g:4048:6: ( (lv_expression_96_0= ruleXBlockExpression ) )
// InternalSARL.g:4049:7: (lv_expression_96_0= ruleXBlockExpression )
{
// InternalSARL.g:4049:7: (lv_expression_96_0= ruleXBlockExpression )
// InternalSARL.g:4050:8: lv_expression_96_0= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getExpressionXBlockExpressionParserRuleCall_2_5_9_0_0());
}
pushFollow(FOLLOW_2);
lv_expression_96_0=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"expression",
lv_expression_96_0,
"org.eclipse.xtext.xbase.Xbase.XBlockExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalSARL.g:4068:6: otherlv_97= ';'
{
otherlv_97=(Token)match(input,26,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_97, grammarAccess.getAOPMemberAccess().getSemicolonKeyword_2_5_9_1());
}
}
break;
}
}
}
break;
case 7 :
// InternalSARL.g:4075:4: ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}' )
{
// InternalSARL.g:4075:4: ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}' )
// InternalSARL.g:4076:5: () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}'
{
// InternalSARL.g:4076:5: ()
// InternalSARL.g:4077:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAOPMemberAccess().getSarlClassAnnotationInfoAction_2_6_0(),
current);
}
}
// InternalSARL.g:4083:5: ( (lv_modifiers_99_0= ruleCommonModifier ) )*
loop116:
do {
int alt116=2;
int LA116_0 = input.LA(1);
if ( (LA116_0==25||(LA116_0>=69 && LA116_0<=80)) ) {
alt116=1;
}
switch (alt116) {
case 1 :
// InternalSARL.g:4084:6: (lv_modifiers_99_0= ruleCommonModifier )
{
// InternalSARL.g:4084:6: (lv_modifiers_99_0= ruleCommonModifier )
// InternalSARL.g:4085:7: lv_modifiers_99_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_6_1_0());
}
pushFollow(FOLLOW_26);
lv_modifiers_99_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_99_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop116;
}
} while (true);
otherlv_100=(Token)match(input,39,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_100, grammarAccess.getAOPMemberAccess().getClassKeyword_2_6_2());
}
// InternalSARL.g:4106:5: ( (lv_name_101_0= ruleValidID ) )
// InternalSARL.g:4107:6: (lv_name_101_0= ruleValidID )
{
// InternalSARL.g:4107:6: (lv_name_101_0= ruleValidID )
// InternalSARL.g:4108:7: lv_name_101_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getNameValidIDParserRuleCall_2_6_3_0());
}
pushFollow(FOLLOW_27);
lv_name_101_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"name",
lv_name_101_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:4125:5: (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )?
int alt118=2;
int LA118_0 = input.LA(1);
if ( (LA118_0==40) ) {
alt118=1;
}
switch (alt118) {
case 1 :
// InternalSARL.g:4126:6: otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>'
{
otherlv_102=(Token)match(input,40,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_102, grammarAccess.getAOPMemberAccess().getLessThanSignKeyword_2_6_4_0());
}
// InternalSARL.g:4130:6: ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) )
// InternalSARL.g:4131:7: (lv_typeParameters_103_0= ruleJvmTypeParameter )
{
// InternalSARL.g:4131:7: (lv_typeParameters_103_0= ruleJvmTypeParameter )
// InternalSARL.g:4132:8: lv_typeParameters_103_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_6_4_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_103_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_103_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:4149:6: (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )*
loop117:
do {
int alt117=2;
int LA117_0 = input.LA(1);
if ( (LA117_0==32) ) {
alt117=1;
}
switch (alt117) {
case 1 :
// InternalSARL.g:4150:7: otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) )
{
otherlv_104=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_104, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_6_4_2_0());
}
// InternalSARL.g:4154:7: ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) )
// InternalSARL.g:4155:8: (lv_typeParameters_105_0= ruleJvmTypeParameter )
{
// InternalSARL.g:4155:8: (lv_typeParameters_105_0= ruleJvmTypeParameter )
// InternalSARL.g:4156:9: lv_typeParameters_105_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_6_4_2_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_105_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_105_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop117;
}
} while (true);
otherlv_106=(Token)match(input,41,FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_106, grammarAccess.getAOPMemberAccess().getGreaterThanSignKeyword_2_6_4_3());
}
}
break;
}
// InternalSARL.g:4179:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) )
// InternalSARL.g:4180:6: ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) )
{
// InternalSARL.g:4180:6: ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) )
// InternalSARL.g:4181:7: ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5());
// InternalSARL.g:4184:7: ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* )
// InternalSARL.g:4185:8: ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )*
{
// InternalSARL.g:4185:8: ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )*
loop120:
do {
int alt120=3;
int LA120_0 = input.LA(1);
if ( LA120_0 == 28 && getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5(), 0) ) {
alt120=1;
}
else if ( LA120_0 == 36 && getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5(), 1) ) {
alt120=2;
}
switch (alt120) {
case 1 :
// InternalSARL.g:4186:6: ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) )
{
// InternalSARL.g:4186:6: ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) )
// InternalSARL.g:4187:7: {...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleAOPMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5(), 0)");
}
// InternalSARL.g:4187:112: ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) )
// InternalSARL.g:4188:8: ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5(), 0);
// InternalSARL.g:4191:11: ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) )
// InternalSARL.g:4191:12: {...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleAOPMember", "true");
}
// InternalSARL.g:4191:21: (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) )
// InternalSARL.g:4191:22: otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_108=(Token)match(input,28,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_108, grammarAccess.getAOPMemberAccess().getExtendsKeyword_2_6_5_0_0());
}
// InternalSARL.g:4195:11: ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:4196:12: (lv_extends_109_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:4196:12: (lv_extends_109_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:4197:13: lv_extends_109_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_6_5_0_1_0());
}
pushFollow(FOLLOW_21);
lv_extends_109_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"extends",
lv_extends_109_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5());
}
}
}
break;
case 2 :
// InternalSARL.g:4220:6: ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) )
{
// InternalSARL.g:4220:6: ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) )
// InternalSARL.g:4221:7: {...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleAOPMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5(), 1)");
}
// InternalSARL.g:4221:112: ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) )
// InternalSARL.g:4222:8: ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5(), 1);
// InternalSARL.g:4225:11: ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) )
// InternalSARL.g:4225:12: {...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleAOPMember", "true");
}
// InternalSARL.g:4225:21: (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* )
// InternalSARL.g:4225:22: otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )*
{
otherlv_110=(Token)match(input,36,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_110, grammarAccess.getAOPMemberAccess().getImplementsKeyword_2_6_5_1_0());
}
// InternalSARL.g:4229:11: ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:4230:12: (lv_implements_111_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:4230:12: (lv_implements_111_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:4231:13: lv_implements_111_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_6_5_1_1_0());
}
pushFollow(FOLLOW_22);
lv_implements_111_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"implements",
lv_implements_111_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:4248:11: (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )*
loop119:
do {
int alt119=2;
int LA119_0 = input.LA(1);
if ( (LA119_0==32) ) {
alt119=1;
}
switch (alt119) {
case 1 :
// InternalSARL.g:4249:12: otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_112=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_112, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_6_5_1_2_0());
}
// InternalSARL.g:4253:12: ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:4254:13: (lv_implements_113_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:4254:13: (lv_implements_113_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:4255:14: lv_implements_113_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_6_5_1_2_1_0());
}
pushFollow(FOLLOW_22);
lv_implements_113_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"implements",
lv_implements_113_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop119;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5());
}
}
}
break;
default :
break loop120;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5());
}
otherlv_114=(Token)match(input,29,FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_114, grammarAccess.getAOPMemberAccess().getLeftCurlyBracketKeyword_2_6_6());
}
// InternalSARL.g:4290:5: ( (lv_members_115_0= ruleMember ) )*
loop121:
do {
int alt121=2;
int LA121_0 = input.LA(1);
if ( (LA121_0==25||LA121_0==39||(LA121_0>=42 && LA121_0<=45)||LA121_0==48||(LA121_0>=61 && LA121_0<=62)||(LA121_0>=69 && LA121_0<=82)||LA121_0==94) ) {
alt121=1;
}
switch (alt121) {
case 1 :
// InternalSARL.g:4291:6: (lv_members_115_0= ruleMember )
{
// InternalSARL.g:4291:6: (lv_members_115_0= ruleMember )
// InternalSARL.g:4292:7: lv_members_115_0= ruleMember
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getMembersMemberParserRuleCall_2_6_7_0());
}
pushFollow(FOLLOW_29);
lv_members_115_0=ruleMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"members",
lv_members_115_0,
"io.sarl.lang.SARL.Member");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop121;
}
} while (true);
otherlv_116=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_116, grammarAccess.getAOPMemberAccess().getRightCurlyBracketKeyword_2_6_8());
}
}
}
break;
case 8 :
// InternalSARL.g:4315:4: ( () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}' )
{
// InternalSARL.g:4315:4: ( () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}' )
// InternalSARL.g:4316:5: () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}'
{
// InternalSARL.g:4316:5: ()
// InternalSARL.g:4317:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAOPMemberAccess().getSarlInterfaceAnnotationInfoAction_2_7_0(),
current);
}
}
// InternalSARL.g:4323:5: ( (lv_modifiers_118_0= ruleCommonModifier ) )*
loop122:
do {
int alt122=2;
int LA122_0 = input.LA(1);
if ( (LA122_0==25||(LA122_0>=69 && LA122_0<=80)) ) {
alt122=1;
}
switch (alt122) {
case 1 :
// InternalSARL.g:4324:6: (lv_modifiers_118_0= ruleCommonModifier )
{
// InternalSARL.g:4324:6: (lv_modifiers_118_0= ruleCommonModifier )
// InternalSARL.g:4325:7: lv_modifiers_118_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_7_1_0());
}
pushFollow(FOLLOW_30);
lv_modifiers_118_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_118_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop122;
}
} while (true);
otherlv_119=(Token)match(input,42,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_119, grammarAccess.getAOPMemberAccess().getInterfaceKeyword_2_7_2());
}
// InternalSARL.g:4346:5: ( (lv_name_120_0= ruleValidID ) )
// InternalSARL.g:4347:6: (lv_name_120_0= ruleValidID )
{
// InternalSARL.g:4347:6: (lv_name_120_0= ruleValidID )
// InternalSARL.g:4348:7: lv_name_120_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getNameValidIDParserRuleCall_2_7_3_0());
}
pushFollow(FOLLOW_31);
lv_name_120_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"name",
lv_name_120_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:4365:5: (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )?
int alt124=2;
int LA124_0 = input.LA(1);
if ( (LA124_0==40) ) {
alt124=1;
}
switch (alt124) {
case 1 :
// InternalSARL.g:4366:6: otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>'
{
otherlv_121=(Token)match(input,40,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_121, grammarAccess.getAOPMemberAccess().getLessThanSignKeyword_2_7_4_0());
}
// InternalSARL.g:4370:6: ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) )
// InternalSARL.g:4371:7: (lv_typeParameters_122_0= ruleJvmTypeParameter )
{
// InternalSARL.g:4371:7: (lv_typeParameters_122_0= ruleJvmTypeParameter )
// InternalSARL.g:4372:8: lv_typeParameters_122_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_7_4_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_122_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_122_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:4389:6: (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )*
loop123:
do {
int alt123=2;
int LA123_0 = input.LA(1);
if ( (LA123_0==32) ) {
alt123=1;
}
switch (alt123) {
case 1 :
// InternalSARL.g:4390:7: otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) )
{
otherlv_123=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_123, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_7_4_2_0());
}
// InternalSARL.g:4394:7: ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) )
// InternalSARL.g:4395:8: (lv_typeParameters_124_0= ruleJvmTypeParameter )
{
// InternalSARL.g:4395:8: (lv_typeParameters_124_0= ruleJvmTypeParameter )
// InternalSARL.g:4396:9: lv_typeParameters_124_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_7_4_2_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_124_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_124_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop123;
}
} while (true);
otherlv_125=(Token)match(input,41,FOLLOW_13); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_125, grammarAccess.getAOPMemberAccess().getGreaterThanSignKeyword_2_7_4_3());
}
}
break;
}
// InternalSARL.g:4419:5: (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )?
int alt126=2;
int LA126_0 = input.LA(1);
if ( (LA126_0==28) ) {
alt126=1;
}
switch (alt126) {
case 1 :
// InternalSARL.g:4420:6: otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )*
{
otherlv_126=(Token)match(input,28,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_126, grammarAccess.getAOPMemberAccess().getExtendsKeyword_2_7_5_0());
}
// InternalSARL.g:4424:6: ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:4425:7: (lv_extends_127_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:4425:7: (lv_extends_127_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:4426:8: lv_extends_127_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_7_5_1_0());
}
pushFollow(FOLLOW_14);
lv_extends_127_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"extends",
lv_extends_127_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:4443:6: (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )*
loop125:
do {
int alt125=2;
int LA125_0 = input.LA(1);
if ( (LA125_0==32) ) {
alt125=1;
}
switch (alt125) {
case 1 :
// InternalSARL.g:4444:7: otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_128=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_128, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_7_5_2_0());
}
// InternalSARL.g:4448:7: ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:4449:8: (lv_extends_129_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:4449:8: (lv_extends_129_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:4450:9: lv_extends_129_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_7_5_2_1_0());
}
pushFollow(FOLLOW_14);
lv_extends_129_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"extends",
lv_extends_129_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop125;
}
} while (true);
}
break;
}
otherlv_130=(Token)match(input,29,FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_130, grammarAccess.getAOPMemberAccess().getLeftCurlyBracketKeyword_2_7_6());
}
// InternalSARL.g:4473:5: ( (lv_members_131_0= ruleMember ) )*
loop127:
do {
int alt127=2;
int LA127_0 = input.LA(1);
if ( (LA127_0==25||LA127_0==39||(LA127_0>=42 && LA127_0<=45)||LA127_0==48||(LA127_0>=61 && LA127_0<=62)||(LA127_0>=69 && LA127_0<=82)||LA127_0==94) ) {
alt127=1;
}
switch (alt127) {
case 1 :
// InternalSARL.g:4474:6: (lv_members_131_0= ruleMember )
{
// InternalSARL.g:4474:6: (lv_members_131_0= ruleMember )
// InternalSARL.g:4475:7: lv_members_131_0= ruleMember
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getMembersMemberParserRuleCall_2_7_7_0());
}
pushFollow(FOLLOW_29);
lv_members_131_0=ruleMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"members",
lv_members_131_0,
"io.sarl.lang.SARL.Member");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop127;
}
} while (true);
otherlv_132=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_132, grammarAccess.getAOPMemberAccess().getRightCurlyBracketKeyword_2_7_8());
}
}
}
break;
case 9 :
// InternalSARL.g:4498:4: ( () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}' )
{
// InternalSARL.g:4498:4: ( () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}' )
// InternalSARL.g:4499:5: () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}'
{
// InternalSARL.g:4499:5: ()
// InternalSARL.g:4500:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAOPMemberAccess().getSarlEnumerationAnnotationInfoAction_2_8_0(),
current);
}
}
// InternalSARL.g:4506:5: ( (lv_modifiers_134_0= ruleCommonModifier ) )*
loop128:
do {
int alt128=2;
int LA128_0 = input.LA(1);
if ( (LA128_0==25||(LA128_0>=69 && LA128_0<=80)) ) {
alt128=1;
}
switch (alt128) {
case 1 :
// InternalSARL.g:4507:6: (lv_modifiers_134_0= ruleCommonModifier )
{
// InternalSARL.g:4507:6: (lv_modifiers_134_0= ruleCommonModifier )
// InternalSARL.g:4508:7: lv_modifiers_134_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_8_1_0());
}
pushFollow(FOLLOW_32);
lv_modifiers_134_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_134_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop128;
}
} while (true);
otherlv_135=(Token)match(input,43,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_135, grammarAccess.getAOPMemberAccess().getEnumKeyword_2_8_2());
}
// InternalSARL.g:4529:5: ( (lv_name_136_0= ruleValidID ) )
// InternalSARL.g:4530:6: (lv_name_136_0= ruleValidID )
{
// InternalSARL.g:4530:6: (lv_name_136_0= ruleValidID )
// InternalSARL.g:4531:7: lv_name_136_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getNameValidIDParserRuleCall_2_8_3_0());
}
pushFollow(FOLLOW_17);
lv_name_136_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"name",
lv_name_136_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_137=(Token)match(input,29,FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_137, grammarAccess.getAOPMemberAccess().getLeftCurlyBracketKeyword_2_8_4());
}
// InternalSARL.g:4552:5: ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )?
int alt130=2;
int LA130_0 = input.LA(1);
if ( (LA130_0==RULE_ID||LA130_0==44||(LA130_0>=83 && LA130_0<=86)) ) {
alt130=1;
}
switch (alt130) {
case 1 :
// InternalSARL.g:4553:6: ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )*
{
// InternalSARL.g:4553:6: ( (lv_members_138_0= ruleXtendEnumLiteral ) )
// InternalSARL.g:4554:7: (lv_members_138_0= ruleXtendEnumLiteral )
{
// InternalSARL.g:4554:7: (lv_members_138_0= ruleXtendEnumLiteral )
// InternalSARL.g:4555:8: lv_members_138_0= ruleXtendEnumLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getMembersXtendEnumLiteralParserRuleCall_2_8_5_0_0());
}
pushFollow(FOLLOW_34);
lv_members_138_0=ruleXtendEnumLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"members",
lv_members_138_0,
"io.sarl.lang.SARL.XtendEnumLiteral");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:4572:6: (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )*
loop129:
do {
int alt129=2;
int LA129_0 = input.LA(1);
if ( (LA129_0==32) ) {
alt129=1;
}
switch (alt129) {
case 1 :
// InternalSARL.g:4573:7: otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) )
{
otherlv_139=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_139, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_8_5_1_0());
}
// InternalSARL.g:4577:7: ( (lv_members_140_0= ruleXtendEnumLiteral ) )
// InternalSARL.g:4578:8: (lv_members_140_0= ruleXtendEnumLiteral )
{
// InternalSARL.g:4578:8: (lv_members_140_0= ruleXtendEnumLiteral )
// InternalSARL.g:4579:9: lv_members_140_0= ruleXtendEnumLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getMembersXtendEnumLiteralParserRuleCall_2_8_5_1_1_0());
}
pushFollow(FOLLOW_34);
lv_members_140_0=ruleXtendEnumLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"members",
lv_members_140_0,
"io.sarl.lang.SARL.XtendEnumLiteral");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop129;
}
} while (true);
}
break;
}
// InternalSARL.g:4598:5: (otherlv_141= ';' )?
int alt131=2;
int LA131_0 = input.LA(1);
if ( (LA131_0==26) ) {
alt131=1;
}
switch (alt131) {
case 1 :
// InternalSARL.g:4599:6: otherlv_141= ';'
{
otherlv_141=(Token)match(input,26,FOLLOW_24); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_141, grammarAccess.getAOPMemberAccess().getSemicolonKeyword_2_8_6());
}
}
break;
}
otherlv_142=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_142, grammarAccess.getAOPMemberAccess().getRightCurlyBracketKeyword_2_8_7());
}
}
}
break;
case 10 :
// InternalSARL.g:4610:4: ( () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}' )
{
// InternalSARL.g:4610:4: ( () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}' )
// InternalSARL.g:4611:5: () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}'
{
// InternalSARL.g:4611:5: ()
// InternalSARL.g:4612:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAOPMemberAccess().getSarlAnnotationTypeAnnotationInfoAction_2_9_0(),
current);
}
}
// InternalSARL.g:4618:5: ( (lv_modifiers_144_0= ruleCommonModifier ) )*
loop132:
do {
int alt132=2;
int LA132_0 = input.LA(1);
if ( (LA132_0==25||(LA132_0>=69 && LA132_0<=80)) ) {
alt132=1;
}
switch (alt132) {
case 1 :
// InternalSARL.g:4619:6: (lv_modifiers_144_0= ruleCommonModifier )
{
// InternalSARL.g:4619:6: (lv_modifiers_144_0= ruleCommonModifier )
// InternalSARL.g:4620:7: lv_modifiers_144_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_9_1_0());
}
pushFollow(FOLLOW_35);
lv_modifiers_144_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_144_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop132;
}
} while (true);
otherlv_145=(Token)match(input,44,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_145, grammarAccess.getAOPMemberAccess().getAnnotationKeyword_2_9_2());
}
// InternalSARL.g:4641:5: ( (lv_name_146_0= ruleValidID ) )
// InternalSARL.g:4642:6: (lv_name_146_0= ruleValidID )
{
// InternalSARL.g:4642:6: (lv_name_146_0= ruleValidID )
// InternalSARL.g:4643:7: lv_name_146_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getNameValidIDParserRuleCall_2_9_3_0());
}
pushFollow(FOLLOW_17);
lv_name_146_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
set(
current,
"name",
lv_name_146_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_147=(Token)match(input,29,FOLLOW_36); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_147, grammarAccess.getAOPMemberAccess().getLeftCurlyBracketKeyword_2_9_4());
}
// InternalSARL.g:4664:5: ( (lv_members_148_0= ruleAnnotationField ) )*
loop133:
do {
int alt133=2;
int LA133_0 = input.LA(1);
if ( (LA133_0==25||LA133_0==39||(LA133_0>=42 && LA133_0<=44)||(LA133_0>=61 && LA133_0<=62)||(LA133_0>=69 && LA133_0<=80)||LA133_0==94) ) {
alt133=1;
}
switch (alt133) {
case 1 :
// InternalSARL.g:4665:6: (lv_members_148_0= ruleAnnotationField )
{
// InternalSARL.g:4665:6: (lv_members_148_0= ruleAnnotationField )
// InternalSARL.g:4666:7: lv_members_148_0= ruleAnnotationField
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOPMemberAccess().getMembersAnnotationFieldParserRuleCall_2_9_5_0());
}
pushFollow(FOLLOW_36);
lv_members_148_0=ruleAnnotationField();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOPMemberRule());
}
add(
current,
"members",
lv_members_148_0,
"io.sarl.lang.SARL.AnnotationField");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop133;
}
} while (true);
otherlv_149=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_149, grammarAccess.getAOPMemberAccess().getRightCurlyBracketKeyword_2_9_6());
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAOPMember"
// $ANTLR start "entryRuleMember"
// InternalSARL.g:4693:1: entryRuleMember returns [EObject current=null] : iv_ruleMember= ruleMember EOF ;
public final EObject entryRuleMember() throws RecognitionException {
EObject current = null;
EObject iv_ruleMember = null;
try {
// InternalSARL.g:4693:47: (iv_ruleMember= ruleMember EOF )
// InternalSARL.g:4694:2: iv_ruleMember= ruleMember EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberRule());
}
pushFollow(FOLLOW_1);
iv_ruleMember=ruleMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleMember;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMember"
// $ANTLR start "ruleMember"
// InternalSARL.g:4700:1: ruleMember returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? ) | ( () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}' ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}' ) | ( () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}' ) | ( () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}' ) ) ) ;
public final EObject ruleMember() throws RecognitionException {
EObject current = null;
Token lv_modifiers_4_0=null;
Token otherlv_8=null;
Token lv_modifiers_12_0=null;
Token otherlv_14=null;
Token otherlv_17=null;
Token otherlv_19=null;
Token otherlv_21=null;
Token otherlv_24=null;
Token otherlv_25=null;
Token otherlv_27=null;
Token otherlv_29=null;
Token otherlv_30=null;
Token otherlv_32=null;
Token otherlv_34=null;
Token otherlv_36=null;
Token otherlv_38=null;
Token otherlv_40=null;
Token otherlv_42=null;
Token otherlv_50=null;
Token otherlv_52=null;
Token otherlv_54=null;
Token otherlv_56=null;
Token otherlv_58=null;
Token otherlv_60=null;
Token otherlv_61=null;
Token otherlv_65=null;
Token otherlv_67=null;
Token otherlv_69=null;
Token otherlv_71=null;
Token otherlv_73=null;
Token otherlv_75=null;
Token otherlv_78=null;
Token otherlv_81=null;
Token otherlv_83=null;
Token otherlv_85=null;
Token otherlv_87=null;
Token otherlv_89=null;
Token otherlv_91=null;
Token otherlv_93=null;
Token otherlv_95=null;
Token otherlv_97=null;
Token otherlv_100=null;
Token otherlv_102=null;
Token otherlv_104=null;
Token otherlv_106=null;
Token otherlv_107=null;
Token otherlv_109=null;
Token otherlv_111=null;
Token otherlv_113=null;
Token otherlv_116=null;
Token otherlv_118=null;
Token otherlv_120=null;
Token otherlv_122=null;
Token otherlv_123=null;
Token otherlv_126=null;
Token otherlv_128=null;
Token otherlv_130=null;
EObject lv_annotations_1_0 = null;
AntlrDatatypeRuleToken lv_modifiers_3_0 = null;
AntlrDatatypeRuleToken lv_modifiers_5_0 = null;
AntlrDatatypeRuleToken lv_modifiers_6_0 = null;
AntlrDatatypeRuleToken lv_name_7_0 = null;
EObject lv_type_9_0 = null;
AntlrDatatypeRuleToken lv_modifiers_10_0 = null;
AntlrDatatypeRuleToken lv_modifiers_11_0 = null;
AntlrDatatypeRuleToken lv_name_13_0 = null;
EObject lv_type_15_0 = null;
AntlrDatatypeRuleToken lv_name_16_0 = null;
EObject lv_type_18_0 = null;
EObject lv_initialValue_20_0 = null;
AntlrDatatypeRuleToken lv_modifiers_23_0 = null;
EObject lv_typeParameters_26_0 = null;
EObject lv_typeParameters_28_0 = null;
EObject lv_parameters_31_0 = null;
EObject lv_parameters_33_0 = null;
EObject lv_exceptions_37_0 = null;
EObject lv_exceptions_39_0 = null;
EObject lv_typeParameters_41_0 = null;
EObject lv_typeParameters_43_0 = null;
EObject lv_expression_44_0 = null;
AntlrDatatypeRuleToken lv_modifiers_46_0 = null;
AntlrDatatypeRuleToken lv_modifiers_47_0 = null;
AntlrDatatypeRuleToken lv_modifiers_48_0 = null;
AntlrDatatypeRuleToken lv_modifiers_49_0 = null;
EObject lv_typeParameters_51_0 = null;
EObject lv_typeParameters_53_0 = null;
AntlrDatatypeRuleToken lv_name_55_0 = null;
EObject lv_parameters_57_0 = null;
EObject lv_parameters_59_0 = null;
EObject lv_returnType_62_0 = null;
EObject lv_returnType_63_0 = null;
EObject lv_exceptions_66_0 = null;
EObject lv_exceptions_68_0 = null;
EObject lv_firedEvents_70_0 = null;
EObject lv_firedEvents_72_0 = null;
EObject lv_typeParameters_74_0 = null;
EObject lv_typeParameters_76_0 = null;
EObject lv_expression_77_0 = null;
AntlrDatatypeRuleToken lv_modifiers_80_0 = null;
AntlrDatatypeRuleToken lv_name_82_0 = null;
EObject lv_typeParameters_84_0 = null;
EObject lv_typeParameters_86_0 = null;
EObject lv_extends_90_0 = null;
EObject lv_implements_92_0 = null;
EObject lv_implements_94_0 = null;
EObject lv_members_96_0 = null;
AntlrDatatypeRuleToken lv_modifiers_99_0 = null;
AntlrDatatypeRuleToken lv_name_101_0 = null;
EObject lv_typeParameters_103_0 = null;
EObject lv_typeParameters_105_0 = null;
EObject lv_extends_108_0 = null;
EObject lv_extends_110_0 = null;
EObject lv_members_112_0 = null;
AntlrDatatypeRuleToken lv_modifiers_115_0 = null;
AntlrDatatypeRuleToken lv_name_117_0 = null;
EObject lv_members_119_0 = null;
EObject lv_members_121_0 = null;
AntlrDatatypeRuleToken lv_modifiers_125_0 = null;
AntlrDatatypeRuleToken lv_name_127_0 = null;
EObject lv_members_129_0 = null;
enterRule();
try {
// InternalSARL.g:4706:2: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? ) | ( () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}' ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}' ) | ( () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}' ) | ( () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}' ) ) ) )
// InternalSARL.g:4707:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? ) | ( () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}' ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}' ) | ( () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}' ) | ( () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}' ) ) )
{
// InternalSARL.g:4707:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? ) | ( () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}' ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}' ) | ( () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}' ) | ( () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}' ) ) )
// InternalSARL.g:4708:3: () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? ) | ( () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}' ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}' ) | ( () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}' ) | ( () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}' ) )
{
// InternalSARL.g:4708:3: ()
// InternalSARL.g:4709:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getMemberAccess().getXtendMemberAction_0(),
current);
}
}
// InternalSARL.g:4715:3: ( (lv_annotations_1_0= ruleXAnnotation ) )*
loop135:
do {
int alt135=2;
int LA135_0 = input.LA(1);
if ( (LA135_0==94) ) {
alt135=1;
}
switch (alt135) {
case 1 :
// InternalSARL.g:4716:4: (lv_annotations_1_0= ruleXAnnotation )
{
// InternalSARL.g:4716:4: (lv_annotations_1_0= ruleXAnnotation )
// InternalSARL.g:4717:5: lv_annotations_1_0= ruleXAnnotation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getAnnotationsXAnnotationParserRuleCall_1_0());
}
pushFollow(FOLLOW_66);
lv_annotations_1_0=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"annotations",
lv_annotations_1_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotation");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop135;
}
} while (true);
// InternalSARL.g:4734:3: ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? ) | ( () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}' ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}' ) | ( () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}' ) | ( () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}' ) )
int alt185=7;
alt185 = dfa185.predict(input);
switch (alt185) {
case 1 :
// InternalSARL.g:4735:4: ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? )
{
// InternalSARL.g:4735:4: ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? )
// InternalSARL.g:4736:5: () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )?
{
// InternalSARL.g:4736:5: ()
// InternalSARL.g:4737:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getMemberAccess().getSarlFieldAnnotationInfoAction_2_0_0(),
current);
}
}
// InternalSARL.g:4743:5: ( (lv_modifiers_3_0= ruleCommonModifier ) )*
loop136:
do {
int alt136=2;
int LA136_0 = input.LA(1);
if ( (LA136_0==25||(LA136_0>=69 && LA136_0<=80)) ) {
alt136=1;
}
switch (alt136) {
case 1 :
// InternalSARL.g:4744:6: (lv_modifiers_3_0= ruleCommonModifier )
{
// InternalSARL.g:4744:6: (lv_modifiers_3_0= ruleCommonModifier )
// InternalSARL.g:4745:7: lv_modifiers_3_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_0_1_0());
}
pushFollow(FOLLOW_38);
lv_modifiers_3_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_3_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop136;
}
} while (true);
// InternalSARL.g:4762:5: ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) )
int alt141=2;
int LA141_0 = input.LA(1);
if ( (LA141_0==45) ) {
alt141=1;
}
else if ( ((LA141_0>=61 && LA141_0<=62)) ) {
alt141=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 141, 0, input);
throw nvae;
}
switch (alt141) {
case 1 :
// InternalSARL.g:4763:6: ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) )
{
// InternalSARL.g:4763:6: ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) )
// InternalSARL.g:4764:7: ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) )
{
// InternalSARL.g:4764:7: ( (lv_modifiers_4_0= 'extension' ) )
// InternalSARL.g:4765:8: (lv_modifiers_4_0= 'extension' )
{
// InternalSARL.g:4765:8: (lv_modifiers_4_0= 'extension' )
// InternalSARL.g:4766:9: lv_modifiers_4_0= 'extension'
{
lv_modifiers_4_0=(Token)match(input,45,FOLLOW_39); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_modifiers_4_0, grammarAccess.getMemberAccess().getModifiersExtensionKeyword_2_0_2_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getMemberRule());
}
addWithLastConsumed(current, "modifiers", lv_modifiers_4_0, "extension");
}
}
}
// InternalSARL.g:4778:7: ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )*
loop137:
do {
int alt137=3;
int LA137_0 = input.LA(1);
if ( ((LA137_0>=61 && LA137_0<=62)) ) {
alt137=1;
}
else if ( (LA137_0==25||(LA137_0>=69 && LA137_0<=80)) ) {
alt137=2;
}
switch (alt137) {
case 1 :
// InternalSARL.g:4779:8: ( (lv_modifiers_5_0= ruleFieldModifier ) )
{
// InternalSARL.g:4779:8: ( (lv_modifiers_5_0= ruleFieldModifier ) )
// InternalSARL.g:4780:9: (lv_modifiers_5_0= ruleFieldModifier )
{
// InternalSARL.g:4780:9: (lv_modifiers_5_0= ruleFieldModifier )
// InternalSARL.g:4781:10: lv_modifiers_5_0= ruleFieldModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getModifiersFieldModifierParserRuleCall_2_0_2_0_1_0_0());
}
pushFollow(FOLLOW_39);
lv_modifiers_5_0=ruleFieldModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_5_0,
"org.eclipse.xtend.core.Xtend.FieldModifier");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalSARL.g:4799:8: ( (lv_modifiers_6_0= ruleCommonModifier ) )
{
// InternalSARL.g:4799:8: ( (lv_modifiers_6_0= ruleCommonModifier ) )
// InternalSARL.g:4800:9: (lv_modifiers_6_0= ruleCommonModifier )
{
// InternalSARL.g:4800:9: (lv_modifiers_6_0= ruleCommonModifier )
// InternalSARL.g:4801:10: lv_modifiers_6_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_0_2_0_1_1_0());
}
pushFollow(FOLLOW_39);
lv_modifiers_6_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_6_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop137;
}
} while (true);
// InternalSARL.g:4819:7: ( (lv_name_7_0= ruleValidID ) )
// InternalSARL.g:4820:8: (lv_name_7_0= ruleValidID )
{
// InternalSARL.g:4820:8: (lv_name_7_0= ruleValidID )
// InternalSARL.g:4821:9: lv_name_7_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getNameValidIDParserRuleCall_2_0_2_0_2_0());
}
pushFollow(FOLLOW_40);
lv_name_7_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
set(
current,
"name",
lv_name_7_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_8=(Token)match(input,46,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getMemberAccess().getColonKeyword_2_0_2_0_3());
}
// InternalSARL.g:4842:7: ( (lv_type_9_0= ruleJvmTypeReference ) )
// InternalSARL.g:4843:8: (lv_type_9_0= ruleJvmTypeReference )
{
// InternalSARL.g:4843:8: (lv_type_9_0= ruleJvmTypeReference )
// InternalSARL.g:4844:9: lv_type_9_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_2_0_4_0());
}
pushFollow(FOLLOW_42);
lv_type_9_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
set(
current,
"type",
lv_type_9_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalSARL.g:4863:6: ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) )
{
// InternalSARL.g:4863:6: ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) )
// InternalSARL.g:4864:7: ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) )
{
// InternalSARL.g:4864:7: ( (lv_modifiers_10_0= ruleFieldModifier ) )
// InternalSARL.g:4865:8: (lv_modifiers_10_0= ruleFieldModifier )
{
// InternalSARL.g:4865:8: (lv_modifiers_10_0= ruleFieldModifier )
// InternalSARL.g:4866:9: lv_modifiers_10_0= ruleFieldModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getModifiersFieldModifierParserRuleCall_2_0_2_1_0_0());
}
pushFollow(FOLLOW_43);
lv_modifiers_10_0=ruleFieldModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_10_0,
"org.eclipse.xtend.core.Xtend.FieldModifier");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:4883:7: ( (lv_modifiers_11_0= ruleCommonModifier ) )*
loop138:
do {
int alt138=2;
int LA138_0 = input.LA(1);
if ( (LA138_0==25||(LA138_0>=69 && LA138_0<=80)) ) {
alt138=1;
}
switch (alt138) {
case 1 :
// InternalSARL.g:4884:8: (lv_modifiers_11_0= ruleCommonModifier )
{
// InternalSARL.g:4884:8: (lv_modifiers_11_0= ruleCommonModifier )
// InternalSARL.g:4885:9: lv_modifiers_11_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_0_2_1_1_0());
}
pushFollow(FOLLOW_43);
lv_modifiers_11_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_11_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop138;
}
} while (true);
// InternalSARL.g:4902:7: ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) )
int alt140=2;
int LA140_0 = input.LA(1);
if ( (LA140_0==45) ) {
alt140=1;
}
else if ( (LA140_0==RULE_ID||LA140_0==44||(LA140_0>=83 && LA140_0<=86)) ) {
alt140=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 140, 0, input);
throw nvae;
}
switch (alt140) {
case 1 :
// InternalSARL.g:4903:8: ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) )
{
// InternalSARL.g:4903:8: ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) )
// InternalSARL.g:4904:9: ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) )
{
// InternalSARL.g:4904:9: ( (lv_modifiers_12_0= 'extension' ) )
// InternalSARL.g:4905:10: (lv_modifiers_12_0= 'extension' )
{
// InternalSARL.g:4905:10: (lv_modifiers_12_0= 'extension' )
// InternalSARL.g:4906:11: lv_modifiers_12_0= 'extension'
{
lv_modifiers_12_0=(Token)match(input,45,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_modifiers_12_0, grammarAccess.getMemberAccess().getModifiersExtensionKeyword_2_0_2_1_2_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getMemberRule());
}
addWithLastConsumed(current, "modifiers", lv_modifiers_12_0, "extension");
}
}
}
// InternalSARL.g:4918:9: ( (lv_name_13_0= ruleValidID ) )
// InternalSARL.g:4919:10: (lv_name_13_0= ruleValidID )
{
// InternalSARL.g:4919:10: (lv_name_13_0= ruleValidID )
// InternalSARL.g:4920:11: lv_name_13_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getNameValidIDParserRuleCall_2_0_2_1_2_0_1_0());
}
pushFollow(FOLLOW_40);
lv_name_13_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
set(
current,
"name",
lv_name_13_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_14=(Token)match(input,46,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getMemberAccess().getColonKeyword_2_0_2_1_2_0_2());
}
// InternalSARL.g:4941:9: ( (lv_type_15_0= ruleJvmTypeReference ) )
// InternalSARL.g:4942:10: (lv_type_15_0= ruleJvmTypeReference )
{
// InternalSARL.g:4942:10: (lv_type_15_0= ruleJvmTypeReference )
// InternalSARL.g:4943:11: lv_type_15_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_2_1_2_0_3_0());
}
pushFollow(FOLLOW_42);
lv_type_15_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
set(
current,
"type",
lv_type_15_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalSARL.g:4962:8: ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? )
{
// InternalSARL.g:4962:8: ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? )
// InternalSARL.g:4963:9: ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )?
{
// InternalSARL.g:4963:9: ( (lv_name_16_0= ruleValidID ) )
// InternalSARL.g:4964:10: (lv_name_16_0= ruleValidID )
{
// InternalSARL.g:4964:10: (lv_name_16_0= ruleValidID )
// InternalSARL.g:4965:11: lv_name_16_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getNameValidIDParserRuleCall_2_0_2_1_2_1_0_0());
}
pushFollow(FOLLOW_44);
lv_name_16_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
set(
current,
"name",
lv_name_16_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:4982:9: (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )?
int alt139=2;
int LA139_0 = input.LA(1);
if ( (LA139_0==46) ) {
alt139=1;
}
switch (alt139) {
case 1 :
// InternalSARL.g:4983:10: otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) )
{
otherlv_17=(Token)match(input,46,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_17, grammarAccess.getMemberAccess().getColonKeyword_2_0_2_1_2_1_1_0());
}
// InternalSARL.g:4987:10: ( (lv_type_18_0= ruleJvmTypeReference ) )
// InternalSARL.g:4988:11: (lv_type_18_0= ruleJvmTypeReference )
{
// InternalSARL.g:4988:11: (lv_type_18_0= ruleJvmTypeReference )
// InternalSARL.g:4989:12: lv_type_18_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_2_1_2_1_1_1_0());
}
pushFollow(FOLLOW_42);
lv_type_18_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
set(
current,
"type",
lv_type_18_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
}
}
}
break;
}
// InternalSARL.g:5011:5: (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )?
int alt142=2;
int LA142_0 = input.LA(1);
if ( (LA142_0==47) ) {
alt142=1;
}
switch (alt142) {
case 1 :
// InternalSARL.g:5012:6: otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) )
{
otherlv_19=(Token)match(input,47,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_19, grammarAccess.getMemberAccess().getEqualsSignKeyword_2_0_3_0());
}
// InternalSARL.g:5016:6: ( (lv_initialValue_20_0= ruleXExpression ) )
// InternalSARL.g:5017:7: (lv_initialValue_20_0= ruleXExpression )
{
// InternalSARL.g:5017:7: (lv_initialValue_20_0= ruleXExpression )
// InternalSARL.g:5018:8: lv_initialValue_20_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getInitialValueXExpressionParserRuleCall_2_0_3_1_0());
}
pushFollow(FOLLOW_46);
lv_initialValue_20_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
set(
current,
"initialValue",
lv_initialValue_20_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalSARL.g:5036:5: (otherlv_21= ';' )?
int alt143=2;
int LA143_0 = input.LA(1);
if ( (LA143_0==26) ) {
alt143=1;
}
switch (alt143) {
case 1 :
// InternalSARL.g:5037:6: otherlv_21= ';'
{
otherlv_21=(Token)match(input,26,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_21, grammarAccess.getMemberAccess().getSemicolonKeyword_2_0_4());
}
}
break;
}
}
}
break;
case 2 :
// InternalSARL.g:5044:4: ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) )
{
// InternalSARL.g:5044:4: ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) )
// InternalSARL.g:5045:5: () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) )
{
// InternalSARL.g:5045:5: ()
// InternalSARL.g:5046:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getMemberAccess().getSarlConstructorAnnotationInfoAction_2_1_0(),
current);
}
}
// InternalSARL.g:5052:5: ( (lv_modifiers_23_0= ruleCommonModifier ) )*
loop144:
do {
int alt144=2;
int LA144_0 = input.LA(1);
if ( (LA144_0==25||(LA144_0>=69 && LA144_0<=80)) ) {
alt144=1;
}
switch (alt144) {
case 1 :
// InternalSARL.g:5053:6: (lv_modifiers_23_0= ruleCommonModifier )
{
// InternalSARL.g:5053:6: (lv_modifiers_23_0= ruleCommonModifier )
// InternalSARL.g:5054:7: lv_modifiers_23_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_1_1_0());
}
pushFollow(FOLLOW_47);
lv_modifiers_23_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_23_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop144;
}
} while (true);
otherlv_24=(Token)match(input,48,FOLLOW_48); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_24, grammarAccess.getMemberAccess().getNewKeyword_2_1_2());
}
// InternalSARL.g:5075:5: (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )?
int alt146=2;
int LA146_0 = input.LA(1);
if ( (LA146_0==40) ) {
alt146=1;
}
switch (alt146) {
case 1 :
// InternalSARL.g:5076:6: otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>'
{
otherlv_25=(Token)match(input,40,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_25, grammarAccess.getMemberAccess().getLessThanSignKeyword_2_1_3_0());
}
// InternalSARL.g:5080:6: ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) )
// InternalSARL.g:5081:7: (lv_typeParameters_26_0= ruleJvmTypeParameter )
{
// InternalSARL.g:5081:7: (lv_typeParameters_26_0= ruleJvmTypeParameter )
// InternalSARL.g:5082:8: lv_typeParameters_26_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_3_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_26_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_26_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:5099:6: (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )*
loop145:
do {
int alt145=2;
int LA145_0 = input.LA(1);
if ( (LA145_0==32) ) {
alt145=1;
}
switch (alt145) {
case 1 :
// InternalSARL.g:5100:7: otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) )
{
otherlv_27=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_27, grammarAccess.getMemberAccess().getCommaKeyword_2_1_3_2_0());
}
// InternalSARL.g:5104:7: ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) )
// InternalSARL.g:5105:8: (lv_typeParameters_28_0= ruleJvmTypeParameter )
{
// InternalSARL.g:5105:8: (lv_typeParameters_28_0= ruleJvmTypeParameter )
// InternalSARL.g:5106:9: lv_typeParameters_28_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_3_2_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_28_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_28_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop145;
}
} while (true);
otherlv_29=(Token)match(input,41,FOLLOW_49); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_29, grammarAccess.getMemberAccess().getGreaterThanSignKeyword_2_1_3_3());
}
}
break;
}
// InternalSARL.g:5129:5: (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )?
int alt149=2;
int LA149_0 = input.LA(1);
if ( (LA149_0==49) ) {
alt149=1;
}
switch (alt149) {
case 1 :
// InternalSARL.g:5130:6: otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')'
{
otherlv_30=(Token)match(input,49,FOLLOW_50); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_30, grammarAccess.getMemberAccess().getLeftParenthesisKeyword_2_1_4_0());
}
// InternalSARL.g:5134:6: ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )?
int alt148=2;
int LA148_0 = input.LA(1);
if ( (LA148_0==RULE_ID||(LA148_0>=44 && LA148_0<=45)||(LA148_0>=83 && LA148_0<=86)||LA148_0==94) ) {
alt148=1;
}
switch (alt148) {
case 1 :
// InternalSARL.g:5135:7: ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )*
{
// InternalSARL.g:5135:7: ( (lv_parameters_31_0= ruleParameter ) )
// InternalSARL.g:5136:8: (lv_parameters_31_0= ruleParameter )
{
// InternalSARL.g:5136:8: (lv_parameters_31_0= ruleParameter )
// InternalSARL.g:5137:9: lv_parameters_31_0= ruleParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getParametersParameterParserRuleCall_2_1_4_1_0_0());
}
pushFollow(FOLLOW_51);
lv_parameters_31_0=ruleParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"parameters",
lv_parameters_31_0,
"io.sarl.lang.SARL.Parameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:5154:7: (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )*
loop147:
do {
int alt147=2;
int LA147_0 = input.LA(1);
if ( (LA147_0==32) ) {
alt147=1;
}
switch (alt147) {
case 1 :
// InternalSARL.g:5155:8: otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) )
{
otherlv_32=(Token)match(input,32,FOLLOW_52); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_32, grammarAccess.getMemberAccess().getCommaKeyword_2_1_4_1_1_0());
}
// InternalSARL.g:5159:8: ( (lv_parameters_33_0= ruleParameter ) )
// InternalSARL.g:5160:9: (lv_parameters_33_0= ruleParameter )
{
// InternalSARL.g:5160:9: (lv_parameters_33_0= ruleParameter )
// InternalSARL.g:5161:10: lv_parameters_33_0= ruleParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getParametersParameterParserRuleCall_2_1_4_1_1_1_0());
}
pushFollow(FOLLOW_51);
lv_parameters_33_0=ruleParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"parameters",
lv_parameters_33_0,
"io.sarl.lang.SARL.Parameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop147;
}
} while (true);
}
break;
}
otherlv_34=(Token)match(input,50,FOLLOW_53); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_34, grammarAccess.getMemberAccess().getRightParenthesisKeyword_2_1_4_2());
}
}
break;
}
// InternalSARL.g:5185:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) )
// InternalSARL.g:5186:6: ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) )
{
// InternalSARL.g:5186:6: ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) )
// InternalSARL.g:5187:7: ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5());
// InternalSARL.g:5190:7: ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* )
// InternalSARL.g:5191:8: ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )*
{
// InternalSARL.g:5191:8: ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )*
loop152:
do {
int alt152=3;
int LA152_0 = input.LA(1);
if ( LA152_0 == 51 && getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5(), 0) ) {
alt152=1;
}
else if ( LA152_0 == 52 && getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5(), 1) ) {
alt152=2;
}
switch (alt152) {
case 1 :
// InternalSARL.g:5192:6: ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) )
{
// InternalSARL.g:5192:6: ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) )
// InternalSARL.g:5193:7: {...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5(), 0)");
}
// InternalSARL.g:5193:109: ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) )
// InternalSARL.g:5194:8: ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5(), 0);
// InternalSARL.g:5197:11: ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) )
// InternalSARL.g:5197:12: {...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleMember", "true");
}
// InternalSARL.g:5197:21: (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* )
// InternalSARL.g:5197:22: otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )*
{
otherlv_36=(Token)match(input,51,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_36, grammarAccess.getMemberAccess().getThrowsKeyword_2_1_5_0_0());
}
// InternalSARL.g:5201:11: ( (lv_exceptions_37_0= ruleJvmTypeReference ) )
// InternalSARL.g:5202:12: (lv_exceptions_37_0= ruleJvmTypeReference )
{
// InternalSARL.g:5202:12: (lv_exceptions_37_0= ruleJvmTypeReference )
// InternalSARL.g:5203:13: lv_exceptions_37_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_1_5_0_1_0());
}
pushFollow(FOLLOW_54);
lv_exceptions_37_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"exceptions",
lv_exceptions_37_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:5220:11: (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )*
loop150:
do {
int alt150=2;
int LA150_0 = input.LA(1);
if ( (LA150_0==32) ) {
alt150=1;
}
switch (alt150) {
case 1 :
// InternalSARL.g:5221:12: otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) )
{
otherlv_38=(Token)match(input,32,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_38, grammarAccess.getMemberAccess().getCommaKeyword_2_1_5_0_2_0());
}
// InternalSARL.g:5225:12: ( (lv_exceptions_39_0= ruleJvmTypeReference ) )
// InternalSARL.g:5226:13: (lv_exceptions_39_0= ruleJvmTypeReference )
{
// InternalSARL.g:5226:13: (lv_exceptions_39_0= ruleJvmTypeReference )
// InternalSARL.g:5227:14: lv_exceptions_39_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_1_5_0_2_1_0());
}
pushFollow(FOLLOW_54);
lv_exceptions_39_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"exceptions",
lv_exceptions_39_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop150;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5());
}
}
}
break;
case 2 :
// InternalSARL.g:5251:6: ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) )
{
// InternalSARL.g:5251:6: ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) )
// InternalSARL.g:5252:7: {...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5(), 1)");
}
// InternalSARL.g:5252:109: ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) )
// InternalSARL.g:5253:8: ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5(), 1);
// InternalSARL.g:5256:11: ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) )
// InternalSARL.g:5256:12: {...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleMember", "true");
}
// InternalSARL.g:5256:21: (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* )
// InternalSARL.g:5256:22: otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )*
{
otherlv_40=(Token)match(input,52,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_40, grammarAccess.getMemberAccess().getWithKeyword_2_1_5_1_0());
}
// InternalSARL.g:5260:11: ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) )
// InternalSARL.g:5261:12: (lv_typeParameters_41_0= ruleJvmTypeParameter )
{
// InternalSARL.g:5261:12: (lv_typeParameters_41_0= ruleJvmTypeParameter )
// InternalSARL.g:5262:13: lv_typeParameters_41_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_5_1_1_0());
}
pushFollow(FOLLOW_54);
lv_typeParameters_41_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_41_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:5279:11: (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )*
loop151:
do {
int alt151=2;
int LA151_0 = input.LA(1);
if ( (LA151_0==32) ) {
alt151=1;
}
switch (alt151) {
case 1 :
// InternalSARL.g:5280:12: otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) )
{
otherlv_42=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_42, grammarAccess.getMemberAccess().getCommaKeyword_2_1_5_1_2_0());
}
// InternalSARL.g:5284:12: ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) )
// InternalSARL.g:5285:13: (lv_typeParameters_43_0= ruleJvmTypeParameter )
{
// InternalSARL.g:5285:13: (lv_typeParameters_43_0= ruleJvmTypeParameter )
// InternalSARL.g:5286:14: lv_typeParameters_43_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_5_1_2_1_0());
}
pushFollow(FOLLOW_54);
lv_typeParameters_43_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_43_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop151;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5());
}
}
}
break;
default :
break loop152;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5());
}
// InternalSARL.g:5317:5: ( (lv_expression_44_0= ruleXBlockExpression ) )
// InternalSARL.g:5318:6: (lv_expression_44_0= ruleXBlockExpression )
{
// InternalSARL.g:5318:6: (lv_expression_44_0= ruleXBlockExpression )
// InternalSARL.g:5319:7: lv_expression_44_0= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getExpressionXBlockExpressionParserRuleCall_2_1_6_0());
}
pushFollow(FOLLOW_2);
lv_expression_44_0=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
set(
current,
"expression",
lv_expression_44_0,
"org.eclipse.xtext.xbase.Xbase.XBlockExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 3 :
// InternalSARL.g:5338:4: ( () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? )
{
// InternalSARL.g:5338:4: ( () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? )
// InternalSARL.g:5339:5: () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )?
{
// InternalSARL.g:5339:5: ()
// InternalSARL.g:5340:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getMemberAccess().getSarlActionAnnotationInfoAction_2_2_0(),
current);
}
}
// InternalSARL.g:5346:5: ( (lv_modifiers_46_0= ruleCommonModifier ) )*
loop153:
do {
int alt153=2;
int LA153_0 = input.LA(1);
if ( (LA153_0==25||(LA153_0>=69 && LA153_0<=80)) ) {
alt153=1;
}
switch (alt153) {
case 1 :
// InternalSARL.g:5347:6: (lv_modifiers_46_0= ruleCommonModifier )
{
// InternalSARL.g:5347:6: (lv_modifiers_46_0= ruleCommonModifier )
// InternalSARL.g:5348:7: lv_modifiers_46_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_2_1_0());
}
pushFollow(FOLLOW_55);
lv_modifiers_46_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_46_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop153;
}
} while (true);
// InternalSARL.g:5365:5: ( (lv_modifiers_47_0= ruleMethodModifier ) )
// InternalSARL.g:5366:6: (lv_modifiers_47_0= ruleMethodModifier )
{
// InternalSARL.g:5366:6: (lv_modifiers_47_0= ruleMethodModifier )
// InternalSARL.g:5367:7: lv_modifiers_47_0= ruleMethodModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getModifiersMethodModifierParserRuleCall_2_2_2_0());
}
pushFollow(FOLLOW_65);
lv_modifiers_47_0=ruleMethodModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_47_0,
"org.eclipse.xtend.core.Xtend.MethodModifier");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:5384:5: ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )*
loop154:
do {
int alt154=3;
int LA154_0 = input.LA(1);
if ( (LA154_0==25||(LA154_0>=69 && LA154_0<=80)) ) {
alt154=1;
}
else if ( ((LA154_0>=81 && LA154_0<=82)) ) {
alt154=2;
}
switch (alt154) {
case 1 :
// InternalSARL.g:5385:6: ( (lv_modifiers_48_0= ruleCommonModifier ) )
{
// InternalSARL.g:5385:6: ( (lv_modifiers_48_0= ruleCommonModifier ) )
// InternalSARL.g:5386:7: (lv_modifiers_48_0= ruleCommonModifier )
{
// InternalSARL.g:5386:7: (lv_modifiers_48_0= ruleCommonModifier )
// InternalSARL.g:5387:8: lv_modifiers_48_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_2_3_0_0());
}
pushFollow(FOLLOW_65);
lv_modifiers_48_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_48_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalSARL.g:5405:6: ( (lv_modifiers_49_0= ruleMethodModifier ) )
{
// InternalSARL.g:5405:6: ( (lv_modifiers_49_0= ruleMethodModifier ) )
// InternalSARL.g:5406:7: (lv_modifiers_49_0= ruleMethodModifier )
{
// InternalSARL.g:5406:7: (lv_modifiers_49_0= ruleMethodModifier )
// InternalSARL.g:5407:8: lv_modifiers_49_0= ruleMethodModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getModifiersMethodModifierParserRuleCall_2_2_3_1_0());
}
pushFollow(FOLLOW_65);
lv_modifiers_49_0=ruleMethodModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_49_0,
"org.eclipse.xtend.core.Xtend.MethodModifier");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop154;
}
} while (true);
// InternalSARL.g:5425:5: (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )?
int alt156=2;
int LA156_0 = input.LA(1);
if ( (LA156_0==40) ) {
int LA156_1 = input.LA(2);
if ( (LA156_1==RULE_ID||(LA156_1>=83 && LA156_1<=86)) ) {
alt156=1;
}
else if ( (LA156_1==44) ) {
int LA156_4 = input.LA(3);
if ( (LA156_4==28||LA156_4==32||LA156_4==41) ) {
alt156=1;
}
}
}
switch (alt156) {
case 1 :
// InternalSARL.g:5426:6: otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>'
{
otherlv_50=(Token)match(input,40,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_50, grammarAccess.getMemberAccess().getLessThanSignKeyword_2_2_4_0());
}
// InternalSARL.g:5430:6: ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) )
// InternalSARL.g:5431:7: (lv_typeParameters_51_0= ruleJvmTypeParameter )
{
// InternalSARL.g:5431:7: (lv_typeParameters_51_0= ruleJvmTypeParameter )
// InternalSARL.g:5432:8: lv_typeParameters_51_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_2_4_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_51_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_51_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:5449:6: (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )*
loop155:
do {
int alt155=2;
int LA155_0 = input.LA(1);
if ( (LA155_0==32) ) {
alt155=1;
}
switch (alt155) {
case 1 :
// InternalSARL.g:5450:7: otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) )
{
otherlv_52=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_52, grammarAccess.getMemberAccess().getCommaKeyword_2_2_4_2_0());
}
// InternalSARL.g:5454:7: ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) )
// InternalSARL.g:5455:8: (lv_typeParameters_53_0= ruleJvmTypeParameter )
{
// InternalSARL.g:5455:8: (lv_typeParameters_53_0= ruleJvmTypeParameter )
// InternalSARL.g:5456:9: lv_typeParameters_53_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_2_4_2_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_53_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_53_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop155;
}
} while (true);
otherlv_54=(Token)match(input,41,FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_54, grammarAccess.getMemberAccess().getGreaterThanSignKeyword_2_2_4_3());
}
}
break;
}
// InternalSARL.g:5479:5: ( (lv_name_55_0= ruleFunctionID ) )
// InternalSARL.g:5480:6: (lv_name_55_0= ruleFunctionID )
{
// InternalSARL.g:5480:6: (lv_name_55_0= ruleFunctionID )
// InternalSARL.g:5481:7: lv_name_55_0= ruleFunctionID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getNameFunctionIDParserRuleCall_2_2_5_0());
}
pushFollow(FOLLOW_57);
lv_name_55_0=ruleFunctionID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
set(
current,
"name",
lv_name_55_0,
"org.eclipse.xtend.core.Xtend.FunctionID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:5498:5: (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )?
int alt159=2;
int LA159_0 = input.LA(1);
if ( (LA159_0==49) ) {
alt159=1;
}
switch (alt159) {
case 1 :
// InternalSARL.g:5499:6: otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')'
{
otherlv_56=(Token)match(input,49,FOLLOW_50); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_56, grammarAccess.getMemberAccess().getLeftParenthesisKeyword_2_2_6_0());
}
// InternalSARL.g:5503:6: ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )?
int alt158=2;
int LA158_0 = input.LA(1);
if ( (LA158_0==RULE_ID||(LA158_0>=44 && LA158_0<=45)||(LA158_0>=83 && LA158_0<=86)||LA158_0==94) ) {
alt158=1;
}
switch (alt158) {
case 1 :
// InternalSARL.g:5504:7: ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )*
{
// InternalSARL.g:5504:7: ( (lv_parameters_57_0= ruleParameter ) )
// InternalSARL.g:5505:8: (lv_parameters_57_0= ruleParameter )
{
// InternalSARL.g:5505:8: (lv_parameters_57_0= ruleParameter )
// InternalSARL.g:5506:9: lv_parameters_57_0= ruleParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getParametersParameterParserRuleCall_2_2_6_1_0_0());
}
pushFollow(FOLLOW_51);
lv_parameters_57_0=ruleParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"parameters",
lv_parameters_57_0,
"io.sarl.lang.SARL.Parameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:5523:7: (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )*
loop157:
do {
int alt157=2;
int LA157_0 = input.LA(1);
if ( (LA157_0==32) ) {
alt157=1;
}
switch (alt157) {
case 1 :
// InternalSARL.g:5524:8: otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) )
{
otherlv_58=(Token)match(input,32,FOLLOW_52); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_58, grammarAccess.getMemberAccess().getCommaKeyword_2_2_6_1_1_0());
}
// InternalSARL.g:5528:8: ( (lv_parameters_59_0= ruleParameter ) )
// InternalSARL.g:5529:9: (lv_parameters_59_0= ruleParameter )
{
// InternalSARL.g:5529:9: (lv_parameters_59_0= ruleParameter )
// InternalSARL.g:5530:10: lv_parameters_59_0= ruleParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getParametersParameterParserRuleCall_2_2_6_1_1_1_0());
}
pushFollow(FOLLOW_51);
lv_parameters_59_0=ruleParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"parameters",
lv_parameters_59_0,
"io.sarl.lang.SARL.Parameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop157;
}
} while (true);
}
break;
}
otherlv_60=(Token)match(input,50,FOLLOW_58); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_60, grammarAccess.getMemberAccess().getRightParenthesisKeyword_2_2_6_2());
}
}
break;
}
// InternalSARL.g:5554:5: (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )?
int alt161=2;
int LA161_0 = input.LA(1);
if ( (LA161_0==46) ) {
alt161=1;
}
switch (alt161) {
case 1 :
// InternalSARL.g:5555:6: otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) )
{
otherlv_61=(Token)match(input,46,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_61, grammarAccess.getMemberAccess().getColonKeyword_2_2_7_0());
}
// InternalSARL.g:5559:6: ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) )
int alt160=2;
alt160 = dfa160.predict(input);
switch (alt160) {
case 1 :
// InternalSARL.g:5560:7: ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) )
{
// InternalSARL.g:5560:7: ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) )
// InternalSARL.g:5561:8: (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs )
{
// InternalSARL.g:5561:8: (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs )
// InternalSARL.g:5562:9: lv_returnType_62_0= ruleTypeReferenceWithTypeArgs
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getReturnTypeTypeReferenceWithTypeArgsParserRuleCall_2_2_7_1_0_0());
}
pushFollow(FOLLOW_59);
lv_returnType_62_0=ruleTypeReferenceWithTypeArgs();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
set(
current,
"returnType",
lv_returnType_62_0,
"org.eclipse.xtend.core.Xtend.TypeReferenceWithTypeArgs");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalSARL.g:5580:7: ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) )
{
// InternalSARL.g:5580:7: ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) )
// InternalSARL.g:5581:8: (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs )
{
// InternalSARL.g:5581:8: (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs )
// InternalSARL.g:5582:9: lv_returnType_63_0= ruleTypeReferenceNoTypeArgs
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getReturnTypeTypeReferenceNoTypeArgsParserRuleCall_2_2_7_1_1_0());
}
pushFollow(FOLLOW_59);
lv_returnType_63_0=ruleTypeReferenceNoTypeArgs();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
set(
current,
"returnType",
lv_returnType_63_0,
"org.eclipse.xtend.core.Xtend.TypeReferenceNoTypeArgs");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
break;
}
// InternalSARL.g:5601:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) )
// InternalSARL.g:5602:6: ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) )
{
// InternalSARL.g:5602:6: ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) )
// InternalSARL.g:5603:7: ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8());
// InternalSARL.g:5606:7: ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* )
// InternalSARL.g:5607:8: ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )*
{
// InternalSARL.g:5607:8: ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )*
loop165:
do {
int alt165=4;
int LA165_0 = input.LA(1);
if ( LA165_0 == 51 && getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 0) ) {
alt165=1;
}
else if ( LA165_0 == 53 && getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 1) ) {
alt165=2;
}
else if ( LA165_0 == 52 && getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 2) ) {
alt165=3;
}
switch (alt165) {
case 1 :
// InternalSARL.g:5608:6: ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) )
{
// InternalSARL.g:5608:6: ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) )
// InternalSARL.g:5609:7: {...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 0)");
}
// InternalSARL.g:5609:109: ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) )
// InternalSARL.g:5610:8: ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 0);
// InternalSARL.g:5613:11: ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) )
// InternalSARL.g:5613:12: {...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleMember", "true");
}
// InternalSARL.g:5613:21: (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* )
// InternalSARL.g:5613:22: otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )*
{
otherlv_65=(Token)match(input,51,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_65, grammarAccess.getMemberAccess().getThrowsKeyword_2_2_8_0_0());
}
// InternalSARL.g:5617:11: ( (lv_exceptions_66_0= ruleJvmTypeReference ) )
// InternalSARL.g:5618:12: (lv_exceptions_66_0= ruleJvmTypeReference )
{
// InternalSARL.g:5618:12: (lv_exceptions_66_0= ruleJvmTypeReference )
// InternalSARL.g:5619:13: lv_exceptions_66_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_2_8_0_1_0());
}
pushFollow(FOLLOW_60);
lv_exceptions_66_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"exceptions",
lv_exceptions_66_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:5636:11: (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )*
loop162:
do {
int alt162=2;
int LA162_0 = input.LA(1);
if ( (LA162_0==32) ) {
alt162=1;
}
switch (alt162) {
case 1 :
// InternalSARL.g:5637:12: otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) )
{
otherlv_67=(Token)match(input,32,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_67, grammarAccess.getMemberAccess().getCommaKeyword_2_2_8_0_2_0());
}
// InternalSARL.g:5641:12: ( (lv_exceptions_68_0= ruleJvmTypeReference ) )
// InternalSARL.g:5642:13: (lv_exceptions_68_0= ruleJvmTypeReference )
{
// InternalSARL.g:5642:13: (lv_exceptions_68_0= ruleJvmTypeReference )
// InternalSARL.g:5643:14: lv_exceptions_68_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_2_8_0_2_1_0());
}
pushFollow(FOLLOW_60);
lv_exceptions_68_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"exceptions",
lv_exceptions_68_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop162;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8());
}
}
}
break;
case 2 :
// InternalSARL.g:5667:6: ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) )
{
// InternalSARL.g:5667:6: ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) )
// InternalSARL.g:5668:7: {...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 1)");
}
// InternalSARL.g:5668:109: ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) )
// InternalSARL.g:5669:8: ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 1);
// InternalSARL.g:5672:11: ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) )
// InternalSARL.g:5672:12: {...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleMember", "true");
}
// InternalSARL.g:5672:21: (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* )
// InternalSARL.g:5672:22: otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )*
{
otherlv_69=(Token)match(input,53,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_69, grammarAccess.getMemberAccess().getFiresKeyword_2_2_8_1_0());
}
// InternalSARL.g:5676:11: ( (lv_firedEvents_70_0= ruleJvmTypeReference ) )
// InternalSARL.g:5677:12: (lv_firedEvents_70_0= ruleJvmTypeReference )
{
// InternalSARL.g:5677:12: (lv_firedEvents_70_0= ruleJvmTypeReference )
// InternalSARL.g:5678:13: lv_firedEvents_70_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getFiredEventsJvmTypeReferenceParserRuleCall_2_2_8_1_1_0());
}
pushFollow(FOLLOW_60);
lv_firedEvents_70_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"firedEvents",
lv_firedEvents_70_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:5695:11: (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )*
loop163:
do {
int alt163=2;
int LA163_0 = input.LA(1);
if ( (LA163_0==32) ) {
alt163=1;
}
switch (alt163) {
case 1 :
// InternalSARL.g:5696:12: otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) )
{
otherlv_71=(Token)match(input,32,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_71, grammarAccess.getMemberAccess().getCommaKeyword_2_2_8_1_2_0());
}
// InternalSARL.g:5700:12: ( (lv_firedEvents_72_0= ruleJvmTypeReference ) )
// InternalSARL.g:5701:13: (lv_firedEvents_72_0= ruleJvmTypeReference )
{
// InternalSARL.g:5701:13: (lv_firedEvents_72_0= ruleJvmTypeReference )
// InternalSARL.g:5702:14: lv_firedEvents_72_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getFiredEventsJvmTypeReferenceParserRuleCall_2_2_8_1_2_1_0());
}
pushFollow(FOLLOW_60);
lv_firedEvents_72_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"firedEvents",
lv_firedEvents_72_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop163;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8());
}
}
}
break;
case 3 :
// InternalSARL.g:5726:6: ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) )
{
// InternalSARL.g:5726:6: ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) )
// InternalSARL.g:5727:7: {...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 2) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 2)");
}
// InternalSARL.g:5727:109: ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) )
// InternalSARL.g:5728:8: ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 2);
// InternalSARL.g:5731:11: ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) )
// InternalSARL.g:5731:12: {...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleMember", "true");
}
// InternalSARL.g:5731:21: (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* )
// InternalSARL.g:5731:22: otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )*
{
otherlv_73=(Token)match(input,52,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_73, grammarAccess.getMemberAccess().getWithKeyword_2_2_8_2_0());
}
// InternalSARL.g:5735:11: ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) )
// InternalSARL.g:5736:12: (lv_typeParameters_74_0= ruleJvmTypeParameter )
{
// InternalSARL.g:5736:12: (lv_typeParameters_74_0= ruleJvmTypeParameter )
// InternalSARL.g:5737:13: lv_typeParameters_74_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_2_8_2_1_0());
}
pushFollow(FOLLOW_60);
lv_typeParameters_74_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_74_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:5754:11: (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )*
loop164:
do {
int alt164=2;
int LA164_0 = input.LA(1);
if ( (LA164_0==32) ) {
alt164=1;
}
switch (alt164) {
case 1 :
// InternalSARL.g:5755:12: otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) )
{
otherlv_75=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_75, grammarAccess.getMemberAccess().getCommaKeyword_2_2_8_2_2_0());
}
// InternalSARL.g:5759:12: ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) )
// InternalSARL.g:5760:13: (lv_typeParameters_76_0= ruleJvmTypeParameter )
{
// InternalSARL.g:5760:13: (lv_typeParameters_76_0= ruleJvmTypeParameter )
// InternalSARL.g:5761:14: lv_typeParameters_76_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_2_8_2_2_1_0());
}
pushFollow(FOLLOW_60);
lv_typeParameters_76_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_76_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop164;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8());
}
}
}
break;
default :
break loop165;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8());
}
// InternalSARL.g:5792:5: ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )?
int alt166=3;
int LA166_0 = input.LA(1);
if ( (LA166_0==29) ) {
alt166=1;
}
else if ( (LA166_0==26) ) {
alt166=2;
}
switch (alt166) {
case 1 :
// InternalSARL.g:5793:6: ( (lv_expression_77_0= ruleXBlockExpression ) )
{
// InternalSARL.g:5793:6: ( (lv_expression_77_0= ruleXBlockExpression ) )
// InternalSARL.g:5794:7: (lv_expression_77_0= ruleXBlockExpression )
{
// InternalSARL.g:5794:7: (lv_expression_77_0= ruleXBlockExpression )
// InternalSARL.g:5795:8: lv_expression_77_0= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getExpressionXBlockExpressionParserRuleCall_2_2_9_0_0());
}
pushFollow(FOLLOW_2);
lv_expression_77_0=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
set(
current,
"expression",
lv_expression_77_0,
"org.eclipse.xtext.xbase.Xbase.XBlockExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalSARL.g:5813:6: otherlv_78= ';'
{
otherlv_78=(Token)match(input,26,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_78, grammarAccess.getMemberAccess().getSemicolonKeyword_2_2_9_1());
}
}
break;
}
}
}
break;
case 4 :
// InternalSARL.g:5820:4: ( () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}' )
{
// InternalSARL.g:5820:4: ( () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}' )
// InternalSARL.g:5821:5: () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}'
{
// InternalSARL.g:5821:5: ()
// InternalSARL.g:5822:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getMemberAccess().getSarlClassAnnotationInfoAction_2_3_0(),
current);
}
}
// InternalSARL.g:5828:5: ( (lv_modifiers_80_0= ruleCommonModifier ) )*
loop167:
do {
int alt167=2;
int LA167_0 = input.LA(1);
if ( (LA167_0==25||(LA167_0>=69 && LA167_0<=80)) ) {
alt167=1;
}
switch (alt167) {
case 1 :
// InternalSARL.g:5829:6: (lv_modifiers_80_0= ruleCommonModifier )
{
// InternalSARL.g:5829:6: (lv_modifiers_80_0= ruleCommonModifier )
// InternalSARL.g:5830:7: lv_modifiers_80_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_3_1_0());
}
pushFollow(FOLLOW_26);
lv_modifiers_80_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_80_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop167;
}
} while (true);
otherlv_81=(Token)match(input,39,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_81, grammarAccess.getMemberAccess().getClassKeyword_2_3_2());
}
// InternalSARL.g:5851:5: ( (lv_name_82_0= ruleValidID ) )
// InternalSARL.g:5852:6: (lv_name_82_0= ruleValidID )
{
// InternalSARL.g:5852:6: (lv_name_82_0= ruleValidID )
// InternalSARL.g:5853:7: lv_name_82_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getNameValidIDParserRuleCall_2_3_3_0());
}
pushFollow(FOLLOW_27);
lv_name_82_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
set(
current,
"name",
lv_name_82_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:5870:5: (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )?
int alt169=2;
int LA169_0 = input.LA(1);
if ( (LA169_0==40) ) {
alt169=1;
}
switch (alt169) {
case 1 :
// InternalSARL.g:5871:6: otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>'
{
otherlv_83=(Token)match(input,40,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_83, grammarAccess.getMemberAccess().getLessThanSignKeyword_2_3_4_0());
}
// InternalSARL.g:5875:6: ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) )
// InternalSARL.g:5876:7: (lv_typeParameters_84_0= ruleJvmTypeParameter )
{
// InternalSARL.g:5876:7: (lv_typeParameters_84_0= ruleJvmTypeParameter )
// InternalSARL.g:5877:8: lv_typeParameters_84_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_3_4_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_84_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_84_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:5894:6: (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )*
loop168:
do {
int alt168=2;
int LA168_0 = input.LA(1);
if ( (LA168_0==32) ) {
alt168=1;
}
switch (alt168) {
case 1 :
// InternalSARL.g:5895:7: otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) )
{
otherlv_85=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_85, grammarAccess.getMemberAccess().getCommaKeyword_2_3_4_2_0());
}
// InternalSARL.g:5899:7: ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) )
// InternalSARL.g:5900:8: (lv_typeParameters_86_0= ruleJvmTypeParameter )
{
// InternalSARL.g:5900:8: (lv_typeParameters_86_0= ruleJvmTypeParameter )
// InternalSARL.g:5901:9: lv_typeParameters_86_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_3_4_2_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_86_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_86_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop168;
}
} while (true);
otherlv_87=(Token)match(input,41,FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_87, grammarAccess.getMemberAccess().getGreaterThanSignKeyword_2_3_4_3());
}
}
break;
}
// InternalSARL.g:5924:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) )
// InternalSARL.g:5925:6: ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) )
{
// InternalSARL.g:5925:6: ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) )
// InternalSARL.g:5926:7: ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5());
// InternalSARL.g:5929:7: ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* )
// InternalSARL.g:5930:8: ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )*
{
// InternalSARL.g:5930:8: ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )*
loop171:
do {
int alt171=3;
int LA171_0 = input.LA(1);
if ( LA171_0 == 28 && getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5(), 0) ) {
alt171=1;
}
else if ( LA171_0 == 36 && getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5(), 1) ) {
alt171=2;
}
switch (alt171) {
case 1 :
// InternalSARL.g:5931:6: ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) )
{
// InternalSARL.g:5931:6: ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) )
// InternalSARL.g:5932:7: {...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5(), 0)");
}
// InternalSARL.g:5932:109: ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) )
// InternalSARL.g:5933:8: ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5(), 0);
// InternalSARL.g:5936:11: ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) )
// InternalSARL.g:5936:12: {...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleMember", "true");
}
// InternalSARL.g:5936:21: (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) )
// InternalSARL.g:5936:22: otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_89=(Token)match(input,28,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_89, grammarAccess.getMemberAccess().getExtendsKeyword_2_3_5_0_0());
}
// InternalSARL.g:5940:11: ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:5941:12: (lv_extends_90_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:5941:12: (lv_extends_90_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:5942:13: lv_extends_90_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_3_5_0_1_0());
}
pushFollow(FOLLOW_21);
lv_extends_90_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
set(
current,
"extends",
lv_extends_90_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5());
}
}
}
break;
case 2 :
// InternalSARL.g:5965:6: ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) )
{
// InternalSARL.g:5965:6: ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) )
// InternalSARL.g:5966:7: {...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5(), 1)");
}
// InternalSARL.g:5966:109: ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) )
// InternalSARL.g:5967:8: ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5(), 1);
// InternalSARL.g:5970:11: ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) )
// InternalSARL.g:5970:12: {...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleMember", "true");
}
// InternalSARL.g:5970:21: (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* )
// InternalSARL.g:5970:22: otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )*
{
otherlv_91=(Token)match(input,36,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_91, grammarAccess.getMemberAccess().getImplementsKeyword_2_3_5_1_0());
}
// InternalSARL.g:5974:11: ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:5975:12: (lv_implements_92_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:5975:12: (lv_implements_92_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:5976:13: lv_implements_92_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_3_5_1_1_0());
}
pushFollow(FOLLOW_22);
lv_implements_92_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"implements",
lv_implements_92_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:5993:11: (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )*
loop170:
do {
int alt170=2;
int LA170_0 = input.LA(1);
if ( (LA170_0==32) ) {
alt170=1;
}
switch (alt170) {
case 1 :
// InternalSARL.g:5994:12: otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_93=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_93, grammarAccess.getMemberAccess().getCommaKeyword_2_3_5_1_2_0());
}
// InternalSARL.g:5998:12: ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:5999:13: (lv_implements_94_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:5999:13: (lv_implements_94_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:6000:14: lv_implements_94_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_3_5_1_2_1_0());
}
pushFollow(FOLLOW_22);
lv_implements_94_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"implements",
lv_implements_94_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop170;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5());
}
}
}
break;
default :
break loop171;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5());
}
otherlv_95=(Token)match(input,29,FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_95, grammarAccess.getMemberAccess().getLeftCurlyBracketKeyword_2_3_6());
}
// InternalSARL.g:6035:5: ( (lv_members_96_0= ruleMember ) )*
loop172:
do {
int alt172=2;
int LA172_0 = input.LA(1);
if ( (LA172_0==25||LA172_0==39||(LA172_0>=42 && LA172_0<=45)||LA172_0==48||(LA172_0>=61 && LA172_0<=62)||(LA172_0>=69 && LA172_0<=82)||LA172_0==94) ) {
alt172=1;
}
switch (alt172) {
case 1 :
// InternalSARL.g:6036:6: (lv_members_96_0= ruleMember )
{
// InternalSARL.g:6036:6: (lv_members_96_0= ruleMember )
// InternalSARL.g:6037:7: lv_members_96_0= ruleMember
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getMembersMemberParserRuleCall_2_3_7_0());
}
pushFollow(FOLLOW_29);
lv_members_96_0=ruleMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"members",
lv_members_96_0,
"io.sarl.lang.SARL.Member");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop172;
}
} while (true);
otherlv_97=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_97, grammarAccess.getMemberAccess().getRightCurlyBracketKeyword_2_3_8());
}
}
}
break;
case 5 :
// InternalSARL.g:6060:4: ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}' )
{
// InternalSARL.g:6060:4: ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}' )
// InternalSARL.g:6061:5: () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}'
{
// InternalSARL.g:6061:5: ()
// InternalSARL.g:6062:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getMemberAccess().getSarlInterfaceAnnotationInfoAction_2_4_0(),
current);
}
}
// InternalSARL.g:6068:5: ( (lv_modifiers_99_0= ruleCommonModifier ) )*
loop173:
do {
int alt173=2;
int LA173_0 = input.LA(1);
if ( (LA173_0==25||(LA173_0>=69 && LA173_0<=80)) ) {
alt173=1;
}
switch (alt173) {
case 1 :
// InternalSARL.g:6069:6: (lv_modifiers_99_0= ruleCommonModifier )
{
// InternalSARL.g:6069:6: (lv_modifiers_99_0= ruleCommonModifier )
// InternalSARL.g:6070:7: lv_modifiers_99_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_4_1_0());
}
pushFollow(FOLLOW_30);
lv_modifiers_99_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_99_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop173;
}
} while (true);
otherlv_100=(Token)match(input,42,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_100, grammarAccess.getMemberAccess().getInterfaceKeyword_2_4_2());
}
// InternalSARL.g:6091:5: ( (lv_name_101_0= ruleValidID ) )
// InternalSARL.g:6092:6: (lv_name_101_0= ruleValidID )
{
// InternalSARL.g:6092:6: (lv_name_101_0= ruleValidID )
// InternalSARL.g:6093:7: lv_name_101_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getNameValidIDParserRuleCall_2_4_3_0());
}
pushFollow(FOLLOW_31);
lv_name_101_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
set(
current,
"name",
lv_name_101_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:6110:5: (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )?
int alt175=2;
int LA175_0 = input.LA(1);
if ( (LA175_0==40) ) {
alt175=1;
}
switch (alt175) {
case 1 :
// InternalSARL.g:6111:6: otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>'
{
otherlv_102=(Token)match(input,40,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_102, grammarAccess.getMemberAccess().getLessThanSignKeyword_2_4_4_0());
}
// InternalSARL.g:6115:6: ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) )
// InternalSARL.g:6116:7: (lv_typeParameters_103_0= ruleJvmTypeParameter )
{
// InternalSARL.g:6116:7: (lv_typeParameters_103_0= ruleJvmTypeParameter )
// InternalSARL.g:6117:8: lv_typeParameters_103_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_4_4_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_103_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_103_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:6134:6: (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )*
loop174:
do {
int alt174=2;
int LA174_0 = input.LA(1);
if ( (LA174_0==32) ) {
alt174=1;
}
switch (alt174) {
case 1 :
// InternalSARL.g:6135:7: otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) )
{
otherlv_104=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_104, grammarAccess.getMemberAccess().getCommaKeyword_2_4_4_2_0());
}
// InternalSARL.g:6139:7: ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) )
// InternalSARL.g:6140:8: (lv_typeParameters_105_0= ruleJvmTypeParameter )
{
// InternalSARL.g:6140:8: (lv_typeParameters_105_0= ruleJvmTypeParameter )
// InternalSARL.g:6141:9: lv_typeParameters_105_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_4_4_2_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_105_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"typeParameters",
lv_typeParameters_105_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop174;
}
} while (true);
otherlv_106=(Token)match(input,41,FOLLOW_13); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_106, grammarAccess.getMemberAccess().getGreaterThanSignKeyword_2_4_4_3());
}
}
break;
}
// InternalSARL.g:6164:5: (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )?
int alt177=2;
int LA177_0 = input.LA(1);
if ( (LA177_0==28) ) {
alt177=1;
}
switch (alt177) {
case 1 :
// InternalSARL.g:6165:6: otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )*
{
otherlv_107=(Token)match(input,28,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_107, grammarAccess.getMemberAccess().getExtendsKeyword_2_4_5_0());
}
// InternalSARL.g:6169:6: ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:6170:7: (lv_extends_108_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:6170:7: (lv_extends_108_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:6171:8: lv_extends_108_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_4_5_1_0());
}
pushFollow(FOLLOW_14);
lv_extends_108_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"extends",
lv_extends_108_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:6188:6: (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )*
loop176:
do {
int alt176=2;
int LA176_0 = input.LA(1);
if ( (LA176_0==32) ) {
alt176=1;
}
switch (alt176) {
case 1 :
// InternalSARL.g:6189:7: otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_109=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_109, grammarAccess.getMemberAccess().getCommaKeyword_2_4_5_2_0());
}
// InternalSARL.g:6193:7: ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:6194:8: (lv_extends_110_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:6194:8: (lv_extends_110_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:6195:9: lv_extends_110_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_4_5_2_1_0());
}
pushFollow(FOLLOW_14);
lv_extends_110_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"extends",
lv_extends_110_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop176;
}
} while (true);
}
break;
}
otherlv_111=(Token)match(input,29,FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_111, grammarAccess.getMemberAccess().getLeftCurlyBracketKeyword_2_4_6());
}
// InternalSARL.g:6218:5: ( (lv_members_112_0= ruleMember ) )*
loop178:
do {
int alt178=2;
int LA178_0 = input.LA(1);
if ( (LA178_0==25||LA178_0==39||(LA178_0>=42 && LA178_0<=45)||LA178_0==48||(LA178_0>=61 && LA178_0<=62)||(LA178_0>=69 && LA178_0<=82)||LA178_0==94) ) {
alt178=1;
}
switch (alt178) {
case 1 :
// InternalSARL.g:6219:6: (lv_members_112_0= ruleMember )
{
// InternalSARL.g:6219:6: (lv_members_112_0= ruleMember )
// InternalSARL.g:6220:7: lv_members_112_0= ruleMember
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getMembersMemberParserRuleCall_2_4_7_0());
}
pushFollow(FOLLOW_29);
lv_members_112_0=ruleMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"members",
lv_members_112_0,
"io.sarl.lang.SARL.Member");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop178;
}
} while (true);
otherlv_113=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_113, grammarAccess.getMemberAccess().getRightCurlyBracketKeyword_2_4_8());
}
}
}
break;
case 6 :
// InternalSARL.g:6243:4: ( () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}' )
{
// InternalSARL.g:6243:4: ( () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}' )
// InternalSARL.g:6244:5: () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}'
{
// InternalSARL.g:6244:5: ()
// InternalSARL.g:6245:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getMemberAccess().getSarlEnumerationAnnotationInfoAction_2_5_0(),
current);
}
}
// InternalSARL.g:6251:5: ( (lv_modifiers_115_0= ruleCommonModifier ) )*
loop179:
do {
int alt179=2;
int LA179_0 = input.LA(1);
if ( (LA179_0==25||(LA179_0>=69 && LA179_0<=80)) ) {
alt179=1;
}
switch (alt179) {
case 1 :
// InternalSARL.g:6252:6: (lv_modifiers_115_0= ruleCommonModifier )
{
// InternalSARL.g:6252:6: (lv_modifiers_115_0= ruleCommonModifier )
// InternalSARL.g:6253:7: lv_modifiers_115_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_5_1_0());
}
pushFollow(FOLLOW_32);
lv_modifiers_115_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_115_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop179;
}
} while (true);
otherlv_116=(Token)match(input,43,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_116, grammarAccess.getMemberAccess().getEnumKeyword_2_5_2());
}
// InternalSARL.g:6274:5: ( (lv_name_117_0= ruleValidID ) )
// InternalSARL.g:6275:6: (lv_name_117_0= ruleValidID )
{
// InternalSARL.g:6275:6: (lv_name_117_0= ruleValidID )
// InternalSARL.g:6276:7: lv_name_117_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getNameValidIDParserRuleCall_2_5_3_0());
}
pushFollow(FOLLOW_17);
lv_name_117_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
set(
current,
"name",
lv_name_117_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_118=(Token)match(input,29,FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_118, grammarAccess.getMemberAccess().getLeftCurlyBracketKeyword_2_5_4());
}
// InternalSARL.g:6297:5: ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )?
int alt181=2;
int LA181_0 = input.LA(1);
if ( (LA181_0==RULE_ID||LA181_0==44||(LA181_0>=83 && LA181_0<=86)) ) {
alt181=1;
}
switch (alt181) {
case 1 :
// InternalSARL.g:6298:6: ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )*
{
// InternalSARL.g:6298:6: ( (lv_members_119_0= ruleXtendEnumLiteral ) )
// InternalSARL.g:6299:7: (lv_members_119_0= ruleXtendEnumLiteral )
{
// InternalSARL.g:6299:7: (lv_members_119_0= ruleXtendEnumLiteral )
// InternalSARL.g:6300:8: lv_members_119_0= ruleXtendEnumLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getMembersXtendEnumLiteralParserRuleCall_2_5_5_0_0());
}
pushFollow(FOLLOW_34);
lv_members_119_0=ruleXtendEnumLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"members",
lv_members_119_0,
"io.sarl.lang.SARL.XtendEnumLiteral");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:6317:6: (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )*
loop180:
do {
int alt180=2;
int LA180_0 = input.LA(1);
if ( (LA180_0==32) ) {
alt180=1;
}
switch (alt180) {
case 1 :
// InternalSARL.g:6318:7: otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) )
{
otherlv_120=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_120, grammarAccess.getMemberAccess().getCommaKeyword_2_5_5_1_0());
}
// InternalSARL.g:6322:7: ( (lv_members_121_0= ruleXtendEnumLiteral ) )
// InternalSARL.g:6323:8: (lv_members_121_0= ruleXtendEnumLiteral )
{
// InternalSARL.g:6323:8: (lv_members_121_0= ruleXtendEnumLiteral )
// InternalSARL.g:6324:9: lv_members_121_0= ruleXtendEnumLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getMembersXtendEnumLiteralParserRuleCall_2_5_5_1_1_0());
}
pushFollow(FOLLOW_34);
lv_members_121_0=ruleXtendEnumLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"members",
lv_members_121_0,
"io.sarl.lang.SARL.XtendEnumLiteral");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop180;
}
} while (true);
}
break;
}
// InternalSARL.g:6343:5: (otherlv_122= ';' )?
int alt182=2;
int LA182_0 = input.LA(1);
if ( (LA182_0==26) ) {
alt182=1;
}
switch (alt182) {
case 1 :
// InternalSARL.g:6344:6: otherlv_122= ';'
{
otherlv_122=(Token)match(input,26,FOLLOW_24); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_122, grammarAccess.getMemberAccess().getSemicolonKeyword_2_5_6());
}
}
break;
}
otherlv_123=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_123, grammarAccess.getMemberAccess().getRightCurlyBracketKeyword_2_5_7());
}
}
}
break;
case 7 :
// InternalSARL.g:6355:4: ( () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}' )
{
// InternalSARL.g:6355:4: ( () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}' )
// InternalSARL.g:6356:5: () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}'
{
// InternalSARL.g:6356:5: ()
// InternalSARL.g:6357:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getMemberAccess().getSarlAnnotationTypeAnnotationInfoAction_2_6_0(),
current);
}
}
// InternalSARL.g:6363:5: ( (lv_modifiers_125_0= ruleCommonModifier ) )*
loop183:
do {
int alt183=2;
int LA183_0 = input.LA(1);
if ( (LA183_0==25||(LA183_0>=69 && LA183_0<=80)) ) {
alt183=1;
}
switch (alt183) {
case 1 :
// InternalSARL.g:6364:6: (lv_modifiers_125_0= ruleCommonModifier )
{
// InternalSARL.g:6364:6: (lv_modifiers_125_0= ruleCommonModifier )
// InternalSARL.g:6365:7: lv_modifiers_125_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_6_1_0());
}
pushFollow(FOLLOW_35);
lv_modifiers_125_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"modifiers",
lv_modifiers_125_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop183;
}
} while (true);
otherlv_126=(Token)match(input,44,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_126, grammarAccess.getMemberAccess().getAnnotationKeyword_2_6_2());
}
// InternalSARL.g:6386:5: ( (lv_name_127_0= ruleValidID ) )
// InternalSARL.g:6387:6: (lv_name_127_0= ruleValidID )
{
// InternalSARL.g:6387:6: (lv_name_127_0= ruleValidID )
// InternalSARL.g:6388:7: lv_name_127_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getNameValidIDParserRuleCall_2_6_3_0());
}
pushFollow(FOLLOW_17);
lv_name_127_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
set(
current,
"name",
lv_name_127_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_128=(Token)match(input,29,FOLLOW_36); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_128, grammarAccess.getMemberAccess().getLeftCurlyBracketKeyword_2_6_4());
}
// InternalSARL.g:6409:5: ( (lv_members_129_0= ruleAnnotationField ) )*
loop184:
do {
int alt184=2;
int LA184_0 = input.LA(1);
if ( (LA184_0==25||LA184_0==39||(LA184_0>=42 && LA184_0<=44)||(LA184_0>=61 && LA184_0<=62)||(LA184_0>=69 && LA184_0<=80)||LA184_0==94) ) {
alt184=1;
}
switch (alt184) {
case 1 :
// InternalSARL.g:6410:6: (lv_members_129_0= ruleAnnotationField )
{
// InternalSARL.g:6410:6: (lv_members_129_0= ruleAnnotationField )
// InternalSARL.g:6411:7: lv_members_129_0= ruleAnnotationField
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMemberAccess().getMembersAnnotationFieldParserRuleCall_2_6_5_0());
}
pushFollow(FOLLOW_36);
lv_members_129_0=ruleAnnotationField();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getMemberRule());
}
add(
current,
"members",
lv_members_129_0,
"io.sarl.lang.SARL.AnnotationField");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop184;
}
} while (true);
otherlv_130=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_130, grammarAccess.getMemberAccess().getRightCurlyBracketKeyword_2_6_6());
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMember"
// $ANTLR start "entryRuleAnnotationField"
// InternalSARL.g:6438:1: entryRuleAnnotationField returns [EObject current=null] : iv_ruleAnnotationField= ruleAnnotationField EOF ;
public final EObject entryRuleAnnotationField() throws RecognitionException {
EObject current = null;
EObject iv_ruleAnnotationField = null;
try {
// InternalSARL.g:6438:56: (iv_ruleAnnotationField= ruleAnnotationField EOF )
// InternalSARL.g:6439:2: iv_ruleAnnotationField= ruleAnnotationField EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldRule());
}
pushFollow(FOLLOW_1);
iv_ruleAnnotationField=ruleAnnotationField();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAnnotationField;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAnnotationField"
// $ANTLR start "ruleAnnotationField"
// InternalSARL.g:6445:1: ruleAnnotationField returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )? ) | ( () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}' ) | ( () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}' ) | ( () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}' ) ) ) ;
public final EObject ruleAnnotationField() throws RecognitionException {
EObject current = null;
Token otherlv_7=null;
Token otherlv_9=null;
Token otherlv_11=null;
Token otherlv_14=null;
Token otherlv_16=null;
Token otherlv_18=null;
Token otherlv_20=null;
Token otherlv_22=null;
Token otherlv_24=null;
Token otherlv_26=null;
Token otherlv_28=null;
Token otherlv_30=null;
Token otherlv_33=null;
Token otherlv_35=null;
Token otherlv_37=null;
Token otherlv_39=null;
Token otherlv_40=null;
Token otherlv_42=null;
Token otherlv_44=null;
Token otherlv_46=null;
Token otherlv_49=null;
Token otherlv_51=null;
Token otherlv_53=null;
Token otherlv_55=null;
Token otherlv_56=null;
Token otherlv_59=null;
Token otherlv_61=null;
Token otherlv_63=null;
EObject lv_annotations_1_0 = null;
AntlrDatatypeRuleToken lv_modifiers_3_0 = null;
AntlrDatatypeRuleToken lv_modifiers_4_0 = null;
AntlrDatatypeRuleToken lv_modifiers_5_0 = null;
AntlrDatatypeRuleToken lv_name_6_0 = null;
EObject lv_type_8_0 = null;
EObject lv_initialValue_10_0 = null;
AntlrDatatypeRuleToken lv_modifiers_13_0 = null;
AntlrDatatypeRuleToken lv_name_15_0 = null;
EObject lv_typeParameters_17_0 = null;
EObject lv_typeParameters_19_0 = null;
EObject lv_extends_23_0 = null;
EObject lv_implements_25_0 = null;
EObject lv_implements_27_0 = null;
EObject lv_members_29_0 = null;
AntlrDatatypeRuleToken lv_modifiers_32_0 = null;
AntlrDatatypeRuleToken lv_name_34_0 = null;
EObject lv_typeParameters_36_0 = null;
EObject lv_typeParameters_38_0 = null;
EObject lv_extends_41_0 = null;
EObject lv_extends_43_0 = null;
EObject lv_members_45_0 = null;
AntlrDatatypeRuleToken lv_modifiers_48_0 = null;
AntlrDatatypeRuleToken lv_name_50_0 = null;
EObject lv_members_52_0 = null;
EObject lv_members_54_0 = null;
AntlrDatatypeRuleToken lv_modifiers_58_0 = null;
AntlrDatatypeRuleToken lv_name_60_0 = null;
EObject lv_members_62_0 = null;
enterRule();
try {
// InternalSARL.g:6451:2: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )? ) | ( () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}' ) | ( () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}' ) | ( () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}' ) ) ) )
// InternalSARL.g:6452:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )? ) | ( () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}' ) | ( () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}' ) | ( () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}' ) ) )
{
// InternalSARL.g:6452:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )? ) | ( () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}' ) | ( () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}' ) | ( () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}' ) ) )
// InternalSARL.g:6453:3: () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )? ) | ( () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}' ) | ( () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}' ) | ( () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}' ) )
{
// InternalSARL.g:6453:3: ()
// InternalSARL.g:6454:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getAnnotationFieldAccess().getXtendMemberAction_0(),
current);
}
}
// InternalSARL.g:6460:3: ( (lv_annotations_1_0= ruleXAnnotation ) )*
loop186:
do {
int alt186=2;
int LA186_0 = input.LA(1);
if ( (LA186_0==94) ) {
alt186=1;
}
switch (alt186) {
case 1 :
// InternalSARL.g:6461:4: (lv_annotations_1_0= ruleXAnnotation )
{
// InternalSARL.g:6461:4: (lv_annotations_1_0= ruleXAnnotation )
// InternalSARL.g:6462:5: lv_annotations_1_0= ruleXAnnotation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getAnnotationsXAnnotationParserRuleCall_1_0());
}
pushFollow(FOLLOW_67);
lv_annotations_1_0=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"annotations",
lv_annotations_1_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotation");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop186;
}
} while (true);
// InternalSARL.g:6479:3: ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )? ) | ( () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}' ) | ( () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}' ) | ( () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}' ) )
int alt210=5;
alt210 = dfa210.predict(input);
switch (alt210) {
case 1 :
// InternalSARL.g:6480:4: ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )? )
{
// InternalSARL.g:6480:4: ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )? )
// InternalSARL.g:6481:5: () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )?
{
// InternalSARL.g:6481:5: ()
// InternalSARL.g:6482:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAnnotationFieldAccess().getSarlFieldAnnotationInfoAction_2_0_0(),
current);
}
}
// InternalSARL.g:6488:5: ( (lv_modifiers_3_0= ruleCommonModifier ) )*
loop187:
do {
int alt187=2;
int LA187_0 = input.LA(1);
if ( (LA187_0==25||(LA187_0>=69 && LA187_0<=80)) ) {
alt187=1;
}
switch (alt187) {
case 1 :
// InternalSARL.g:6489:6: (lv_modifiers_3_0= ruleCommonModifier )
{
// InternalSARL.g:6489:6: (lv_modifiers_3_0= ruleCommonModifier )
// InternalSARL.g:6490:7: lv_modifiers_3_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getModifiersCommonModifierParserRuleCall_2_0_1_0());
}
pushFollow(FOLLOW_38);
lv_modifiers_3_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"modifiers",
lv_modifiers_3_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop187;
}
} while (true);
// InternalSARL.g:6507:5: ( (lv_modifiers_4_0= ruleFieldModifier ) )
// InternalSARL.g:6508:6: (lv_modifiers_4_0= ruleFieldModifier )
{
// InternalSARL.g:6508:6: (lv_modifiers_4_0= ruleFieldModifier )
// InternalSARL.g:6509:7: lv_modifiers_4_0= ruleFieldModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getModifiersFieldModifierParserRuleCall_2_0_2_0());
}
pushFollow(FOLLOW_68);
lv_modifiers_4_0=ruleFieldModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"modifiers",
lv_modifiers_4_0,
"org.eclipse.xtend.core.Xtend.FieldModifier");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:6526:5: ( (lv_modifiers_5_0= ruleCommonModifier ) )*
loop188:
do {
int alt188=2;
int LA188_0 = input.LA(1);
if ( (LA188_0==25||(LA188_0>=69 && LA188_0<=80)) ) {
alt188=1;
}
switch (alt188) {
case 1 :
// InternalSARL.g:6527:6: (lv_modifiers_5_0= ruleCommonModifier )
{
// InternalSARL.g:6527:6: (lv_modifiers_5_0= ruleCommonModifier )
// InternalSARL.g:6528:7: lv_modifiers_5_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getModifiersCommonModifierParserRuleCall_2_0_3_0());
}
pushFollow(FOLLOW_68);
lv_modifiers_5_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"modifiers",
lv_modifiers_5_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop188;
}
} while (true);
// InternalSARL.g:6545:5: ( (lv_name_6_0= ruleValidID ) )
// InternalSARL.g:6546:6: (lv_name_6_0= ruleValidID )
{
// InternalSARL.g:6546:6: (lv_name_6_0= ruleValidID )
// InternalSARL.g:6547:7: lv_name_6_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getNameValidIDParserRuleCall_2_0_4_0());
}
pushFollow(FOLLOW_44);
lv_name_6_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
set(
current,
"name",
lv_name_6_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:6564:5: (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )?
int alt189=2;
int LA189_0 = input.LA(1);
if ( (LA189_0==46) ) {
alt189=1;
}
switch (alt189) {
case 1 :
// InternalSARL.g:6565:6: otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) )
{
otherlv_7=(Token)match(input,46,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getAnnotationFieldAccess().getColonKeyword_2_0_5_0());
}
// InternalSARL.g:6569:6: ( (lv_type_8_0= ruleJvmTypeReference ) )
// InternalSARL.g:6570:7: (lv_type_8_0= ruleJvmTypeReference )
{
// InternalSARL.g:6570:7: (lv_type_8_0= ruleJvmTypeReference )
// InternalSARL.g:6571:8: lv_type_8_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_5_1_0());
}
pushFollow(FOLLOW_42);
lv_type_8_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
set(
current,
"type",
lv_type_8_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalSARL.g:6589:5: (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )?
int alt190=2;
int LA190_0 = input.LA(1);
if ( (LA190_0==47) ) {
alt190=1;
}
switch (alt190) {
case 1 :
// InternalSARL.g:6590:6: otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) )
{
otherlv_9=(Token)match(input,47,FOLLOW_69); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getAnnotationFieldAccess().getEqualsSignKeyword_2_0_6_0());
}
// InternalSARL.g:6594:6: ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) )
// InternalSARL.g:6595:7: (lv_initialValue_10_0= ruleXAnnotationElementValue )
{
// InternalSARL.g:6595:7: (lv_initialValue_10_0= ruleXAnnotationElementValue )
// InternalSARL.g:6596:8: lv_initialValue_10_0= ruleXAnnotationElementValue
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getInitialValueXAnnotationElementValueParserRuleCall_2_0_6_1_0());
}
pushFollow(FOLLOW_46);
lv_initialValue_10_0=ruleXAnnotationElementValue();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
set(
current,
"initialValue",
lv_initialValue_10_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationElementValue");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalSARL.g:6614:5: (otherlv_11= ';' )?
int alt191=2;
int LA191_0 = input.LA(1);
if ( (LA191_0==26) ) {
alt191=1;
}
switch (alt191) {
case 1 :
// InternalSARL.g:6615:6: otherlv_11= ';'
{
otherlv_11=(Token)match(input,26,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getAnnotationFieldAccess().getSemicolonKeyword_2_0_7());
}
}
break;
}
}
}
break;
case 2 :
// InternalSARL.g:6622:4: ( () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}' )
{
// InternalSARL.g:6622:4: ( () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}' )
// InternalSARL.g:6623:5: () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}'
{
// InternalSARL.g:6623:5: ()
// InternalSARL.g:6624:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAnnotationFieldAccess().getSarlClassAnnotationInfoAction_2_1_0(),
current);
}
}
// InternalSARL.g:6630:5: ( (lv_modifiers_13_0= ruleCommonModifier ) )*
loop192:
do {
int alt192=2;
int LA192_0 = input.LA(1);
if ( (LA192_0==25||(LA192_0>=69 && LA192_0<=80)) ) {
alt192=1;
}
switch (alt192) {
case 1 :
// InternalSARL.g:6631:6: (lv_modifiers_13_0= ruleCommonModifier )
{
// InternalSARL.g:6631:6: (lv_modifiers_13_0= ruleCommonModifier )
// InternalSARL.g:6632:7: lv_modifiers_13_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getModifiersCommonModifierParserRuleCall_2_1_1_0());
}
pushFollow(FOLLOW_26);
lv_modifiers_13_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"modifiers",
lv_modifiers_13_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop192;
}
} while (true);
otherlv_14=(Token)match(input,39,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getAnnotationFieldAccess().getClassKeyword_2_1_2());
}
// InternalSARL.g:6653:5: ( (lv_name_15_0= ruleValidID ) )
// InternalSARL.g:6654:6: (lv_name_15_0= ruleValidID )
{
// InternalSARL.g:6654:6: (lv_name_15_0= ruleValidID )
// InternalSARL.g:6655:7: lv_name_15_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getNameValidIDParserRuleCall_2_1_3_0());
}
pushFollow(FOLLOW_27);
lv_name_15_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
set(
current,
"name",
lv_name_15_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:6672:5: (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )?
int alt194=2;
int LA194_0 = input.LA(1);
if ( (LA194_0==40) ) {
alt194=1;
}
switch (alt194) {
case 1 :
// InternalSARL.g:6673:6: otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>'
{
otherlv_16=(Token)match(input,40,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_16, grammarAccess.getAnnotationFieldAccess().getLessThanSignKeyword_2_1_4_0());
}
// InternalSARL.g:6677:6: ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) )
// InternalSARL.g:6678:7: (lv_typeParameters_17_0= ruleJvmTypeParameter )
{
// InternalSARL.g:6678:7: (lv_typeParameters_17_0= ruleJvmTypeParameter )
// InternalSARL.g:6679:8: lv_typeParameters_17_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_4_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_17_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"typeParameters",
lv_typeParameters_17_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:6696:6: (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )*
loop193:
do {
int alt193=2;
int LA193_0 = input.LA(1);
if ( (LA193_0==32) ) {
alt193=1;
}
switch (alt193) {
case 1 :
// InternalSARL.g:6697:7: otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) )
{
otherlv_18=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_18, grammarAccess.getAnnotationFieldAccess().getCommaKeyword_2_1_4_2_0());
}
// InternalSARL.g:6701:7: ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) )
// InternalSARL.g:6702:8: (lv_typeParameters_19_0= ruleJvmTypeParameter )
{
// InternalSARL.g:6702:8: (lv_typeParameters_19_0= ruleJvmTypeParameter )
// InternalSARL.g:6703:9: lv_typeParameters_19_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_4_2_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_19_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"typeParameters",
lv_typeParameters_19_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop193;
}
} while (true);
otherlv_20=(Token)match(input,41,FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_20, grammarAccess.getAnnotationFieldAccess().getGreaterThanSignKeyword_2_1_4_3());
}
}
break;
}
// InternalSARL.g:6726:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) )
// InternalSARL.g:6727:6: ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) )
{
// InternalSARL.g:6727:6: ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) )
// InternalSARL.g:6728:7: ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5());
// InternalSARL.g:6731:7: ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* )
// InternalSARL.g:6732:8: ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )*
{
// InternalSARL.g:6732:8: ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )*
loop196:
do {
int alt196=3;
int LA196_0 = input.LA(1);
if ( LA196_0 == 28 && getUnorderedGroupHelper().canSelect(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5(), 0) ) {
alt196=1;
}
else if ( LA196_0 == 36 && getUnorderedGroupHelper().canSelect(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5(), 1) ) {
alt196=2;
}
switch (alt196) {
case 1 :
// InternalSARL.g:6733:6: ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) )
{
// InternalSARL.g:6733:6: ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) )
// InternalSARL.g:6734:7: {...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleAnnotationField", "getUnorderedGroupHelper().canSelect(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5(), 0)");
}
// InternalSARL.g:6734:118: ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) )
// InternalSARL.g:6735:8: ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5(), 0);
// InternalSARL.g:6738:11: ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) )
// InternalSARL.g:6738:12: {...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleAnnotationField", "true");
}
// InternalSARL.g:6738:21: (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) )
// InternalSARL.g:6738:22: otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_22=(Token)match(input,28,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_22, grammarAccess.getAnnotationFieldAccess().getExtendsKeyword_2_1_5_0_0());
}
// InternalSARL.g:6742:11: ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:6743:12: (lv_extends_23_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:6743:12: (lv_extends_23_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:6744:13: lv_extends_23_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_1_5_0_1_0());
}
pushFollow(FOLLOW_21);
lv_extends_23_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
set(
current,
"extends",
lv_extends_23_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5());
}
}
}
break;
case 2 :
// InternalSARL.g:6767:6: ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) )
{
// InternalSARL.g:6767:6: ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) )
// InternalSARL.g:6768:7: {...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleAnnotationField", "getUnorderedGroupHelper().canSelect(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5(), 1)");
}
// InternalSARL.g:6768:118: ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) )
// InternalSARL.g:6769:8: ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) )
{
getUnorderedGroupHelper().select(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5(), 1);
// InternalSARL.g:6772:11: ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) )
// InternalSARL.g:6772:12: {...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleAnnotationField", "true");
}
// InternalSARL.g:6772:21: (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* )
// InternalSARL.g:6772:22: otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )*
{
otherlv_24=(Token)match(input,36,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_24, grammarAccess.getAnnotationFieldAccess().getImplementsKeyword_2_1_5_1_0());
}
// InternalSARL.g:6776:11: ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:6777:12: (lv_implements_25_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:6777:12: (lv_implements_25_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:6778:13: lv_implements_25_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_1_5_1_1_0());
}
pushFollow(FOLLOW_22);
lv_implements_25_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"implements",
lv_implements_25_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:6795:11: (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )*
loop195:
do {
int alt195=2;
int LA195_0 = input.LA(1);
if ( (LA195_0==32) ) {
alt195=1;
}
switch (alt195) {
case 1 :
// InternalSARL.g:6796:12: otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_26=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_26, grammarAccess.getAnnotationFieldAccess().getCommaKeyword_2_1_5_1_2_0());
}
// InternalSARL.g:6800:12: ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:6801:13: (lv_implements_27_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:6801:13: (lv_implements_27_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:6802:14: lv_implements_27_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_1_5_1_2_1_0());
}
pushFollow(FOLLOW_22);
lv_implements_27_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"implements",
lv_implements_27_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop195;
}
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5());
}
}
}
break;
default :
break loop196;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5());
}
otherlv_28=(Token)match(input,29,FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_28, grammarAccess.getAnnotationFieldAccess().getLeftCurlyBracketKeyword_2_1_6());
}
// InternalSARL.g:6837:5: ( (lv_members_29_0= ruleMember ) )*
loop197:
do {
int alt197=2;
int LA197_0 = input.LA(1);
if ( (LA197_0==25||LA197_0==39||(LA197_0>=42 && LA197_0<=45)||LA197_0==48||(LA197_0>=61 && LA197_0<=62)||(LA197_0>=69 && LA197_0<=82)||LA197_0==94) ) {
alt197=1;
}
switch (alt197) {
case 1 :
// InternalSARL.g:6838:6: (lv_members_29_0= ruleMember )
{
// InternalSARL.g:6838:6: (lv_members_29_0= ruleMember )
// InternalSARL.g:6839:7: lv_members_29_0= ruleMember
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getMembersMemberParserRuleCall_2_1_7_0());
}
pushFollow(FOLLOW_29);
lv_members_29_0=ruleMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"members",
lv_members_29_0,
"io.sarl.lang.SARL.Member");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop197;
}
} while (true);
otherlv_30=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_30, grammarAccess.getAnnotationFieldAccess().getRightCurlyBracketKeyword_2_1_8());
}
}
}
break;
case 3 :
// InternalSARL.g:6862:4: ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}' )
{
// InternalSARL.g:6862:4: ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}' )
// InternalSARL.g:6863:5: () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}'
{
// InternalSARL.g:6863:5: ()
// InternalSARL.g:6864:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAnnotationFieldAccess().getSarlInterfaceAnnotationInfoAction_2_2_0(),
current);
}
}
// InternalSARL.g:6870:5: ( (lv_modifiers_32_0= ruleCommonModifier ) )*
loop198:
do {
int alt198=2;
int LA198_0 = input.LA(1);
if ( (LA198_0==25||(LA198_0>=69 && LA198_0<=80)) ) {
alt198=1;
}
switch (alt198) {
case 1 :
// InternalSARL.g:6871:6: (lv_modifiers_32_0= ruleCommonModifier )
{
// InternalSARL.g:6871:6: (lv_modifiers_32_0= ruleCommonModifier )
// InternalSARL.g:6872:7: lv_modifiers_32_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getModifiersCommonModifierParserRuleCall_2_2_1_0());
}
pushFollow(FOLLOW_30);
lv_modifiers_32_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"modifiers",
lv_modifiers_32_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop198;
}
} while (true);
otherlv_33=(Token)match(input,42,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_33, grammarAccess.getAnnotationFieldAccess().getInterfaceKeyword_2_2_2());
}
// InternalSARL.g:6893:5: ( (lv_name_34_0= ruleValidID ) )
// InternalSARL.g:6894:6: (lv_name_34_0= ruleValidID )
{
// InternalSARL.g:6894:6: (lv_name_34_0= ruleValidID )
// InternalSARL.g:6895:7: lv_name_34_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getNameValidIDParserRuleCall_2_2_3_0());
}
pushFollow(FOLLOW_31);
lv_name_34_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
set(
current,
"name",
lv_name_34_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:6912:5: (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )?
int alt200=2;
int LA200_0 = input.LA(1);
if ( (LA200_0==40) ) {
alt200=1;
}
switch (alt200) {
case 1 :
// InternalSARL.g:6913:6: otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>'
{
otherlv_35=(Token)match(input,40,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_35, grammarAccess.getAnnotationFieldAccess().getLessThanSignKeyword_2_2_4_0());
}
// InternalSARL.g:6917:6: ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) )
// InternalSARL.g:6918:7: (lv_typeParameters_36_0= ruleJvmTypeParameter )
{
// InternalSARL.g:6918:7: (lv_typeParameters_36_0= ruleJvmTypeParameter )
// InternalSARL.g:6919:8: lv_typeParameters_36_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_2_4_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_36_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"typeParameters",
lv_typeParameters_36_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:6936:6: (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )*
loop199:
do {
int alt199=2;
int LA199_0 = input.LA(1);
if ( (LA199_0==32) ) {
alt199=1;
}
switch (alt199) {
case 1 :
// InternalSARL.g:6937:7: otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) )
{
otherlv_37=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_37, grammarAccess.getAnnotationFieldAccess().getCommaKeyword_2_2_4_2_0());
}
// InternalSARL.g:6941:7: ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) )
// InternalSARL.g:6942:8: (lv_typeParameters_38_0= ruleJvmTypeParameter )
{
// InternalSARL.g:6942:8: (lv_typeParameters_38_0= ruleJvmTypeParameter )
// InternalSARL.g:6943:9: lv_typeParameters_38_0= ruleJvmTypeParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_2_4_2_1_0());
}
pushFollow(FOLLOW_28);
lv_typeParameters_38_0=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"typeParameters",
lv_typeParameters_38_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop199;
}
} while (true);
otherlv_39=(Token)match(input,41,FOLLOW_13); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_39, grammarAccess.getAnnotationFieldAccess().getGreaterThanSignKeyword_2_2_4_3());
}
}
break;
}
// InternalSARL.g:6966:5: (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )?
int alt202=2;
int LA202_0 = input.LA(1);
if ( (LA202_0==28) ) {
alt202=1;
}
switch (alt202) {
case 1 :
// InternalSARL.g:6967:6: otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )*
{
otherlv_40=(Token)match(input,28,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_40, grammarAccess.getAnnotationFieldAccess().getExtendsKeyword_2_2_5_0());
}
// InternalSARL.g:6971:6: ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:6972:7: (lv_extends_41_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:6972:7: (lv_extends_41_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:6973:8: lv_extends_41_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_2_5_1_0());
}
pushFollow(FOLLOW_14);
lv_extends_41_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"extends",
lv_extends_41_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:6990:6: (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )*
loop201:
do {
int alt201=2;
int LA201_0 = input.LA(1);
if ( (LA201_0==32) ) {
alt201=1;
}
switch (alt201) {
case 1 :
// InternalSARL.g:6991:7: otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) )
{
otherlv_42=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_42, grammarAccess.getAnnotationFieldAccess().getCommaKeyword_2_2_5_2_0());
}
// InternalSARL.g:6995:7: ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) )
// InternalSARL.g:6996:8: (lv_extends_43_0= ruleJvmParameterizedTypeReference )
{
// InternalSARL.g:6996:8: (lv_extends_43_0= ruleJvmParameterizedTypeReference )
// InternalSARL.g:6997:9: lv_extends_43_0= ruleJvmParameterizedTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_2_5_2_1_0());
}
pushFollow(FOLLOW_14);
lv_extends_43_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"extends",
lv_extends_43_0,
"org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop201;
}
} while (true);
}
break;
}
otherlv_44=(Token)match(input,29,FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_44, grammarAccess.getAnnotationFieldAccess().getLeftCurlyBracketKeyword_2_2_6());
}
// InternalSARL.g:7020:5: ( (lv_members_45_0= ruleMember ) )*
loop203:
do {
int alt203=2;
int LA203_0 = input.LA(1);
if ( (LA203_0==25||LA203_0==39||(LA203_0>=42 && LA203_0<=45)||LA203_0==48||(LA203_0>=61 && LA203_0<=62)||(LA203_0>=69 && LA203_0<=82)||LA203_0==94) ) {
alt203=1;
}
switch (alt203) {
case 1 :
// InternalSARL.g:7021:6: (lv_members_45_0= ruleMember )
{
// InternalSARL.g:7021:6: (lv_members_45_0= ruleMember )
// InternalSARL.g:7022:7: lv_members_45_0= ruleMember
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getMembersMemberParserRuleCall_2_2_7_0());
}
pushFollow(FOLLOW_29);
lv_members_45_0=ruleMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"members",
lv_members_45_0,
"io.sarl.lang.SARL.Member");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop203;
}
} while (true);
otherlv_46=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_46, grammarAccess.getAnnotationFieldAccess().getRightCurlyBracketKeyword_2_2_8());
}
}
}
break;
case 4 :
// InternalSARL.g:7045:4: ( () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}' )
{
// InternalSARL.g:7045:4: ( () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}' )
// InternalSARL.g:7046:5: () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}'
{
// InternalSARL.g:7046:5: ()
// InternalSARL.g:7047:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAnnotationFieldAccess().getSarlEnumerationAnnotationInfoAction_2_3_0(),
current);
}
}
// InternalSARL.g:7053:5: ( (lv_modifiers_48_0= ruleCommonModifier ) )*
loop204:
do {
int alt204=2;
int LA204_0 = input.LA(1);
if ( (LA204_0==25||(LA204_0>=69 && LA204_0<=80)) ) {
alt204=1;
}
switch (alt204) {
case 1 :
// InternalSARL.g:7054:6: (lv_modifiers_48_0= ruleCommonModifier )
{
// InternalSARL.g:7054:6: (lv_modifiers_48_0= ruleCommonModifier )
// InternalSARL.g:7055:7: lv_modifiers_48_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getModifiersCommonModifierParserRuleCall_2_3_1_0());
}
pushFollow(FOLLOW_32);
lv_modifiers_48_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"modifiers",
lv_modifiers_48_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop204;
}
} while (true);
otherlv_49=(Token)match(input,43,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_49, grammarAccess.getAnnotationFieldAccess().getEnumKeyword_2_3_2());
}
// InternalSARL.g:7076:5: ( (lv_name_50_0= ruleValidID ) )
// InternalSARL.g:7077:6: (lv_name_50_0= ruleValidID )
{
// InternalSARL.g:7077:6: (lv_name_50_0= ruleValidID )
// InternalSARL.g:7078:7: lv_name_50_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getNameValidIDParserRuleCall_2_3_3_0());
}
pushFollow(FOLLOW_17);
lv_name_50_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
set(
current,
"name",
lv_name_50_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_51=(Token)match(input,29,FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_51, grammarAccess.getAnnotationFieldAccess().getLeftCurlyBracketKeyword_2_3_4());
}
// InternalSARL.g:7099:5: ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )?
int alt206=2;
int LA206_0 = input.LA(1);
if ( (LA206_0==RULE_ID||LA206_0==44||(LA206_0>=83 && LA206_0<=86)) ) {
alt206=1;
}
switch (alt206) {
case 1 :
// InternalSARL.g:7100:6: ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )*
{
// InternalSARL.g:7100:6: ( (lv_members_52_0= ruleXtendEnumLiteral ) )
// InternalSARL.g:7101:7: (lv_members_52_0= ruleXtendEnumLiteral )
{
// InternalSARL.g:7101:7: (lv_members_52_0= ruleXtendEnumLiteral )
// InternalSARL.g:7102:8: lv_members_52_0= ruleXtendEnumLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getMembersXtendEnumLiteralParserRuleCall_2_3_5_0_0());
}
pushFollow(FOLLOW_34);
lv_members_52_0=ruleXtendEnumLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"members",
lv_members_52_0,
"io.sarl.lang.SARL.XtendEnumLiteral");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:7119:6: (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )*
loop205:
do {
int alt205=2;
int LA205_0 = input.LA(1);
if ( (LA205_0==32) ) {
alt205=1;
}
switch (alt205) {
case 1 :
// InternalSARL.g:7120:7: otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) )
{
otherlv_53=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_53, grammarAccess.getAnnotationFieldAccess().getCommaKeyword_2_3_5_1_0());
}
// InternalSARL.g:7124:7: ( (lv_members_54_0= ruleXtendEnumLiteral ) )
// InternalSARL.g:7125:8: (lv_members_54_0= ruleXtendEnumLiteral )
{
// InternalSARL.g:7125:8: (lv_members_54_0= ruleXtendEnumLiteral )
// InternalSARL.g:7126:9: lv_members_54_0= ruleXtendEnumLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getMembersXtendEnumLiteralParserRuleCall_2_3_5_1_1_0());
}
pushFollow(FOLLOW_34);
lv_members_54_0=ruleXtendEnumLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"members",
lv_members_54_0,
"io.sarl.lang.SARL.XtendEnumLiteral");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop205;
}
} while (true);
}
break;
}
// InternalSARL.g:7145:5: (otherlv_55= ';' )?
int alt207=2;
int LA207_0 = input.LA(1);
if ( (LA207_0==26) ) {
alt207=1;
}
switch (alt207) {
case 1 :
// InternalSARL.g:7146:6: otherlv_55= ';'
{
otherlv_55=(Token)match(input,26,FOLLOW_24); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_55, grammarAccess.getAnnotationFieldAccess().getSemicolonKeyword_2_3_6());
}
}
break;
}
otherlv_56=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_56, grammarAccess.getAnnotationFieldAccess().getRightCurlyBracketKeyword_2_3_7());
}
}
}
break;
case 5 :
// InternalSARL.g:7157:4: ( () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}' )
{
// InternalSARL.g:7157:4: ( () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}' )
// InternalSARL.g:7158:5: () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}'
{
// InternalSARL.g:7158:5: ()
// InternalSARL.g:7159:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAnnotationFieldAccess().getSarlAnnotationTypeAnnotationInfoAction_2_4_0(),
current);
}
}
// InternalSARL.g:7165:5: ( (lv_modifiers_58_0= ruleCommonModifier ) )*
loop208:
do {
int alt208=2;
int LA208_0 = input.LA(1);
if ( (LA208_0==25||(LA208_0>=69 && LA208_0<=80)) ) {
alt208=1;
}
switch (alt208) {
case 1 :
// InternalSARL.g:7166:6: (lv_modifiers_58_0= ruleCommonModifier )
{
// InternalSARL.g:7166:6: (lv_modifiers_58_0= ruleCommonModifier )
// InternalSARL.g:7167:7: lv_modifiers_58_0= ruleCommonModifier
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getModifiersCommonModifierParserRuleCall_2_4_1_0());
}
pushFollow(FOLLOW_35);
lv_modifiers_58_0=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"modifiers",
lv_modifiers_58_0,
"org.eclipse.xtend.core.Xtend.CommonModifier");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop208;
}
} while (true);
otherlv_59=(Token)match(input,44,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_59, grammarAccess.getAnnotationFieldAccess().getAnnotationKeyword_2_4_2());
}
// InternalSARL.g:7188:5: ( (lv_name_60_0= ruleValidID ) )
// InternalSARL.g:7189:6: (lv_name_60_0= ruleValidID )
{
// InternalSARL.g:7189:6: (lv_name_60_0= ruleValidID )
// InternalSARL.g:7190:7: lv_name_60_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getNameValidIDParserRuleCall_2_4_3_0());
}
pushFollow(FOLLOW_17);
lv_name_60_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
set(
current,
"name",
lv_name_60_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_61=(Token)match(input,29,FOLLOW_36); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_61, grammarAccess.getAnnotationFieldAccess().getLeftCurlyBracketKeyword_2_4_4());
}
// InternalSARL.g:7211:5: ( (lv_members_62_0= ruleAnnotationField ) )*
loop209:
do {
int alt209=2;
int LA209_0 = input.LA(1);
if ( (LA209_0==25||LA209_0==39||(LA209_0>=42 && LA209_0<=44)||(LA209_0>=61 && LA209_0<=62)||(LA209_0>=69 && LA209_0<=80)||LA209_0==94) ) {
alt209=1;
}
switch (alt209) {
case 1 :
// InternalSARL.g:7212:6: (lv_members_62_0= ruleAnnotationField )
{
// InternalSARL.g:7212:6: (lv_members_62_0= ruleAnnotationField )
// InternalSARL.g:7213:7: lv_members_62_0= ruleAnnotationField
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAnnotationFieldAccess().getMembersAnnotationFieldParserRuleCall_2_4_5_0());
}
pushFollow(FOLLOW_36);
lv_members_62_0=ruleAnnotationField();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAnnotationFieldRule());
}
add(
current,
"members",
lv_members_62_0,
"io.sarl.lang.SARL.AnnotationField");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop209;
}
} while (true);
otherlv_63=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_63, grammarAccess.getAnnotationFieldAccess().getRightCurlyBracketKeyword_2_4_6());
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAnnotationField"
// $ANTLR start "entryRuleParameter"
// InternalSARL.g:7240:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ;
public final EObject entryRuleParameter() throws RecognitionException {
EObject current = null;
EObject iv_ruleParameter = null;
try {
// InternalSARL.g:7240:50: (iv_ruleParameter= ruleParameter EOF )
// InternalSARL.g:7241:2: iv_ruleParameter= ruleParameter EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterRule());
}
pushFollow(FOLLOW_1);
iv_ruleParameter=ruleParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleParameter;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleParameter"
// $ANTLR start "ruleParameter"
// InternalSARL.g:7247:1: ruleParameter returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( (lv_extension_2_0= 'extension' ) ) ( (lv_annotations_3_0= ruleXAnnotation ) )* )? ( (lv_name_4_0= ruleValidID ) ) otherlv_5= ':' ( (lv_parameterType_6_0= ruleJvmTypeReference ) ) ( ( (lv_varArg_7_0= '*' ) ) | (otherlv_8= '=' ( (lv_defaultValue_9_0= ruleXExpression ) ) ) )? ) ;
public final EObject ruleParameter() throws RecognitionException {
EObject current = null;
Token lv_extension_2_0=null;
Token otherlv_5=null;
Token lv_varArg_7_0=null;
Token otherlv_8=null;
EObject lv_annotations_1_0 = null;
EObject lv_annotations_3_0 = null;
AntlrDatatypeRuleToken lv_name_4_0 = null;
EObject lv_parameterType_6_0 = null;
EObject lv_defaultValue_9_0 = null;
enterRule();
try {
// InternalSARL.g:7253:2: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( (lv_extension_2_0= 'extension' ) ) ( (lv_annotations_3_0= ruleXAnnotation ) )* )? ( (lv_name_4_0= ruleValidID ) ) otherlv_5= ':' ( (lv_parameterType_6_0= ruleJvmTypeReference ) ) ( ( (lv_varArg_7_0= '*' ) ) | (otherlv_8= '=' ( (lv_defaultValue_9_0= ruleXExpression ) ) ) )? ) )
// InternalSARL.g:7254:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( (lv_extension_2_0= 'extension' ) ) ( (lv_annotations_3_0= ruleXAnnotation ) )* )? ( (lv_name_4_0= ruleValidID ) ) otherlv_5= ':' ( (lv_parameterType_6_0= ruleJvmTypeReference ) ) ( ( (lv_varArg_7_0= '*' ) ) | (otherlv_8= '=' ( (lv_defaultValue_9_0= ruleXExpression ) ) ) )? )
{
// InternalSARL.g:7254:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( (lv_extension_2_0= 'extension' ) ) ( (lv_annotations_3_0= ruleXAnnotation ) )* )? ( (lv_name_4_0= ruleValidID ) ) otherlv_5= ':' ( (lv_parameterType_6_0= ruleJvmTypeReference ) ) ( ( (lv_varArg_7_0= '*' ) ) | (otherlv_8= '=' ( (lv_defaultValue_9_0= ruleXExpression ) ) ) )? )
// InternalSARL.g:7255:3: () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( (lv_extension_2_0= 'extension' ) ) ( (lv_annotations_3_0= ruleXAnnotation ) )* )? ( (lv_name_4_0= ruleValidID ) ) otherlv_5= ':' ( (lv_parameterType_6_0= ruleJvmTypeReference ) ) ( ( (lv_varArg_7_0= '*' ) ) | (otherlv_8= '=' ( (lv_defaultValue_9_0= ruleXExpression ) ) ) )?
{
// InternalSARL.g:7255:3: ()
// InternalSARL.g:7256:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getParameterAccess().getSarlFormalParameterAction_0(),
current);
}
}
// InternalSARL.g:7262:3: ( (lv_annotations_1_0= ruleXAnnotation ) )*
loop211:
do {
int alt211=2;
int LA211_0 = input.LA(1);
if ( (LA211_0==94) ) {
alt211=1;
}
switch (alt211) {
case 1 :
// InternalSARL.g:7263:4: (lv_annotations_1_0= ruleXAnnotation )
{
// InternalSARL.g:7263:4: (lv_annotations_1_0= ruleXAnnotation )
// InternalSARL.g:7264:5: lv_annotations_1_0= ruleXAnnotation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterAccess().getAnnotationsXAnnotationParserRuleCall_1_0());
}
pushFollow(FOLLOW_52);
lv_annotations_1_0=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getParameterRule());
}
add(
current,
"annotations",
lv_annotations_1_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotation");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop211;
}
} while (true);
// InternalSARL.g:7281:3: ( ( (lv_extension_2_0= 'extension' ) ) ( (lv_annotations_3_0= ruleXAnnotation ) )* )?
int alt213=2;
int LA213_0 = input.LA(1);
if ( (LA213_0==45) ) {
alt213=1;
}
switch (alt213) {
case 1 :
// InternalSARL.g:7282:4: ( (lv_extension_2_0= 'extension' ) ) ( (lv_annotations_3_0= ruleXAnnotation ) )*
{
// InternalSARL.g:7282:4: ( (lv_extension_2_0= 'extension' ) )
// InternalSARL.g:7283:5: (lv_extension_2_0= 'extension' )
{
// InternalSARL.g:7283:5: (lv_extension_2_0= 'extension' )
// InternalSARL.g:7284:6: lv_extension_2_0= 'extension'
{
lv_extension_2_0=(Token)match(input,45,FOLLOW_70); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_extension_2_0, grammarAccess.getParameterAccess().getExtensionExtensionKeyword_2_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getParameterRule());
}
setWithLastConsumed(current, "extension", true, "extension");
}
}
}
// InternalSARL.g:7296:4: ( (lv_annotations_3_0= ruleXAnnotation ) )*
loop212:
do {
int alt212=2;
int LA212_0 = input.LA(1);
if ( (LA212_0==94) ) {
alt212=1;
}
switch (alt212) {
case 1 :
// InternalSARL.g:7297:5: (lv_annotations_3_0= ruleXAnnotation )
{
// InternalSARL.g:7297:5: (lv_annotations_3_0= ruleXAnnotation )
// InternalSARL.g:7298:6: lv_annotations_3_0= ruleXAnnotation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterAccess().getAnnotationsXAnnotationParserRuleCall_2_1_0());
}
pushFollow(FOLLOW_70);
lv_annotations_3_0=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getParameterRule());
}
add(
current,
"annotations",
lv_annotations_3_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotation");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop212;
}
} while (true);
}
break;
}
// InternalSARL.g:7316:3: ( (lv_name_4_0= ruleValidID ) )
// InternalSARL.g:7317:4: (lv_name_4_0= ruleValidID )
{
// InternalSARL.g:7317:4: (lv_name_4_0= ruleValidID )
// InternalSARL.g:7318:5: lv_name_4_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterAccess().getNameValidIDParserRuleCall_3_0());
}
pushFollow(FOLLOW_40);
lv_name_4_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getParameterRule());
}
set(
current,
"name",
lv_name_4_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_5=(Token)match(input,46,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getParameterAccess().getColonKeyword_4());
}
// InternalSARL.g:7339:3: ( (lv_parameterType_6_0= ruleJvmTypeReference ) )
// InternalSARL.g:7340:4: (lv_parameterType_6_0= ruleJvmTypeReference )
{
// InternalSARL.g:7340:4: (lv_parameterType_6_0= ruleJvmTypeReference )
// InternalSARL.g:7341:5: lv_parameterType_6_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_5_0());
}
pushFollow(FOLLOW_71);
lv_parameterType_6_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getParameterRule());
}
set(
current,
"parameterType",
lv_parameterType_6_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:7358:3: ( ( (lv_varArg_7_0= '*' ) ) | (otherlv_8= '=' ( (lv_defaultValue_9_0= ruleXExpression ) ) ) )?
int alt214=3;
int LA214_0 = input.LA(1);
if ( (LA214_0==59) ) {
alt214=1;
}
else if ( (LA214_0==47) ) {
alt214=2;
}
switch (alt214) {
case 1 :
// InternalSARL.g:7359:4: ( (lv_varArg_7_0= '*' ) )
{
// InternalSARL.g:7359:4: ( (lv_varArg_7_0= '*' ) )
// InternalSARL.g:7360:5: (lv_varArg_7_0= '*' )
{
// InternalSARL.g:7360:5: (lv_varArg_7_0= '*' )
// InternalSARL.g:7361:6: lv_varArg_7_0= '*'
{
lv_varArg_7_0=(Token)match(input,59,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_varArg_7_0, grammarAccess.getParameterAccess().getVarArgAsteriskKeyword_6_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getParameterRule());
}
setWithLastConsumed(current, "varArg", true, "*");
}
}
}
}
break;
case 2 :
// InternalSARL.g:7374:4: (otherlv_8= '=' ( (lv_defaultValue_9_0= ruleXExpression ) ) )
{
// InternalSARL.g:7374:4: (otherlv_8= '=' ( (lv_defaultValue_9_0= ruleXExpression ) ) )
// InternalSARL.g:7375:5: otherlv_8= '=' ( (lv_defaultValue_9_0= ruleXExpression ) )
{
otherlv_8=(Token)match(input,47,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getParameterAccess().getEqualsSignKeyword_6_1_0());
}
// InternalSARL.g:7379:5: ( (lv_defaultValue_9_0= ruleXExpression ) )
// InternalSARL.g:7380:6: (lv_defaultValue_9_0= ruleXExpression )
{
// InternalSARL.g:7380:6: (lv_defaultValue_9_0= ruleXExpression )
// InternalSARL.g:7381:7: lv_defaultValue_9_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterAccess().getDefaultValueXExpressionParserRuleCall_6_1_1_0());
}
pushFollow(FOLLOW_2);
lv_defaultValue_9_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getParameterRule());
}
set(
current,
"defaultValue",
lv_defaultValue_9_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleParameter"
// $ANTLR start "entryRuleXtendEnumLiteral"
// InternalSARL.g:7404:1: entryRuleXtendEnumLiteral returns [EObject current=null] : iv_ruleXtendEnumLiteral= ruleXtendEnumLiteral EOF ;
public final EObject entryRuleXtendEnumLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXtendEnumLiteral = null;
try {
// InternalSARL.g:7404:57: (iv_ruleXtendEnumLiteral= ruleXtendEnumLiteral EOF )
// InternalSARL.g:7405:2: iv_ruleXtendEnumLiteral= ruleXtendEnumLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXtendEnumLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleXtendEnumLiteral=ruleXtendEnumLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXtendEnumLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXtendEnumLiteral"
// $ANTLR start "ruleXtendEnumLiteral"
// InternalSARL.g:7411:1: ruleXtendEnumLiteral returns [EObject current=null] : ( () ( (lv_name_1_0= ruleValidID ) ) ) ;
public final EObject ruleXtendEnumLiteral() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
enterRule();
try {
// InternalSARL.g:7417:2: ( ( () ( (lv_name_1_0= ruleValidID ) ) ) )
// InternalSARL.g:7418:2: ( () ( (lv_name_1_0= ruleValidID ) ) )
{
// InternalSARL.g:7418:2: ( () ( (lv_name_1_0= ruleValidID ) ) )
// InternalSARL.g:7419:3: () ( (lv_name_1_0= ruleValidID ) )
{
// InternalSARL.g:7419:3: ()
// InternalSARL.g:7420:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXtendEnumLiteralAccess().getSarlEnumLiteralAction_0(),
current);
}
}
// InternalSARL.g:7426:3: ( (lv_name_1_0= ruleValidID ) )
// InternalSARL.g:7427:4: (lv_name_1_0= ruleValidID )
{
// InternalSARL.g:7427:4: (lv_name_1_0= ruleValidID )
// InternalSARL.g:7428:5: lv_name_1_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXtendEnumLiteralAccess().getNameValidIDParserRuleCall_1_0());
}
pushFollow(FOLLOW_2);
lv_name_1_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXtendEnumLiteralRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXtendEnumLiteral"
// $ANTLR start "entryRuleBreakExpression"
// InternalSARL.g:7449:1: entryRuleBreakExpression returns [EObject current=null] : iv_ruleBreakExpression= ruleBreakExpression EOF ;
public final EObject entryRuleBreakExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleBreakExpression = null;
try {
// InternalSARL.g:7449:56: (iv_ruleBreakExpression= ruleBreakExpression EOF )
// InternalSARL.g:7450:2: iv_ruleBreakExpression= ruleBreakExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBreakExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleBreakExpression=ruleBreakExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleBreakExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBreakExpression"
// $ANTLR start "ruleBreakExpression"
// InternalSARL.g:7456:1: ruleBreakExpression returns [EObject current=null] : ( () otherlv_1= 'break' ) ;
public final EObject ruleBreakExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
enterRule();
try {
// InternalSARL.g:7462:2: ( ( () otherlv_1= 'break' ) )
// InternalSARL.g:7463:2: ( () otherlv_1= 'break' )
{
// InternalSARL.g:7463:2: ( () otherlv_1= 'break' )
// InternalSARL.g:7464:3: () otherlv_1= 'break'
{
// InternalSARL.g:7464:3: ()
// InternalSARL.g:7465:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getBreakExpressionAccess().getSarlBreakExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,60,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getBreakExpressionAccess().getBreakKeyword_1());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBreakExpression"
// $ANTLR start "entryRuleXPrimaryExpression"
// InternalSARL.g:7479:1: entryRuleXPrimaryExpression returns [EObject current=null] : iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ;
public final EObject entryRuleXPrimaryExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXPrimaryExpression = null;
try {
// InternalSARL.g:7479:59: (iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF )
// InternalSARL.g:7480:2: iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXPrimaryExpression=ruleXPrimaryExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXPrimaryExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXPrimaryExpression"
// $ANTLR start "ruleXPrimaryExpression"
// InternalSARL.g:7486:1: ruleXPrimaryExpression returns [EObject current=null] : (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression | this_BreakExpression_15= ruleBreakExpression ) ;
public final EObject ruleXPrimaryExpression() throws RecognitionException {
EObject current = null;
EObject this_XConstructorCall_0 = null;
EObject this_XBlockExpression_1 = null;
EObject this_XSwitchExpression_2 = null;
EObject this_XSynchronizedExpression_3 = null;
EObject this_XFeatureCall_4 = null;
EObject this_XLiteral_5 = null;
EObject this_XIfExpression_6 = null;
EObject this_XForLoopExpression_7 = null;
EObject this_XBasicForLoopExpression_8 = null;
EObject this_XWhileExpression_9 = null;
EObject this_XDoWhileExpression_10 = null;
EObject this_XThrowExpression_11 = null;
EObject this_XReturnExpression_12 = null;
EObject this_XTryCatchFinallyExpression_13 = null;
EObject this_XParenthesizedExpression_14 = null;
EObject this_BreakExpression_15 = null;
enterRule();
try {
// InternalSARL.g:7492:2: ( (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression | this_BreakExpression_15= ruleBreakExpression ) )
// InternalSARL.g:7493:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression | this_BreakExpression_15= ruleBreakExpression )
{
// InternalSARL.g:7493:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression | this_BreakExpression_15= ruleBreakExpression )
int alt215=16;
alt215 = dfa215.predict(input);
switch (alt215) {
case 1 :
// InternalSARL.g:7494:3: this_XConstructorCall_0= ruleXConstructorCall
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0());
}
pushFollow(FOLLOW_2);
this_XConstructorCall_0=ruleXConstructorCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XConstructorCall_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalSARL.g:7503:3: this_XBlockExpression_1= ruleXBlockExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_XBlockExpression_1=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XBlockExpression_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalSARL.g:7512:3: this_XSwitchExpression_2= ruleXSwitchExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2());
}
pushFollow(FOLLOW_2);
this_XSwitchExpression_2=ruleXSwitchExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XSwitchExpression_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalSARL.g:7521:3: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression )
{
// InternalSARL.g:7521:3: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression )
// InternalSARL.g:7522:4: ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3());
}
pushFollow(FOLLOW_2);
this_XSynchronizedExpression_3=ruleXSynchronizedExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XSynchronizedExpression_3;
afterParserOrEnumRuleCall();
}
}
}
break;
case 5 :
// InternalSARL.g:7539:3: this_XFeatureCall_4= ruleXFeatureCall
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4());
}
pushFollow(FOLLOW_2);
this_XFeatureCall_4=ruleXFeatureCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XFeatureCall_4;
afterParserOrEnumRuleCall();
}
}
break;
case 6 :
// InternalSARL.g:7548:3: this_XLiteral_5= ruleXLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5());
}
pushFollow(FOLLOW_2);
this_XLiteral_5=ruleXLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XLiteral_5;
afterParserOrEnumRuleCall();
}
}
break;
case 7 :
// InternalSARL.g:7557:3: this_XIfExpression_6= ruleXIfExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6());
}
pushFollow(FOLLOW_2);
this_XIfExpression_6=ruleXIfExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XIfExpression_6;
afterParserOrEnumRuleCall();
}
}
break;
case 8 :
// InternalSARL.g:7566:3: ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression )
{
// InternalSARL.g:7566:3: ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression )
// InternalSARL.g:7567:4: ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7());
}
pushFollow(FOLLOW_2);
this_XForLoopExpression_7=ruleXForLoopExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XForLoopExpression_7;
afterParserOrEnumRuleCall();
}
}
}
break;
case 9 :
// InternalSARL.g:7590:3: this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8());
}
pushFollow(FOLLOW_2);
this_XBasicForLoopExpression_8=ruleXBasicForLoopExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XBasicForLoopExpression_8;
afterParserOrEnumRuleCall();
}
}
break;
case 10 :
// InternalSARL.g:7599:3: this_XWhileExpression_9= ruleXWhileExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9());
}
pushFollow(FOLLOW_2);
this_XWhileExpression_9=ruleXWhileExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XWhileExpression_9;
afterParserOrEnumRuleCall();
}
}
break;
case 11 :
// InternalSARL.g:7608:3: this_XDoWhileExpression_10= ruleXDoWhileExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10());
}
pushFollow(FOLLOW_2);
this_XDoWhileExpression_10=ruleXDoWhileExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XDoWhileExpression_10;
afterParserOrEnumRuleCall();
}
}
break;
case 12 :
// InternalSARL.g:7617:3: this_XThrowExpression_11= ruleXThrowExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11());
}
pushFollow(FOLLOW_2);
this_XThrowExpression_11=ruleXThrowExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XThrowExpression_11;
afterParserOrEnumRuleCall();
}
}
break;
case 13 :
// InternalSARL.g:7626:3: this_XReturnExpression_12= ruleXReturnExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12());
}
pushFollow(FOLLOW_2);
this_XReturnExpression_12=ruleXReturnExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XReturnExpression_12;
afterParserOrEnumRuleCall();
}
}
break;
case 14 :
// InternalSARL.g:7635:3: this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13());
}
pushFollow(FOLLOW_2);
this_XTryCatchFinallyExpression_13=ruleXTryCatchFinallyExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XTryCatchFinallyExpression_13;
afterParserOrEnumRuleCall();
}
}
break;
case 15 :
// InternalSARL.g:7644:3: this_XParenthesizedExpression_14= ruleXParenthesizedExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14());
}
pushFollow(FOLLOW_2);
this_XParenthesizedExpression_14=ruleXParenthesizedExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XParenthesizedExpression_14;
afterParserOrEnumRuleCall();
}
}
break;
case 16 :
// InternalSARL.g:7653:3: this_BreakExpression_15= ruleBreakExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getBreakExpressionParserRuleCall_15());
}
pushFollow(FOLLOW_2);
this_BreakExpression_15=ruleBreakExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_BreakExpression_15;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXPrimaryExpression"
// $ANTLR start "entryRuleXVariableDeclaration"
// InternalSARL.g:7665:1: entryRuleXVariableDeclaration returns [EObject current=null] : iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ;
public final EObject entryRuleXVariableDeclaration() throws RecognitionException {
EObject current = null;
EObject iv_ruleXVariableDeclaration = null;
try {
// InternalSARL.g:7665:61: (iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF )
// InternalSARL.g:7666:2: iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXVariableDeclarationRule());
}
pushFollow(FOLLOW_1);
iv_ruleXVariableDeclaration=ruleXVariableDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXVariableDeclaration;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXVariableDeclaration"
// $ANTLR start "ruleXVariableDeclaration"
// InternalSARL.g:7672:1: ruleXVariableDeclaration returns [EObject current=null] : ( ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=> ( () ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) ) ) ) ( (lv_name_7_0= ruleValidID ) ) (otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) )? (otherlv_10= '=' ( (lv_right_11_0= ruleXExpression ) ) )? ) ;
public final EObject ruleXVariableDeclaration() throws RecognitionException {
EObject current = null;
Token lv_writeable_1_0=null;
Token otherlv_2=null;
Token lv_extension_3_0=null;
Token lv_extension_4_0=null;
Token lv_writeable_5_0=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_10=null;
AntlrDatatypeRuleToken lv_name_7_0 = null;
EObject lv_type_9_0 = null;
EObject lv_right_11_0 = null;
enterRule();
try {
// InternalSARL.g:7678:2: ( ( ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=> ( () ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) ) ) ) ( (lv_name_7_0= ruleValidID ) ) (otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) )? (otherlv_10= '=' ( (lv_right_11_0= ruleXExpression ) ) )? ) )
// InternalSARL.g:7679:2: ( ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=> ( () ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) ) ) ) ( (lv_name_7_0= ruleValidID ) ) (otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) )? (otherlv_10= '=' ( (lv_right_11_0= ruleXExpression ) ) )? )
{
// InternalSARL.g:7679:2: ( ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=> ( () ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) ) ) ) ( (lv_name_7_0= ruleValidID ) ) (otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) )? (otherlv_10= '=' ( (lv_right_11_0= ruleXExpression ) ) )? )
// InternalSARL.g:7680:3: ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=> ( () ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) ) ) ) ( (lv_name_7_0= ruleValidID ) ) (otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) )? (otherlv_10= '=' ( (lv_right_11_0= ruleXExpression ) ) )?
{
// InternalSARL.g:7680:3: ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=> ( () ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) ) ) )
// InternalSARL.g:7681:4: ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=> ( () ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) ) )
{
// InternalSARL.g:7721:4: ( () ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) ) )
// InternalSARL.g:7722:5: () ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) )
{
// InternalSARL.g:7722:5: ()
// InternalSARL.g:7723:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXVariableDeclarationAccess().getXtendVariableDeclarationAction_0_0_0(),
current);
}
}
// InternalSARL.g:7729:5: ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) )
int alt219=2;
int LA219_0 = input.LA(1);
if ( ((LA219_0>=61 && LA219_0<=62)) ) {
alt219=1;
}
else if ( (LA219_0==45) ) {
alt219=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 219, 0, input);
throw nvae;
}
switch (alt219) {
case 1 :
// InternalSARL.g:7730:6: ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? )
{
// InternalSARL.g:7730:6: ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? )
// InternalSARL.g:7731:7: ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )?
{
// InternalSARL.g:7731:7: ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' )
int alt216=2;
int LA216_0 = input.LA(1);
if ( (LA216_0==61) ) {
alt216=1;
}
else if ( (LA216_0==62) ) {
alt216=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 216, 0, input);
throw nvae;
}
switch (alt216) {
case 1 :
// InternalSARL.g:7732:8: ( (lv_writeable_1_0= 'var' ) )
{
// InternalSARL.g:7732:8: ( (lv_writeable_1_0= 'var' ) )
// InternalSARL.g:7733:9: (lv_writeable_1_0= 'var' )
{
// InternalSARL.g:7733:9: (lv_writeable_1_0= 'var' )
// InternalSARL.g:7734:10: lv_writeable_1_0= 'var'
{
lv_writeable_1_0=(Token)match(input,61,FOLLOW_72); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_writeable_1_0, grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_0_0_1_0_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXVariableDeclarationRule());
}
setWithLastConsumed(current, "writeable", true, "var");
}
}
}
}
break;
case 2 :
// InternalSARL.g:7747:8: otherlv_2= 'val'
{
otherlv_2=(Token)match(input,62,FOLLOW_72); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXVariableDeclarationAccess().getValKeyword_0_0_1_0_0_1());
}
}
break;
}
// InternalSARL.g:7752:7: ( (lv_extension_3_0= 'extension' ) )?
int alt217=2;
int LA217_0 = input.LA(1);
if ( (LA217_0==45) ) {
alt217=1;
}
switch (alt217) {
case 1 :
// InternalSARL.g:7753:8: (lv_extension_3_0= 'extension' )
{
// InternalSARL.g:7753:8: (lv_extension_3_0= 'extension' )
// InternalSARL.g:7754:9: lv_extension_3_0= 'extension'
{
lv_extension_3_0=(Token)match(input,45,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_extension_3_0, grammarAccess.getXVariableDeclarationAccess().getExtensionExtensionKeyword_0_0_1_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXVariableDeclarationRule());
}
setWithLastConsumed(current, "extension", true, "extension");
}
}
}
break;
}
}
}
break;
case 2 :
// InternalSARL.g:7768:6: ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) )
{
// InternalSARL.g:7768:6: ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) )
// InternalSARL.g:7769:7: ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' )
{
// InternalSARL.g:7769:7: ( (lv_extension_4_0= 'extension' ) )
// InternalSARL.g:7770:8: (lv_extension_4_0= 'extension' )
{
// InternalSARL.g:7770:8: (lv_extension_4_0= 'extension' )
// InternalSARL.g:7771:9: lv_extension_4_0= 'extension'
{
lv_extension_4_0=(Token)match(input,45,FOLLOW_73); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_extension_4_0, grammarAccess.getXVariableDeclarationAccess().getExtensionExtensionKeyword_0_0_1_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXVariableDeclarationRule());
}
setWithLastConsumed(current, "extension", true, "extension");
}
}
}
// InternalSARL.g:7783:7: ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' )
int alt218=2;
int LA218_0 = input.LA(1);
if ( (LA218_0==61) ) {
alt218=1;
}
else if ( (LA218_0==62) ) {
alt218=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 218, 0, input);
throw nvae;
}
switch (alt218) {
case 1 :
// InternalSARL.g:7784:8: ( (lv_writeable_5_0= 'var' ) )
{
// InternalSARL.g:7784:8: ( (lv_writeable_5_0= 'var' ) )
// InternalSARL.g:7785:9: (lv_writeable_5_0= 'var' )
{
// InternalSARL.g:7785:9: (lv_writeable_5_0= 'var' )
// InternalSARL.g:7786:10: lv_writeable_5_0= 'var'
{
lv_writeable_5_0=(Token)match(input,61,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_writeable_5_0, grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_0_0_1_1_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXVariableDeclarationRule());
}
setWithLastConsumed(current, "writeable", true, "var");
}
}
}
}
break;
case 2 :
// InternalSARL.g:7799:8: otherlv_6= 'val'
{
otherlv_6=(Token)match(input,62,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXVariableDeclarationAccess().getValKeyword_0_0_1_1_1_1());
}
}
break;
}
}
}
break;
}
}
}
// InternalSARL.g:7808:3: ( (lv_name_7_0= ruleValidID ) )
// InternalSARL.g:7809:4: (lv_name_7_0= ruleValidID )
{
// InternalSARL.g:7809:4: (lv_name_7_0= ruleValidID )
// InternalSARL.g:7810:5: lv_name_7_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_1_0());
}
pushFollow(FOLLOW_74);
lv_name_7_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule());
}
set(
current,
"name",
lv_name_7_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:7827:3: (otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) )?
int alt220=2;
int LA220_0 = input.LA(1);
if ( (LA220_0==46) ) {
alt220=1;
}
switch (alt220) {
case 1 :
// InternalSARL.g:7828:4: otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) )
{
otherlv_8=(Token)match(input,46,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getXVariableDeclarationAccess().getColonKeyword_2_0());
}
// InternalSARL.g:7832:4: ( (lv_type_9_0= ruleJvmTypeReference ) )
// InternalSARL.g:7833:5: (lv_type_9_0= ruleJvmTypeReference )
{
// InternalSARL.g:7833:5: (lv_type_9_0= ruleJvmTypeReference )
// InternalSARL.g:7834:6: lv_type_9_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_1_0());
}
pushFollow(FOLLOW_75);
lv_type_9_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule());
}
set(
current,
"type",
lv_type_9_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalSARL.g:7852:3: (otherlv_10= '=' ( (lv_right_11_0= ruleXExpression ) ) )?
int alt221=2;
int LA221_0 = input.LA(1);
if ( (LA221_0==47) ) {
alt221=1;
}
switch (alt221) {
case 1 :
// InternalSARL.g:7853:4: otherlv_10= '=' ( (lv_right_11_0= ruleXExpression ) )
{
otherlv_10=(Token)match(input,47,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0());
}
// InternalSARL.g:7857:4: ( (lv_right_11_0= ruleXExpression ) )
// InternalSARL.g:7858:5: (lv_right_11_0= ruleXExpression )
{
// InternalSARL.g:7858:5: (lv_right_11_0= ruleXExpression )
// InternalSARL.g:7859:6: lv_right_11_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0());
}
pushFollow(FOLLOW_2);
lv_right_11_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule());
}
set(
current,
"right",
lv_right_11_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXVariableDeclaration"
// $ANTLR start "entryRuleJvmFormalParameter"
// InternalSARL.g:7881:1: entryRuleJvmFormalParameter returns [EObject current=null] : iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ;
public final EObject entryRuleJvmFormalParameter() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmFormalParameter = null;
try {
// InternalSARL.g:7881:59: (iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF )
// InternalSARL.g:7882:2: iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmFormalParameterRule());
}
pushFollow(FOLLOW_1);
iv_ruleJvmFormalParameter=ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmFormalParameter;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmFormalParameter"
// $ANTLR start "ruleJvmFormalParameter"
// InternalSARL.g:7888:1: ruleJvmFormalParameter returns [EObject current=null] : ( ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) ( ( ( ':' )=>otherlv_2= ':' ) ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) )? ) ;
public final EObject ruleJvmFormalParameter() throws RecognitionException {
EObject current = null;
Token lv_extension_0_0=null;
Token otherlv_2=null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
EObject lv_parameterType_3_0 = null;
enterRule();
try {
// InternalSARL.g:7894:2: ( ( ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) ( ( ( ':' )=>otherlv_2= ':' ) ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) )? ) )
// InternalSARL.g:7895:2: ( ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) ( ( ( ':' )=>otherlv_2= ':' ) ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) )? )
{
// InternalSARL.g:7895:2: ( ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) ( ( ( ':' )=>otherlv_2= ':' ) ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) )? )
// InternalSARL.g:7896:3: ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) ( ( ( ':' )=>otherlv_2= ':' ) ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) )?
{
// InternalSARL.g:7896:3: ( (lv_extension_0_0= 'extension' ) )?
int alt222=2;
int LA222_0 = input.LA(1);
if ( (LA222_0==45) ) {
alt222=1;
}
switch (alt222) {
case 1 :
// InternalSARL.g:7897:4: (lv_extension_0_0= 'extension' )
{
// InternalSARL.g:7897:4: (lv_extension_0_0= 'extension' )
// InternalSARL.g:7898:5: lv_extension_0_0= 'extension'
{
lv_extension_0_0=(Token)match(input,45,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_extension_0_0, grammarAccess.getJvmFormalParameterAccess().getExtensionExtensionKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getJvmFormalParameterRule());
}
setWithLastConsumed(current, "extension", true, "extension");
}
}
}
break;
}
// InternalSARL.g:7910:3: ( (lv_name_1_0= ruleValidID ) )
// InternalSARL.g:7911:4: (lv_name_1_0= ruleValidID )
{
// InternalSARL.g:7911:4: (lv_name_1_0= ruleValidID )
// InternalSARL.g:7912:5: lv_name_1_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0());
}
pushFollow(FOLLOW_76);
lv_name_1_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:7929:3: ( ( ( ':' )=>otherlv_2= ':' ) ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) )?
int alt223=2;
int LA223_0 = input.LA(1);
if ( (LA223_0==46) ) {
int LA223_1 = input.LA(2);
if ( (synpred4_InternalSARL()) ) {
alt223=1;
}
}
switch (alt223) {
case 1 :
// InternalSARL.g:7930:4: ( ( ':' )=>otherlv_2= ':' ) ( (lv_parameterType_3_0= ruleJvmTypeReference ) )
{
// InternalSARL.g:7930:4: ( ( ':' )=>otherlv_2= ':' )
// InternalSARL.g:7931:5: ( ':' )=>otherlv_2= ':'
{
otherlv_2=(Token)match(input,46,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getJvmFormalParameterAccess().getColonKeyword_2_0());
}
}
// InternalSARL.g:7937:4: ( (lv_parameterType_3_0= ruleJvmTypeReference ) )
// InternalSARL.g:7938:5: (lv_parameterType_3_0= ruleJvmTypeReference )
{
// InternalSARL.g:7938:5: (lv_parameterType_3_0= ruleJvmTypeReference )
// InternalSARL.g:7939:6: lv_parameterType_3_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_2_1_0());
}
pushFollow(FOLLOW_2);
lv_parameterType_3_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule());
}
set(
current,
"parameterType",
lv_parameterType_3_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmFormalParameter"
// $ANTLR start "entryRuleFullJvmFormalParameter"
// InternalSARL.g:7961:1: entryRuleFullJvmFormalParameter returns [EObject current=null] : iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ;
public final EObject entryRuleFullJvmFormalParameter() throws RecognitionException {
EObject current = null;
EObject iv_ruleFullJvmFormalParameter = null;
try {
// InternalSARL.g:7961:63: (iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF )
// InternalSARL.g:7962:2: iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFullJvmFormalParameterRule());
}
pushFollow(FOLLOW_1);
iv_ruleFullJvmFormalParameter=ruleFullJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleFullJvmFormalParameter;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFullJvmFormalParameter"
// $ANTLR start "ruleFullJvmFormalParameter"
// InternalSARL.g:7968:1: ruleFullJvmFormalParameter returns [EObject current=null] : ( ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) otherlv_2= ':' ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) ) ;
public final EObject ruleFullJvmFormalParameter() throws RecognitionException {
EObject current = null;
Token lv_extension_0_0=null;
Token otherlv_2=null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
EObject lv_parameterType_3_0 = null;
enterRule();
try {
// InternalSARL.g:7974:2: ( ( ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) otherlv_2= ':' ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) ) )
// InternalSARL.g:7975:2: ( ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) otherlv_2= ':' ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) )
{
// InternalSARL.g:7975:2: ( ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) otherlv_2= ':' ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) )
// InternalSARL.g:7976:3: ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) otherlv_2= ':' ( (lv_parameterType_3_0= ruleJvmTypeReference ) )
{
// InternalSARL.g:7976:3: ( (lv_extension_0_0= 'extension' ) )?
int alt224=2;
int LA224_0 = input.LA(1);
if ( (LA224_0==45) ) {
alt224=1;
}
switch (alt224) {
case 1 :
// InternalSARL.g:7977:4: (lv_extension_0_0= 'extension' )
{
// InternalSARL.g:7977:4: (lv_extension_0_0= 'extension' )
// InternalSARL.g:7978:5: lv_extension_0_0= 'extension'
{
lv_extension_0_0=(Token)match(input,45,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_extension_0_0, grammarAccess.getFullJvmFormalParameterAccess().getExtensionExtensionKeyword_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getFullJvmFormalParameterRule());
}
setWithLastConsumed(current, "extension", true, "extension");
}
}
}
break;
}
// InternalSARL.g:7990:3: ( (lv_name_1_0= ruleValidID ) )
// InternalSARL.g:7991:4: (lv_name_1_0= ruleValidID )
{
// InternalSARL.g:7991:4: (lv_name_1_0= ruleValidID )
// InternalSARL.g:7992:5: lv_name_1_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0());
}
pushFollow(FOLLOW_40);
lv_name_1_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule());
}
set(
current,
"name",
lv_name_1_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
otherlv_2=(Token)match(input,46,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getFullJvmFormalParameterAccess().getColonKeyword_2());
}
// InternalSARL.g:8013:3: ( (lv_parameterType_3_0= ruleJvmTypeReference ) )
// InternalSARL.g:8014:4: (lv_parameterType_3_0= ruleJvmTypeReference )
{
// InternalSARL.g:8014:4: (lv_parameterType_3_0= ruleJvmTypeReference )
// InternalSARL.g:8015:5: lv_parameterType_3_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_3_0());
}
pushFollow(FOLLOW_2);
lv_parameterType_3_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule());
}
set(
current,
"parameterType",
lv_parameterType_3_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleFullJvmFormalParameter"
// $ANTLR start "entryRuleXForLoopExpression"
// InternalSARL.g:8036:1: entryRuleXForLoopExpression returns [EObject current=null] : iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ;
public final EObject entryRuleXForLoopExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXForLoopExpression = null;
try {
// InternalSARL.g:8036:59: (iv_ruleXForLoopExpression= ruleXForLoopExpression EOF )
// InternalSARL.g:8037:2: iv_ruleXForLoopExpression= ruleXForLoopExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXForLoopExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXForLoopExpression=ruleXForLoopExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXForLoopExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXForLoopExpression"
// $ANTLR start "ruleXForLoopExpression"
// InternalSARL.g:8043:1: ruleXForLoopExpression returns [EObject current=null] : ( ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( ( (lv_eachExpression_7_0= ruleXExpression ) ) | otherlv_8= ';' ) ) ;
public final EObject ruleXForLoopExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_8=null;
EObject lv_declaredParam_3_0 = null;
EObject lv_forExpression_5_0 = null;
EObject lv_eachExpression_7_0 = null;
enterRule();
try {
// InternalSARL.g:8049:2: ( ( ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( ( (lv_eachExpression_7_0= ruleXExpression ) ) | otherlv_8= ';' ) ) )
// InternalSARL.g:8050:2: ( ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( ( (lv_eachExpression_7_0= ruleXExpression ) ) | otherlv_8= ';' ) )
{
// InternalSARL.g:8050:2: ( ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( ( (lv_eachExpression_7_0= ruleXExpression ) ) | otherlv_8= ';' ) )
// InternalSARL.g:8051:3: ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( ( (lv_eachExpression_7_0= ruleXExpression ) ) | otherlv_8= ';' )
{
// InternalSARL.g:8051:3: ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) ) otherlv_4= ':' ) )
// InternalSARL.g:8052:4: ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) ) otherlv_4= ':' )
{
// InternalSARL.g:8065:4: ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) ) otherlv_4= ':' )
// InternalSARL.g:8066:5: () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) ) otherlv_4= ':'
{
// InternalSARL.g:8066:5: ()
// InternalSARL.g:8067:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0(),
current);
}
}
otherlv_1=(Token)match(input,63,FOLLOW_77); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1());
}
otherlv_2=(Token)match(input,49,FOLLOW_72); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2());
}
// InternalSARL.g:8081:5: ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) )
// InternalSARL.g:8082:6: (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter )
{
// InternalSARL.g:8082:6: (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter )
// InternalSARL.g:8083:7: lv_declaredParam_3_0= ruleSarlXLoopFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamSarlXLoopFormalParameterParserRuleCall_0_0_3_0());
}
pushFollow(FOLLOW_40);
lv_declaredParam_3_0=ruleSarlXLoopFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule());
}
set(
current,
"declaredParam",
lv_declaredParam_3_0,
"io.sarl.lang.SARL.SarlXLoopFormalParameter");
afterParserOrEnumRuleCall();
}
}
}
otherlv_4=(Token)match(input,46,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4());
}
}
}
// InternalSARL.g:8106:3: ( (lv_forExpression_5_0= ruleXExpression ) )
// InternalSARL.g:8107:4: (lv_forExpression_5_0= ruleXExpression )
{
// InternalSARL.g:8107:4: (lv_forExpression_5_0= ruleXExpression )
// InternalSARL.g:8108:5: lv_forExpression_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0());
}
pushFollow(FOLLOW_78);
lv_forExpression_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule());
}
set(
current,
"forExpression",
lv_forExpression_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
otherlv_6=(Token)match(input,50,FOLLOW_79); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2());
}
// InternalSARL.g:8129:3: ( ( (lv_eachExpression_7_0= ruleXExpression ) ) | otherlv_8= ';' )
int alt225=2;
int LA225_0 = input.LA(1);
if ( ((LA225_0>=RULE_ID && LA225_0<=RULE_RICH_TEXT_START)||(LA225_0>=RULE_HEX && LA225_0<=RULE_DECIMAL)||LA225_0==25||(LA225_0>=28 && LA225_0<=29)||LA225_0==36||(LA225_0>=39 && LA225_0<=40)||(LA225_0>=42 && LA225_0<=45)||(LA225_0>=48 && LA225_0<=49)||LA225_0==51||LA225_0==55||LA225_0==60||LA225_0==63||LA225_0==65||(LA225_0>=69 && LA225_0<=87)||LA225_0==95||(LA225_0>=114 && LA225_0<=115)||LA225_0==119||LA225_0==125||(LA225_0>=128 && LA225_0<=137)) ) {
alt225=1;
}
else if ( (LA225_0==26) ) {
alt225=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 225, 0, input);
throw nvae;
}
switch (alt225) {
case 1 :
// InternalSARL.g:8130:4: ( (lv_eachExpression_7_0= ruleXExpression ) )
{
// InternalSARL.g:8130:4: ( (lv_eachExpression_7_0= ruleXExpression ) )
// InternalSARL.g:8131:5: (lv_eachExpression_7_0= ruleXExpression )
{
// InternalSARL.g:8131:5: (lv_eachExpression_7_0= ruleXExpression )
// InternalSARL.g:8132:6: lv_eachExpression_7_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0_0());
}
pushFollow(FOLLOW_2);
lv_eachExpression_7_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule());
}
set(
current,
"eachExpression",
lv_eachExpression_7_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalSARL.g:8150:4: otherlv_8= ';'
{
otherlv_8=(Token)match(input,26,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getXForLoopExpressionAccess().getSemicolonKeyword_3_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXForLoopExpression"
// $ANTLR start "entryRuleSarlXLoopFormalParameter"
// InternalSARL.g:8159:1: entryRuleSarlXLoopFormalParameter returns [EObject current=null] : iv_ruleSarlXLoopFormalParameter= ruleSarlXLoopFormalParameter EOF ;
public final EObject entryRuleSarlXLoopFormalParameter() throws RecognitionException {
EObject current = null;
EObject iv_ruleSarlXLoopFormalParameter = null;
try {
// InternalSARL.g:8159:65: (iv_ruleSarlXLoopFormalParameter= ruleSarlXLoopFormalParameter EOF )
// InternalSARL.g:8160:2: iv_ruleSarlXLoopFormalParameter= ruleSarlXLoopFormalParameter EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSarlXLoopFormalParameterRule());
}
pushFollow(FOLLOW_1);
iv_ruleSarlXLoopFormalParameter=ruleSarlXLoopFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSarlXLoopFormalParameter;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSarlXLoopFormalParameter"
// $ANTLR start "ruleSarlXLoopFormalParameter"
// InternalSARL.g:8166:1: ruleSarlXLoopFormalParameter returns [EObject current=null] : ( () ( (lv_extension_1_0= 'extension' ) )? ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) ) )? ) ;
public final EObject ruleSarlXLoopFormalParameter() throws RecognitionException {
EObject current = null;
Token lv_extension_1_0=null;
Token otherlv_3=null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
EObject lv_parameterType_4_0 = null;
enterRule();
try {
// InternalSARL.g:8172:2: ( ( () ( (lv_extension_1_0= 'extension' ) )? ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) ) )? ) )
// InternalSARL.g:8173:2: ( () ( (lv_extension_1_0= 'extension' ) )? ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) ) )? )
{
// InternalSARL.g:8173:2: ( () ( (lv_extension_1_0= 'extension' ) )? ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) ) )? )
// InternalSARL.g:8174:3: () ( (lv_extension_1_0= 'extension' ) )? ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) ) )?
{
// InternalSARL.g:8174:3: ()
// InternalSARL.g:8175:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getSarlXLoopFormalParameterAccess().getXtendFormalParameterAction_0(),
current);
}
}
// InternalSARL.g:8181:3: ( (lv_extension_1_0= 'extension' ) )?
int alt226=2;
int LA226_0 = input.LA(1);
if ( (LA226_0==45) ) {
alt226=1;
}
switch (alt226) {
case 1 :
// InternalSARL.g:8182:4: (lv_extension_1_0= 'extension' )
{
// InternalSARL.g:8182:4: (lv_extension_1_0= 'extension' )
// InternalSARL.g:8183:5: lv_extension_1_0= 'extension'
{
lv_extension_1_0=(Token)match(input,45,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_extension_1_0, grammarAccess.getSarlXLoopFormalParameterAccess().getExtensionExtensionKeyword_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSarlXLoopFormalParameterRule());
}
setWithLastConsumed(current, "extension", true, "extension");
}
}
}
break;
}
// InternalSARL.g:8195:3: ( (lv_name_2_0= ruleValidID ) )
// InternalSARL.g:8196:4: (lv_name_2_0= ruleValidID )
{
// InternalSARL.g:8196:4: (lv_name_2_0= ruleValidID )
// InternalSARL.g:8197:5: lv_name_2_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSarlXLoopFormalParameterAccess().getNameValidIDParserRuleCall_2_0());
}
pushFollow(FOLLOW_80);
lv_name_2_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSarlXLoopFormalParameterRule());
}
set(
current,
"name",
lv_name_2_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:8214:3: (otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) ) )?
int alt227=2;
int LA227_0 = input.LA(1);
if ( (LA227_0==64) ) {
alt227=1;
}
switch (alt227) {
case 1 :
// InternalSARL.g:8215:4: otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) )
{
otherlv_3=(Token)match(input,64,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getSarlXLoopFormalParameterAccess().getAsKeyword_3_0());
}
// InternalSARL.g:8219:4: ( (lv_parameterType_4_0= ruleJvmTypeReference ) )
// InternalSARL.g:8220:5: (lv_parameterType_4_0= ruleJvmTypeReference )
{
// InternalSARL.g:8220:5: (lv_parameterType_4_0= ruleJvmTypeReference )
// InternalSARL.g:8221:6: lv_parameterType_4_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSarlXLoopFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_3_1_0());
}
pushFollow(FOLLOW_2);
lv_parameterType_4_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSarlXLoopFormalParameterRule());
}
set(
current,
"parameterType",
lv_parameterType_4_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSarlXLoopFormalParameter"
// $ANTLR start "entryRuleXSwitchExpression"
// InternalSARL.g:8243:1: entryRuleXSwitchExpression returns [EObject current=null] : iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ;
public final EObject entryRuleXSwitchExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXSwitchExpression = null;
try {
// InternalSARL.g:8243:58: (iv_ruleXSwitchExpression= ruleXSwitchExpression EOF )
// InternalSARL.g:8244:2: iv_ruleXSwitchExpression= ruleXSwitchExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXSwitchExpression=ruleXSwitchExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXSwitchExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXSwitchExpression"
// $ANTLR start "ruleXSwitchExpression"
// InternalSARL.g:8250:1: ruleXSwitchExpression returns [EObject current=null] : ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) ;
public final EObject ruleXSwitchExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_10=null;
Token otherlv_12=null;
Token otherlv_13=null;
Token otherlv_15=null;
EObject lv_declaredParam_3_0 = null;
EObject lv_switch_5_0 = null;
EObject lv_declaredParam_7_0 = null;
EObject lv_switch_9_0 = null;
EObject lv_cases_11_0 = null;
EObject lv_default_14_0 = null;
enterRule();
try {
// InternalSARL.g:8256:2: ( ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) )
// InternalSARL.g:8257:2: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' )
{
// InternalSARL.g:8257:2: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' )
// InternalSARL.g:8258:3: () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}'
{
// InternalSARL.g:8258:3: ()
// InternalSARL.g:8259:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,65,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1());
}
// InternalSARL.g:8269:3: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) )
int alt229=2;
alt229 = dfa229.predict(input);
switch (alt229) {
case 1 :
// InternalSARL.g:8270:4: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' )
{
// InternalSARL.g:8270:4: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' )
// InternalSARL.g:8271:5: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')'
{
// InternalSARL.g:8271:5: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' ) )
// InternalSARL.g:8272:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' )
{
// InternalSARL.g:8282:6: (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' )
// InternalSARL.g:8283:7: otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '='
{
otherlv_2=(Token)match(input,49,FOLLOW_72); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0());
}
// InternalSARL.g:8287:7: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) )
// InternalSARL.g:8288:8: (lv_declaredParam_3_0= ruleJvmFormalParameter )
{
// InternalSARL.g:8288:8: (lv_declaredParam_3_0= ruleJvmFormalParameter )
// InternalSARL.g:8289:9: lv_declaredParam_3_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0());
}
pushFollow(FOLLOW_81);
lv_declaredParam_3_0=ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
}
set(
current,
"declaredParam",
lv_declaredParam_3_0,
"io.sarl.lang.SARL.JvmFormalParameter");
afterParserOrEnumRuleCall();
}
}
}
otherlv_4=(Token)match(input,47,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXSwitchExpressionAccess().getEqualsSignKeyword_2_0_0_0_2());
}
}
}
// InternalSARL.g:8312:5: ( (lv_switch_5_0= ruleXExpression ) )
// InternalSARL.g:8313:6: (lv_switch_5_0= ruleXExpression )
{
// InternalSARL.g:8313:6: (lv_switch_5_0= ruleXExpression )
// InternalSARL.g:8314:7: lv_switch_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0());
}
pushFollow(FOLLOW_78);
lv_switch_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
}
set(
current,
"switch",
lv_switch_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
otherlv_6=(Token)match(input,50,FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2());
}
}
}
break;
case 2 :
// InternalSARL.g:8337:4: ( ( ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' ) )? ( (lv_switch_9_0= ruleXExpression ) ) )
{
// InternalSARL.g:8337:4: ( ( ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' ) )? ( (lv_switch_9_0= ruleXExpression ) ) )
// InternalSARL.g:8338:5: ( ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' ) )? ( (lv_switch_9_0= ruleXExpression ) )
{
// InternalSARL.g:8338:5: ( ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' ) )?
int alt228=2;
alt228 = dfa228.predict(input);
switch (alt228) {
case 1 :
// InternalSARL.g:8339:6: ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' )
{
// InternalSARL.g:8348:6: ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' )
// InternalSARL.g:8349:7: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '='
{
// InternalSARL.g:8349:7: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) )
// InternalSARL.g:8350:8: (lv_declaredParam_7_0= ruleJvmFormalParameter )
{
// InternalSARL.g:8350:8: (lv_declaredParam_7_0= ruleJvmFormalParameter )
// InternalSARL.g:8351:9: lv_declaredParam_7_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0());
}
pushFollow(FOLLOW_81);
lv_declaredParam_7_0=ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
}
set(
current,
"declaredParam",
lv_declaredParam_7_0,
"io.sarl.lang.SARL.JvmFormalParameter");
afterParserOrEnumRuleCall();
}
}
}
otherlv_8=(Token)match(input,47,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getXSwitchExpressionAccess().getEqualsSignKeyword_2_1_0_0_1());
}
}
}
break;
}
// InternalSARL.g:8374:5: ( (lv_switch_9_0= ruleXExpression ) )
// InternalSARL.g:8375:6: (lv_switch_9_0= ruleXExpression )
{
// InternalSARL.g:8375:6: (lv_switch_9_0= ruleXExpression )
// InternalSARL.g:8376:7: lv_switch_9_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0());
}
pushFollow(FOLLOW_17);
lv_switch_9_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
}
set(
current,
"switch",
lv_switch_9_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
otherlv_10=(Token)match(input,29,FOLLOW_82); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3());
}
// InternalSARL.g:8399:3: ( (lv_cases_11_0= ruleXCasePart ) )*
loop230:
do {
int alt230=2;
int LA230_0 = input.LA(1);
if ( (LA230_0==RULE_ID||LA230_0==32||LA230_0==44||LA230_0==46||LA230_0==49||LA230_0==67||(LA230_0>=83 && LA230_0<=86)||LA230_0==127) ) {
alt230=1;
}
switch (alt230) {
case 1 :
// InternalSARL.g:8400:4: (lv_cases_11_0= ruleXCasePart )
{
// InternalSARL.g:8400:4: (lv_cases_11_0= ruleXCasePart )
// InternalSARL.g:8401:5: lv_cases_11_0= ruleXCasePart
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0());
}
pushFollow(FOLLOW_82);
lv_cases_11_0=ruleXCasePart();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
}
add(
current,
"cases",
lv_cases_11_0,
"org.eclipse.xtext.xbase.Xbase.XCasePart");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop230;
}
} while (true);
// InternalSARL.g:8418:3: (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )?
int alt231=2;
int LA231_0 = input.LA(1);
if ( (LA231_0==66) ) {
alt231=1;
}
switch (alt231) {
case 1 :
// InternalSARL.g:8419:4: otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) )
{
otherlv_12=(Token)match(input,66,FOLLOW_40); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0());
}
otherlv_13=(Token)match(input,46,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1());
}
// InternalSARL.g:8427:4: ( (lv_default_14_0= ruleXExpression ) )
// InternalSARL.g:8428:5: (lv_default_14_0= ruleXExpression )
{
// InternalSARL.g:8428:5: (lv_default_14_0= ruleXExpression )
// InternalSARL.g:8429:6: lv_default_14_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0());
}
pushFollow(FOLLOW_24);
lv_default_14_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule());
}
set(
current,
"default",
lv_default_14_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_15=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_15, grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXSwitchExpression"
// $ANTLR start "entryRuleXFunctionSuperTypeRef"
// InternalSARL.g:8455:1: entryRuleXFunctionSuperTypeRef returns [EObject current=null] : iv_ruleXFunctionSuperTypeRef= ruleXFunctionSuperTypeRef EOF ;
public final EObject entryRuleXFunctionSuperTypeRef() throws RecognitionException {
EObject current = null;
EObject iv_ruleXFunctionSuperTypeRef = null;
try {
// InternalSARL.g:8455:62: (iv_ruleXFunctionSuperTypeRef= ruleXFunctionSuperTypeRef EOF )
// InternalSARL.g:8456:2: iv_ruleXFunctionSuperTypeRef= ruleXFunctionSuperTypeRef EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFunctionSuperTypeRefRule());
}
pushFollow(FOLLOW_1);
iv_ruleXFunctionSuperTypeRef=ruleXFunctionSuperTypeRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXFunctionSuperTypeRef;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXFunctionSuperTypeRef"
// $ANTLR start "ruleXFunctionSuperTypeRef"
// InternalSARL.g:8462:1: ruleXFunctionSuperTypeRef returns [EObject current=null] : ( ( ( (lv_instanceContext_0_0= '(' ) ) ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) ;
public final EObject ruleXFunctionSuperTypeRef() throws RecognitionException {
EObject current = null;
Token lv_instanceContext_0_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_5=null;
EObject lv_paramTypes_1_0 = null;
EObject lv_paramTypes_3_0 = null;
EObject lv_returnType_6_0 = null;
enterRule();
try {
// InternalSARL.g:8468:2: ( ( ( ( (lv_instanceContext_0_0= '(' ) ) ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) )
// InternalSARL.g:8469:2: ( ( ( (lv_instanceContext_0_0= '(' ) ) ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) )
{
// InternalSARL.g:8469:2: ( ( ( (lv_instanceContext_0_0= '(' ) ) ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) )
// InternalSARL.g:8470:3: ( ( (lv_instanceContext_0_0= '(' ) ) ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) )
{
// InternalSARL.g:8470:3: ( ( (lv_instanceContext_0_0= '(' ) ) ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )?
int alt234=2;
int LA234_0 = input.LA(1);
if ( (LA234_0==49) ) {
alt234=1;
}
switch (alt234) {
case 1 :
// InternalSARL.g:8471:4: ( (lv_instanceContext_0_0= '(' ) ) ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')'
{
// InternalSARL.g:8471:4: ( (lv_instanceContext_0_0= '(' ) )
// InternalSARL.g:8472:5: (lv_instanceContext_0_0= '(' )
{
// InternalSARL.g:8472:5: (lv_instanceContext_0_0= '(' )
// InternalSARL.g:8473:6: lv_instanceContext_0_0= '('
{
lv_instanceContext_0_0=(Token)match(input,49,FOLLOW_83); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_instanceContext_0_0, grammarAccess.getXFunctionSuperTypeRefAccess().getInstanceContextLeftParenthesisKeyword_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXFunctionSuperTypeRefRule());
}
setWithLastConsumed(current, "instanceContext", true, "(");
}
}
}
// InternalSARL.g:8485:4: ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )?
int alt233=2;
int LA233_0 = input.LA(1);
if ( (LA233_0==RULE_ID||LA233_0==44||LA233_0==49||LA233_0==67||(LA233_0>=83 && LA233_0<=86)) ) {
alt233=1;
}
switch (alt233) {
case 1 :
// InternalSARL.g:8486:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )*
{
// InternalSARL.g:8486:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) )
// InternalSARL.g:8487:6: (lv_paramTypes_1_0= ruleJvmTypeReference )
{
// InternalSARL.g:8487:6: (lv_paramTypes_1_0= ruleJvmTypeReference )
// InternalSARL.g:8488:7: lv_paramTypes_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFunctionSuperTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0());
}
pushFollow(FOLLOW_51);
lv_paramTypes_1_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFunctionSuperTypeRefRule());
}
add(
current,
"paramTypes",
lv_paramTypes_1_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:8505:5: (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )*
loop232:
do {
int alt232=2;
int LA232_0 = input.LA(1);
if ( (LA232_0==32) ) {
alt232=1;
}
switch (alt232) {
case 1 :
// InternalSARL.g:8506:6: otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) )
{
otherlv_2=(Token)match(input,32,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXFunctionSuperTypeRefAccess().getCommaKeyword_0_1_1_0());
}
// InternalSARL.g:8510:6: ( (lv_paramTypes_3_0= ruleJvmTypeReference ) )
// InternalSARL.g:8511:7: (lv_paramTypes_3_0= ruleJvmTypeReference )
{
// InternalSARL.g:8511:7: (lv_paramTypes_3_0= ruleJvmTypeReference )
// InternalSARL.g:8512:8: lv_paramTypes_3_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFunctionSuperTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0());
}
pushFollow(FOLLOW_51);
lv_paramTypes_3_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFunctionSuperTypeRefRule());
}
add(
current,
"paramTypes",
lv_paramTypes_3_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop232;
}
} while (true);
}
break;
}
otherlv_4=(Token)match(input,50,FOLLOW_84); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXFunctionSuperTypeRefAccess().getRightParenthesisKeyword_0_2());
}
}
break;
}
otherlv_5=(Token)match(input,67,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getXFunctionSuperTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1());
}
// InternalSARL.g:8540:3: ( (lv_returnType_6_0= ruleJvmTypeReference ) )
// InternalSARL.g:8541:4: (lv_returnType_6_0= ruleJvmTypeReference )
{
// InternalSARL.g:8541:4: (lv_returnType_6_0= ruleJvmTypeReference )
// InternalSARL.g:8542:5: lv_returnType_6_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFunctionSuperTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0());
}
pushFollow(FOLLOW_2);
lv_returnType_6_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFunctionSuperTypeRefRule());
}
set(
current,
"returnType",
lv_returnType_6_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXFunctionSuperTypeRef"
// $ANTLR start "entryRuleTypeReferenceNoTypeArgs"
// InternalSARL.g:8563:1: entryRuleTypeReferenceNoTypeArgs returns [EObject current=null] : iv_ruleTypeReferenceNoTypeArgs= ruleTypeReferenceNoTypeArgs EOF ;
public final EObject entryRuleTypeReferenceNoTypeArgs() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeReferenceNoTypeArgs = null;
try {
// InternalSARL.g:8563:64: (iv_ruleTypeReferenceNoTypeArgs= ruleTypeReferenceNoTypeArgs EOF )
// InternalSARL.g:8564:2: iv_ruleTypeReferenceNoTypeArgs= ruleTypeReferenceNoTypeArgs EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeReferenceNoTypeArgsRule());
}
pushFollow(FOLLOW_1);
iv_ruleTypeReferenceNoTypeArgs=ruleTypeReferenceNoTypeArgs();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypeReferenceNoTypeArgs;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeReferenceNoTypeArgs"
// $ANTLR start "ruleTypeReferenceNoTypeArgs"
// InternalSARL.g:8570:1: ruleTypeReferenceNoTypeArgs returns [EObject current=null] : ( ( ruleQualifiedName ) ) ;
public final EObject ruleTypeReferenceNoTypeArgs() throws RecognitionException {
EObject current = null;
enterRule();
try {
// InternalSARL.g:8576:2: ( ( ( ruleQualifiedName ) ) )
// InternalSARL.g:8577:2: ( ( ruleQualifiedName ) )
{
// InternalSARL.g:8577:2: ( ( ruleQualifiedName ) )
// InternalSARL.g:8578:3: ( ruleQualifiedName )
{
// InternalSARL.g:8578:3: ( ruleQualifiedName )
// InternalSARL.g:8579:4: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getTypeReferenceNoTypeArgsRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeReferenceNoTypeArgsAccess().getTypeJvmTypeCrossReference_0());
}
pushFollow(FOLLOW_2);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeReferenceNoTypeArgs"
// $ANTLR start "entryRuleTypeReferenceWithTypeArgs"
// InternalSARL.g:8596:1: entryRuleTypeReferenceWithTypeArgs returns [EObject current=null] : iv_ruleTypeReferenceWithTypeArgs= ruleTypeReferenceWithTypeArgs EOF ;
public final EObject entryRuleTypeReferenceWithTypeArgs() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeReferenceWithTypeArgs = null;
try {
// InternalSARL.g:8596:66: (iv_ruleTypeReferenceWithTypeArgs= ruleTypeReferenceWithTypeArgs EOF )
// InternalSARL.g:8597:2: iv_ruleTypeReferenceWithTypeArgs= ruleTypeReferenceWithTypeArgs EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeReferenceWithTypeArgsRule());
}
pushFollow(FOLLOW_1);
iv_ruleTypeReferenceWithTypeArgs=ruleTypeReferenceWithTypeArgs();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypeReferenceWithTypeArgs;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeReferenceWithTypeArgs"
// $ANTLR start "ruleTypeReferenceWithTypeArgs"
// InternalSARL.g:8603:1: ruleTypeReferenceWithTypeArgs returns [EObject current=null] : ( (this_ParameterizedTypeReferenceWithTypeArgs_0= ruleParameterizedTypeReferenceWithTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | (this_TypeReferenceNoTypeArgs_3= ruleTypeReferenceNoTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )+ ) | this_XFunctionTypeRef_6= ruleXFunctionTypeRef ) ;
public final EObject ruleTypeReferenceWithTypeArgs() throws RecognitionException {
EObject current = null;
EObject this_ParameterizedTypeReferenceWithTypeArgs_0 = null;
EObject this_TypeReferenceNoTypeArgs_3 = null;
EObject this_XFunctionTypeRef_6 = null;
enterRule();
try {
// InternalSARL.g:8609:2: ( ( (this_ParameterizedTypeReferenceWithTypeArgs_0= ruleParameterizedTypeReferenceWithTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | (this_TypeReferenceNoTypeArgs_3= ruleTypeReferenceNoTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )+ ) | this_XFunctionTypeRef_6= ruleXFunctionTypeRef ) )
// InternalSARL.g:8610:2: ( (this_ParameterizedTypeReferenceWithTypeArgs_0= ruleParameterizedTypeReferenceWithTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | (this_TypeReferenceNoTypeArgs_3= ruleTypeReferenceNoTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )+ ) | this_XFunctionTypeRef_6= ruleXFunctionTypeRef )
{
// InternalSARL.g:8610:2: ( (this_ParameterizedTypeReferenceWithTypeArgs_0= ruleParameterizedTypeReferenceWithTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | (this_TypeReferenceNoTypeArgs_3= ruleTypeReferenceNoTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )+ ) | this_XFunctionTypeRef_6= ruleXFunctionTypeRef )
int alt237=3;
alt237 = dfa237.predict(input);
switch (alt237) {
case 1 :
// InternalSARL.g:8611:3: (this_ParameterizedTypeReferenceWithTypeArgs_0= ruleParameterizedTypeReferenceWithTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* )
{
// InternalSARL.g:8611:3: (this_ParameterizedTypeReferenceWithTypeArgs_0= ruleParameterizedTypeReferenceWithTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* )
// InternalSARL.g:8612:4: this_ParameterizedTypeReferenceWithTypeArgs_0= ruleParameterizedTypeReferenceWithTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeReferenceWithTypeArgsAccess().getParameterizedTypeReferenceWithTypeArgsParserRuleCall_0_0());
}
pushFollow(FOLLOW_85);
this_ParameterizedTypeReferenceWithTypeArgs_0=ruleParameterizedTypeReferenceWithTypeArgs();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_ParameterizedTypeReferenceWithTypeArgs_0;
afterParserOrEnumRuleCall();
}
// InternalSARL.g:8620:4: ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )*
loop235:
do {
int alt235=2;
int LA235_0 = input.LA(1);
if ( (LA235_0==55) && (synpred8_InternalSARL())) {
alt235=1;
}
switch (alt235) {
case 1 :
// InternalSARL.g:8621:5: ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets )
{
// InternalSARL.g:8627:5: ( () ruleArrayBrackets )
// InternalSARL.g:8628:6: () ruleArrayBrackets
{
// InternalSARL.g:8628:6: ()
// InternalSARL.g:8629:7:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getTypeReferenceWithTypeArgsAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0(),
current);
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeReferenceWithTypeArgsAccess().getArrayBracketsParserRuleCall_0_1_0_1());
}
pushFollow(FOLLOW_85);
ruleArrayBrackets();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop235;
}
} while (true);
}
}
break;
case 2 :
// InternalSARL.g:8646:3: (this_TypeReferenceNoTypeArgs_3= ruleTypeReferenceNoTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )+ )
{
// InternalSARL.g:8646:3: (this_TypeReferenceNoTypeArgs_3= ruleTypeReferenceNoTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )+ )
// InternalSARL.g:8647:4: this_TypeReferenceNoTypeArgs_3= ruleTypeReferenceNoTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )+
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeReferenceWithTypeArgsAccess().getTypeReferenceNoTypeArgsParserRuleCall_1_0());
}
pushFollow(FOLLOW_86);
this_TypeReferenceNoTypeArgs_3=ruleTypeReferenceNoTypeArgs();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_TypeReferenceNoTypeArgs_3;
afterParserOrEnumRuleCall();
}
// InternalSARL.g:8655:4: ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )+
int cnt236=0;
loop236:
do {
int alt236=2;
int LA236_0 = input.LA(1);
if ( (LA236_0==55) && (synpred9_InternalSARL())) {
alt236=1;
}
switch (alt236) {
case 1 :
// InternalSARL.g:8656:5: ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets )
{
// InternalSARL.g:8662:5: ( () ruleArrayBrackets )
// InternalSARL.g:8663:6: () ruleArrayBrackets
{
// InternalSARL.g:8663:6: ()
// InternalSARL.g:8664:7:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getTypeReferenceWithTypeArgsAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_1_1_0_0(),
current);
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeReferenceWithTypeArgsAccess().getArrayBracketsParserRuleCall_1_1_0_1());
}
pushFollow(FOLLOW_85);
ruleArrayBrackets();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt236 >= 1 ) break loop236;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(236, input);
throw eee;
}
cnt236++;
} while (true);
}
}
break;
case 3 :
// InternalSARL.g:8681:3: this_XFunctionTypeRef_6= ruleXFunctionTypeRef
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeReferenceWithTypeArgsAccess().getXFunctionTypeRefParserRuleCall_2());
}
pushFollow(FOLLOW_2);
this_XFunctionTypeRef_6=ruleXFunctionTypeRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XFunctionTypeRef_6;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeReferenceWithTypeArgs"
// $ANTLR start "entryRuleParameterizedTypeReferenceWithTypeArgs"
// InternalSARL.g:8693:1: entryRuleParameterizedTypeReferenceWithTypeArgs returns [EObject current=null] : iv_ruleParameterizedTypeReferenceWithTypeArgs= ruleParameterizedTypeReferenceWithTypeArgs EOF ;
public final EObject entryRuleParameterizedTypeReferenceWithTypeArgs() throws RecognitionException {
EObject current = null;
EObject iv_ruleParameterizedTypeReferenceWithTypeArgs = null;
try {
// InternalSARL.g:8693:79: (iv_ruleParameterizedTypeReferenceWithTypeArgs= ruleParameterizedTypeReferenceWithTypeArgs EOF )
// InternalSARL.g:8694:2: iv_ruleParameterizedTypeReferenceWithTypeArgs= ruleParameterizedTypeReferenceWithTypeArgs EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterizedTypeReferenceWithTypeArgsRule());
}
pushFollow(FOLLOW_1);
iv_ruleParameterizedTypeReferenceWithTypeArgs=ruleParameterizedTypeReferenceWithTypeArgs();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleParameterizedTypeReferenceWithTypeArgs;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleParameterizedTypeReferenceWithTypeArgs"
// $ANTLR start "ruleParameterizedTypeReferenceWithTypeArgs"
// InternalSARL.g:8700:1: ruleParameterizedTypeReferenceWithTypeArgs returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) (otherlv_1= '<' ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* ) ) ;
public final EObject ruleParameterizedTypeReferenceWithTypeArgs() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_9=null;
Token otherlv_11=null;
Token otherlv_13=null;
EObject lv_arguments_2_0 = null;
EObject lv_arguments_4_0 = null;
EObject lv_arguments_10_0 = null;
EObject lv_arguments_12_0 = null;
enterRule();
try {
// InternalSARL.g:8706:2: ( ( ( ( ruleQualifiedName ) ) (otherlv_1= '<' ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* ) ) )
// InternalSARL.g:8707:2: ( ( ( ruleQualifiedName ) ) (otherlv_1= '<' ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* ) )
{
// InternalSARL.g:8707:2: ( ( ( ruleQualifiedName ) ) (otherlv_1= '<' ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* ) )
// InternalSARL.g:8708:3: ( ( ruleQualifiedName ) ) (otherlv_1= '<' ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )
{
// InternalSARL.g:8708:3: ( ( ruleQualifiedName ) )
// InternalSARL.g:8709:4: ( ruleQualifiedName )
{
// InternalSARL.g:8709:4: ( ruleQualifiedName )
// InternalSARL.g:8710:5: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getParameterizedTypeReferenceWithTypeArgsRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getTypeJvmTypeCrossReference_0_0());
}
pushFollow(FOLLOW_87);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:8724:3: (otherlv_1= '<' ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )
// InternalSARL.g:8725:4: otherlv_1= '<' ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )*
{
otherlv_1=(Token)match(input,40,FOLLOW_88); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getLessThanSignKeyword_1_0());
}
// InternalSARL.g:8729:4: ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) )
// InternalSARL.g:8730:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference )
{
// InternalSARL.g:8730:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference )
// InternalSARL.g:8731:6: lv_arguments_2_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_28);
lv_arguments_2_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getParameterizedTypeReferenceWithTypeArgsRule());
}
add(
current,
"arguments",
lv_arguments_2_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:8748:4: (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )*
loop238:
do {
int alt238=2;
int LA238_0 = input.LA(1);
if ( (LA238_0==32) ) {
alt238=1;
}
switch (alt238) {
case 1 :
// InternalSARL.g:8749:5: otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) )
{
otherlv_3=(Token)match(input,32,FOLLOW_88); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getCommaKeyword_1_2_0());
}
// InternalSARL.g:8753:5: ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) )
// InternalSARL.g:8754:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference )
{
// InternalSARL.g:8754:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference )
// InternalSARL.g:8755:7: lv_arguments_4_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0());
}
pushFollow(FOLLOW_28);
lv_arguments_4_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getParameterizedTypeReferenceWithTypeArgsRule());
}
add(
current,
"arguments",
lv_arguments_4_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop238;
}
} while (true);
otherlv_5=(Token)match(input,41,FOLLOW_89); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getGreaterThanSignKeyword_1_3());
}
// InternalSARL.g:8777:4: ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )*
loop241:
do {
int alt241=2;
int LA241_0 = input.LA(1);
if ( (LA241_0==68) && (synpred10_InternalSARL())) {
alt241=1;
}
switch (alt241) {
case 1 :
// InternalSARL.g:8778:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?
{
// InternalSARL.g:8778:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) )
// InternalSARL.g:8779:6: ( ( () '.' ) )=> ( () otherlv_7= '.' )
{
// InternalSARL.g:8785:6: ( () otherlv_7= '.' )
// InternalSARL.g:8786:7: () otherlv_7= '.'
{
// InternalSARL.g:8786:7: ()
// InternalSARL.g:8787:8:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0(),
current);
}
}
otherlv_7=(Token)match(input,68,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getFullStopKeyword_1_4_0_0_1());
}
}
}
// InternalSARL.g:8799:5: ( ( ruleValidID ) )
// InternalSARL.g:8800:6: ( ruleValidID )
{
// InternalSARL.g:8800:6: ( ruleValidID )
// InternalSARL.g:8801:7: ruleValidID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getParameterizedTypeReferenceWithTypeArgsRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getTypeJvmTypeCrossReference_1_4_1_0());
}
pushFollow(FOLLOW_90);
ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:8815:5: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?
int alt240=2;
int LA240_0 = input.LA(1);
if ( (LA240_0==40) && (synpred11_InternalSARL())) {
alt240=1;
}
switch (alt240) {
case 1 :
// InternalSARL.g:8816:6: ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>'
{
// InternalSARL.g:8816:6: ( ( '<' )=>otherlv_9= '<' )
// InternalSARL.g:8817:7: ( '<' )=>otherlv_9= '<'
{
otherlv_9=(Token)match(input,40,FOLLOW_88); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getLessThanSignKeyword_1_4_2_0());
}
}
// InternalSARL.g:8823:6: ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) )
// InternalSARL.g:8824:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference )
{
// InternalSARL.g:8824:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference )
// InternalSARL.g:8825:8: lv_arguments_10_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0());
}
pushFollow(FOLLOW_28);
lv_arguments_10_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getParameterizedTypeReferenceWithTypeArgsRule());
}
add(
current,
"arguments",
lv_arguments_10_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:8842:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )*
loop239:
do {
int alt239=2;
int LA239_0 = input.LA(1);
if ( (LA239_0==32) ) {
alt239=1;
}
switch (alt239) {
case 1 :
// InternalSARL.g:8843:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) )
{
otherlv_11=(Token)match(input,32,FOLLOW_88); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getCommaKeyword_1_4_2_2_0());
}
// InternalSARL.g:8847:7: ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) )
// InternalSARL.g:8848:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference )
{
// InternalSARL.g:8848:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference )
// InternalSARL.g:8849:9: lv_arguments_12_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0());
}
pushFollow(FOLLOW_28);
lv_arguments_12_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getParameterizedTypeReferenceWithTypeArgsRule());
}
add(
current,
"arguments",
lv_arguments_12_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop239;
}
} while (true);
otherlv_13=(Token)match(input,41,FOLLOW_89); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getGreaterThanSignKeyword_1_4_2_3());
}
}
break;
}
}
break;
default :
break loop241;
}
} while (true);
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleParameterizedTypeReferenceWithTypeArgs"
// $ANTLR start "entryRuleFunctionID"
// InternalSARL.g:8878:1: entryRuleFunctionID returns [String current=null] : iv_ruleFunctionID= ruleFunctionID EOF ;
public final String entryRuleFunctionID() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleFunctionID = null;
try {
// InternalSARL.g:8878:50: (iv_ruleFunctionID= ruleFunctionID EOF )
// InternalSARL.g:8879:2: iv_ruleFunctionID= ruleFunctionID EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFunctionIDRule());
}
pushFollow(FOLLOW_1);
iv_ruleFunctionID=ruleFunctionID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleFunctionID.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFunctionID"
// $ANTLR start "ruleFunctionID"
// InternalSARL.g:8885:1: ruleFunctionID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID | this_Operators_1= ruleOperators ) ;
public final AntlrDatatypeRuleToken ruleFunctionID() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
AntlrDatatypeRuleToken this_ValidID_0 = null;
AntlrDatatypeRuleToken this_Operators_1 = null;
enterRule();
try {
// InternalSARL.g:8891:2: ( (this_ValidID_0= ruleValidID | this_Operators_1= ruleOperators ) )
// InternalSARL.g:8892:2: (this_ValidID_0= ruleValidID | this_Operators_1= ruleOperators )
{
// InternalSARL.g:8892:2: (this_ValidID_0= ruleValidID | this_Operators_1= ruleOperators )
int alt242=2;
int LA242_0 = input.LA(1);
if ( (LA242_0==RULE_ID||LA242_0==44||(LA242_0>=83 && LA242_0<=86)) ) {
alt242=1;
}
else if ( ((LA242_0>=40 && LA242_0<=41)||LA242_0==59||LA242_0==67||(LA242_0>=96 && LA242_0<=107)||(LA242_0>=109 && LA242_0<=121)) ) {
alt242=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 242, 0, input);
throw nvae;
}
switch (alt242) {
case 1 :
// InternalSARL.g:8893:3: this_ValidID_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFunctionIDAccess().getValidIDParserRuleCall_0());
}
pushFollow(FOLLOW_2);
this_ValidID_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ValidID_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalSARL.g:8904:3: this_Operators_1= ruleOperators
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFunctionIDAccess().getOperatorsParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_Operators_1=ruleOperators();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_Operators_1);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleFunctionID"
// $ANTLR start "entryRuleOperators"
// InternalSARL.g:8918:1: entryRuleOperators returns [String current=null] : iv_ruleOperators= ruleOperators EOF ;
public final String entryRuleOperators() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOperators = null;
try {
// InternalSARL.g:8918:49: (iv_ruleOperators= ruleOperators EOF )
// InternalSARL.g:8919:2: iv_ruleOperators= ruleOperators EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperatorsRule());
}
pushFollow(FOLLOW_1);
iv_ruleOperators=ruleOperators();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOperators.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOperators"
// $ANTLR start "ruleOperators"
// InternalSARL.g:8925:1: ruleOperators returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_OpMultiAssign_0= ruleOpMultiAssign | this_OpOr_1= ruleOpOr | this_OpAnd_2= ruleOpAnd | this_OpEquality_3= ruleOpEquality | this_OpCompare_4= ruleOpCompare | this_OpOther_5= ruleOpOther | this_OpMulti_6= ruleOpMulti | this_OpUnary_7= ruleOpUnary | this_OpPostfix_8= ruleOpPostfix ) ;
public final AntlrDatatypeRuleToken ruleOperators() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
AntlrDatatypeRuleToken this_OpMultiAssign_0 = null;
AntlrDatatypeRuleToken this_OpOr_1 = null;
AntlrDatatypeRuleToken this_OpAnd_2 = null;
AntlrDatatypeRuleToken this_OpEquality_3 = null;
AntlrDatatypeRuleToken this_OpCompare_4 = null;
AntlrDatatypeRuleToken this_OpOther_5 = null;
AntlrDatatypeRuleToken this_OpMulti_6 = null;
AntlrDatatypeRuleToken this_OpUnary_7 = null;
AntlrDatatypeRuleToken this_OpPostfix_8 = null;
enterRule();
try {
// InternalSARL.g:8931:2: ( (this_OpMultiAssign_0= ruleOpMultiAssign | this_OpOr_1= ruleOpOr | this_OpAnd_2= ruleOpAnd | this_OpEquality_3= ruleOpEquality | this_OpCompare_4= ruleOpCompare | this_OpOther_5= ruleOpOther | this_OpMulti_6= ruleOpMulti | this_OpUnary_7= ruleOpUnary | this_OpPostfix_8= ruleOpPostfix ) )
// InternalSARL.g:8932:2: (this_OpMultiAssign_0= ruleOpMultiAssign | this_OpOr_1= ruleOpOr | this_OpAnd_2= ruleOpAnd | this_OpEquality_3= ruleOpEquality | this_OpCompare_4= ruleOpCompare | this_OpOther_5= ruleOpOther | this_OpMulti_6= ruleOpMulti | this_OpUnary_7= ruleOpUnary | this_OpPostfix_8= ruleOpPostfix )
{
// InternalSARL.g:8932:2: (this_OpMultiAssign_0= ruleOpMultiAssign | this_OpOr_1= ruleOpOr | this_OpAnd_2= ruleOpAnd | this_OpEquality_3= ruleOpEquality | this_OpCompare_4= ruleOpCompare | this_OpOther_5= ruleOpOther | this_OpMulti_6= ruleOpMulti | this_OpUnary_7= ruleOpUnary | this_OpPostfix_8= ruleOpPostfix )
int alt243=9;
alt243 = dfa243.predict(input);
switch (alt243) {
case 1 :
// InternalSARL.g:8933:3: this_OpMultiAssign_0= ruleOpMultiAssign
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperatorsAccess().getOpMultiAssignParserRuleCall_0());
}
pushFollow(FOLLOW_2);
this_OpMultiAssign_0=ruleOpMultiAssign();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_OpMultiAssign_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalSARL.g:8944:3: this_OpOr_1= ruleOpOr
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperatorsAccess().getOpOrParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_OpOr_1=ruleOpOr();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_OpOr_1);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalSARL.g:8955:3: this_OpAnd_2= ruleOpAnd
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperatorsAccess().getOpAndParserRuleCall_2());
}
pushFollow(FOLLOW_2);
this_OpAnd_2=ruleOpAnd();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_OpAnd_2);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalSARL.g:8966:3: this_OpEquality_3= ruleOpEquality
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperatorsAccess().getOpEqualityParserRuleCall_3());
}
pushFollow(FOLLOW_2);
this_OpEquality_3=ruleOpEquality();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_OpEquality_3);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 5 :
// InternalSARL.g:8977:3: this_OpCompare_4= ruleOpCompare
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperatorsAccess().getOpCompareParserRuleCall_4());
}
pushFollow(FOLLOW_2);
this_OpCompare_4=ruleOpCompare();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_OpCompare_4);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 6 :
// InternalSARL.g:8988:3: this_OpOther_5= ruleOpOther
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperatorsAccess().getOpOtherParserRuleCall_5());
}
pushFollow(FOLLOW_2);
this_OpOther_5=ruleOpOther();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_OpOther_5);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 7 :
// InternalSARL.g:8999:3: this_OpMulti_6= ruleOpMulti
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperatorsAccess().getOpMultiParserRuleCall_6());
}
pushFollow(FOLLOW_2);
this_OpMulti_6=ruleOpMulti();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_OpMulti_6);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 8 :
// InternalSARL.g:9010:3: this_OpUnary_7= ruleOpUnary
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperatorsAccess().getOpUnaryParserRuleCall_7());
}
pushFollow(FOLLOW_2);
this_OpUnary_7=ruleOpUnary();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_OpUnary_7);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 9 :
// InternalSARL.g:9021:3: this_OpPostfix_8= ruleOpPostfix
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperatorsAccess().getOpPostfixParserRuleCall_8());
}
pushFollow(FOLLOW_2);
this_OpPostfix_8=ruleOpPostfix();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_OpPostfix_8);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOperators"
// $ANTLR start "entryRuleCommonModifier"
// InternalSARL.g:9035:1: entryRuleCommonModifier returns [String current=null] : iv_ruleCommonModifier= ruleCommonModifier EOF ;
public final String entryRuleCommonModifier() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleCommonModifier = null;
try {
// InternalSARL.g:9035:54: (iv_ruleCommonModifier= ruleCommonModifier EOF )
// InternalSARL.g:9036:2: iv_ruleCommonModifier= ruleCommonModifier EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCommonModifierRule());
}
pushFollow(FOLLOW_1);
iv_ruleCommonModifier=ruleCommonModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleCommonModifier.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleCommonModifier"
// $ANTLR start "ruleCommonModifier"
// InternalSARL.g:9042:1: ruleCommonModifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'public' | kw= 'private' | kw= 'protected' | kw= 'package' | kw= 'abstract' | kw= 'static' | kw= 'dispatch' | kw= 'final' | kw= 'strictfp' | kw= 'native' | kw= 'volatile' | kw= 'synchronized' | kw= 'transient' ) ;
public final AntlrDatatypeRuleToken ruleCommonModifier() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalSARL.g:9048:2: ( (kw= 'public' | kw= 'private' | kw= 'protected' | kw= 'package' | kw= 'abstract' | kw= 'static' | kw= 'dispatch' | kw= 'final' | kw= 'strictfp' | kw= 'native' | kw= 'volatile' | kw= 'synchronized' | kw= 'transient' ) )
// InternalSARL.g:9049:2: (kw= 'public' | kw= 'private' | kw= 'protected' | kw= 'package' | kw= 'abstract' | kw= 'static' | kw= 'dispatch' | kw= 'final' | kw= 'strictfp' | kw= 'native' | kw= 'volatile' | kw= 'synchronized' | kw= 'transient' )
{
// InternalSARL.g:9049:2: (kw= 'public' | kw= 'private' | kw= 'protected' | kw= 'package' | kw= 'abstract' | kw= 'static' | kw= 'dispatch' | kw= 'final' | kw= 'strictfp' | kw= 'native' | kw= 'volatile' | kw= 'synchronized' | kw= 'transient' )
int alt244=13;
switch ( input.LA(1) ) {
case 69:
{
alt244=1;
}
break;
case 70:
{
alt244=2;
}
break;
case 71:
{
alt244=3;
}
break;
case 25:
{
alt244=4;
}
break;
case 72:
{
alt244=5;
}
break;
case 73:
{
alt244=6;
}
break;
case 74:
{
alt244=7;
}
break;
case 75:
{
alt244=8;
}
break;
case 76:
{
alt244=9;
}
break;
case 77:
{
alt244=10;
}
break;
case 78:
{
alt244=11;
}
break;
case 79:
{
alt244=12;
}
break;
case 80:
{
alt244=13;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 244, 0, input);
throw nvae;
}
switch (alt244) {
case 1 :
// InternalSARL.g:9050:3: kw= 'public'
{
kw=(Token)match(input,69,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCommonModifierAccess().getPublicKeyword_0());
}
}
break;
case 2 :
// InternalSARL.g:9056:3: kw= 'private'
{
kw=(Token)match(input,70,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCommonModifierAccess().getPrivateKeyword_1());
}
}
break;
case 3 :
// InternalSARL.g:9062:3: kw= 'protected'
{
kw=(Token)match(input,71,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCommonModifierAccess().getProtectedKeyword_2());
}
}
break;
case 4 :
// InternalSARL.g:9068:3: kw= 'package'
{
kw=(Token)match(input,25,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCommonModifierAccess().getPackageKeyword_3());
}
}
break;
case 5 :
// InternalSARL.g:9074:3: kw= 'abstract'
{
kw=(Token)match(input,72,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCommonModifierAccess().getAbstractKeyword_4());
}
}
break;
case 6 :
// InternalSARL.g:9080:3: kw= 'static'
{
kw=(Token)match(input,73,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCommonModifierAccess().getStaticKeyword_5());
}
}
break;
case 7 :
// InternalSARL.g:9086:3: kw= 'dispatch'
{
kw=(Token)match(input,74,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCommonModifierAccess().getDispatchKeyword_6());
}
}
break;
case 8 :
// InternalSARL.g:9092:3: kw= 'final'
{
kw=(Token)match(input,75,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCommonModifierAccess().getFinalKeyword_7());
}
}
break;
case 9 :
// InternalSARL.g:9098:3: kw= 'strictfp'
{
kw=(Token)match(input,76,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCommonModifierAccess().getStrictfpKeyword_8());
}
}
break;
case 10 :
// InternalSARL.g:9104:3: kw= 'native'
{
kw=(Token)match(input,77,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCommonModifierAccess().getNativeKeyword_9());
}
}
break;
case 11 :
// InternalSARL.g:9110:3: kw= 'volatile'
{
kw=(Token)match(input,78,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCommonModifierAccess().getVolatileKeyword_10());
}
}
break;
case 12 :
// InternalSARL.g:9116:3: kw= 'synchronized'
{
kw=(Token)match(input,79,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCommonModifierAccess().getSynchronizedKeyword_11());
}
}
break;
case 13 :
// InternalSARL.g:9122:3: kw= 'transient'
{
kw=(Token)match(input,80,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getCommonModifierAccess().getTransientKeyword_12());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleCommonModifier"
// $ANTLR start "entryRuleFieldModifier"
// InternalSARL.g:9131:1: entryRuleFieldModifier returns [String current=null] : iv_ruleFieldModifier= ruleFieldModifier EOF ;
public final String entryRuleFieldModifier() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleFieldModifier = null;
try {
// InternalSARL.g:9131:53: (iv_ruleFieldModifier= ruleFieldModifier EOF )
// InternalSARL.g:9132:2: iv_ruleFieldModifier= ruleFieldModifier EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFieldModifierRule());
}
pushFollow(FOLLOW_1);
iv_ruleFieldModifier=ruleFieldModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleFieldModifier.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFieldModifier"
// $ANTLR start "ruleFieldModifier"
// InternalSARL.g:9138:1: ruleFieldModifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'val' | kw= 'var' ) ;
public final AntlrDatatypeRuleToken ruleFieldModifier() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalSARL.g:9144:2: ( (kw= 'val' | kw= 'var' ) )
// InternalSARL.g:9145:2: (kw= 'val' | kw= 'var' )
{
// InternalSARL.g:9145:2: (kw= 'val' | kw= 'var' )
int alt245=2;
int LA245_0 = input.LA(1);
if ( (LA245_0==62) ) {
alt245=1;
}
else if ( (LA245_0==61) ) {
alt245=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 245, 0, input);
throw nvae;
}
switch (alt245) {
case 1 :
// InternalSARL.g:9146:3: kw= 'val'
{
kw=(Token)match(input,62,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFieldModifierAccess().getValKeyword_0());
}
}
break;
case 2 :
// InternalSARL.g:9152:3: kw= 'var'
{
kw=(Token)match(input,61,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFieldModifierAccess().getVarKeyword_1());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleFieldModifier"
// $ANTLR start "entryRuleMethodModifier"
// InternalSARL.g:9161:1: entryRuleMethodModifier returns [String current=null] : iv_ruleMethodModifier= ruleMethodModifier EOF ;
public final String entryRuleMethodModifier() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleMethodModifier = null;
try {
// InternalSARL.g:9161:54: (iv_ruleMethodModifier= ruleMethodModifier EOF )
// InternalSARL.g:9162:2: iv_ruleMethodModifier= ruleMethodModifier EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMethodModifierRule());
}
pushFollow(FOLLOW_1);
iv_ruleMethodModifier=ruleMethodModifier();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleMethodModifier.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMethodModifier"
// $ANTLR start "ruleMethodModifier"
// InternalSARL.g:9168:1: ruleMethodModifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'def' | kw= 'override' ) ;
public final AntlrDatatypeRuleToken ruleMethodModifier() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalSARL.g:9174:2: ( (kw= 'def' | kw= 'override' ) )
// InternalSARL.g:9175:2: (kw= 'def' | kw= 'override' )
{
// InternalSARL.g:9175:2: (kw= 'def' | kw= 'override' )
int alt246=2;
int LA246_0 = input.LA(1);
if ( (LA246_0==81) ) {
alt246=1;
}
else if ( (LA246_0==82) ) {
alt246=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 246, 0, input);
throw nvae;
}
switch (alt246) {
case 1 :
// InternalSARL.g:9176:3: kw= 'def'
{
kw=(Token)match(input,81,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getMethodModifierAccess().getDefKeyword_0());
}
}
break;
case 2 :
// InternalSARL.g:9182:3: kw= 'override'
{
kw=(Token)match(input,82,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getMethodModifierAccess().getOverrideKeyword_1());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMethodModifier"
// $ANTLR start "entryRuleValidID"
// InternalSARL.g:9191:1: entryRuleValidID returns [String current=null] : iv_ruleValidID= ruleValidID EOF ;
public final String entryRuleValidID() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleValidID = null;
try {
// InternalSARL.g:9191:47: (iv_ruleValidID= ruleValidID EOF )
// InternalSARL.g:9192:2: iv_ruleValidID= ruleValidID EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getValidIDRule());
}
pushFollow(FOLLOW_1);
iv_ruleValidID=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleValidID.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleValidID"
// $ANTLR start "ruleValidID"
// InternalSARL.g:9198:1: ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID | kw= 'create' | kw= 'annotation' | kw= 'AFTER' | kw= 'BEFORE' | kw= 'SEPARATOR' ) ;
public final AntlrDatatypeRuleToken ruleValidID() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_ID_0=null;
Token kw=null;
enterRule();
try {
// InternalSARL.g:9204:2: ( (this_ID_0= RULE_ID | kw= 'create' | kw= 'annotation' | kw= 'AFTER' | kw= 'BEFORE' | kw= 'SEPARATOR' ) )
// InternalSARL.g:9205:2: (this_ID_0= RULE_ID | kw= 'create' | kw= 'annotation' | kw= 'AFTER' | kw= 'BEFORE' | kw= 'SEPARATOR' )
{
// InternalSARL.g:9205:2: (this_ID_0= RULE_ID | kw= 'create' | kw= 'annotation' | kw= 'AFTER' | kw= 'BEFORE' | kw= 'SEPARATOR' )
int alt247=6;
switch ( input.LA(1) ) {
case RULE_ID:
{
alt247=1;
}
break;
case 83:
{
alt247=2;
}
break;
case 44:
{
alt247=3;
}
break;
case 84:
{
alt247=4;
}
break;
case 85:
{
alt247=5;
}
break;
case 86:
{
alt247=6;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 247, 0, input);
throw nvae;
}
switch (alt247) {
case 1 :
// InternalSARL.g:9206:3: this_ID_0= RULE_ID
{
this_ID_0=(Token)match(input,RULE_ID,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ID_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_ID_0, grammarAccess.getValidIDAccess().getIDTerminalRuleCall_0());
}
}
break;
case 2 :
// InternalSARL.g:9214:3: kw= 'create'
{
kw=(Token)match(input,83,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getValidIDAccess().getCreateKeyword_1());
}
}
break;
case 3 :
// InternalSARL.g:9220:3: kw= 'annotation'
{
kw=(Token)match(input,44,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getValidIDAccess().getAnnotationKeyword_2());
}
}
break;
case 4 :
// InternalSARL.g:9226:3: kw= 'AFTER'
{
kw=(Token)match(input,84,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getValidIDAccess().getAFTERKeyword_3());
}
}
break;
case 5 :
// InternalSARL.g:9232:3: kw= 'BEFORE'
{
kw=(Token)match(input,85,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getValidIDAccess().getBEFOREKeyword_4());
}
}
break;
case 6 :
// InternalSARL.g:9238:3: kw= 'SEPARATOR'
{
kw=(Token)match(input,86,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getValidIDAccess().getSEPARATORKeyword_5());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleValidID"
// $ANTLR start "entryRuleFeatureCallID"
// InternalSARL.g:9247:1: entryRuleFeatureCallID returns [String current=null] : iv_ruleFeatureCallID= ruleFeatureCallID EOF ;
public final String entryRuleFeatureCallID() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleFeatureCallID = null;
try {
// InternalSARL.g:9247:53: (iv_ruleFeatureCallID= ruleFeatureCallID EOF )
// InternalSARL.g:9248:2: iv_ruleFeatureCallID= ruleFeatureCallID EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFeatureCallIDRule());
}
pushFollow(FOLLOW_1);
iv_ruleFeatureCallID=ruleFeatureCallID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleFeatureCallID.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFeatureCallID"
// $ANTLR start "ruleFeatureCallID"
// InternalSARL.g:9254:1: ruleFeatureCallID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_InnerVarID_0= ruleInnerVarID | kw= 'extension' ) ;
public final AntlrDatatypeRuleToken ruleFeatureCallID() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
AntlrDatatypeRuleToken this_InnerVarID_0 = null;
enterRule();
try {
// InternalSARL.g:9260:2: ( (this_InnerVarID_0= ruleInnerVarID | kw= 'extension' ) )
// InternalSARL.g:9261:2: (this_InnerVarID_0= ruleInnerVarID | kw= 'extension' )
{
// InternalSARL.g:9261:2: (this_InnerVarID_0= ruleInnerVarID | kw= 'extension' )
int alt248=2;
int LA248_0 = input.LA(1);
if ( (LA248_0==RULE_ID||LA248_0==25||LA248_0==28||LA248_0==36||LA248_0==39||(LA248_0>=42 && LA248_0<=44)||LA248_0==51||(LA248_0>=69 && LA248_0<=87)) ) {
alt248=1;
}
else if ( (LA248_0==45) ) {
alt248=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 248, 0, input);
throw nvae;
}
switch (alt248) {
case 1 :
// InternalSARL.g:9262:3: this_InnerVarID_0= ruleInnerVarID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFeatureCallIDAccess().getInnerVarIDParserRuleCall_0());
}
pushFollow(FOLLOW_2);
this_InnerVarID_0=ruleInnerVarID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_InnerVarID_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalSARL.g:9273:3: kw= 'extension'
{
kw=(Token)match(input,45,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_1());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleFeatureCallID"
// $ANTLR start "entryRuleInnerVarID"
// InternalSARL.g:9282:1: entryRuleInnerVarID returns [String current=null] : iv_ruleInnerVarID= ruleInnerVarID EOF ;
public final String entryRuleInnerVarID() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleInnerVarID = null;
try {
// InternalSARL.g:9282:50: (iv_ruleInnerVarID= ruleInnerVarID EOF )
// InternalSARL.g:9283:2: iv_ruleInnerVarID= ruleInnerVarID EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInnerVarIDRule());
}
pushFollow(FOLLOW_1);
iv_ruleInnerVarID=ruleInnerVarID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleInnerVarID.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleInnerVarID"
// $ANTLR start "ruleInnerVarID"
// InternalSARL.g:9289:1: ruleInnerVarID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID | kw= 'abstract' | kw= 'annotation' | kw= 'class' | kw= 'create' | kw= 'def' | kw= 'dispatch' | kw= 'enum' | kw= 'extends' | kw= 'final' | kw= 'implements' | kw= 'import' | kw= 'interface' | kw= 'override' | kw= 'package' | kw= 'public' | kw= 'private' | kw= 'protected' | kw= 'static' | kw= 'throws' | kw= 'strictfp' | kw= 'native' | kw= 'volatile' | kw= 'synchronized' | kw= 'transient' | kw= 'AFTER' | kw= 'BEFORE' | kw= 'SEPARATOR' ) ;
public final AntlrDatatypeRuleToken ruleInnerVarID() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_ID_0=null;
Token kw=null;
enterRule();
try {
// InternalSARL.g:9295:2: ( (this_ID_0= RULE_ID | kw= 'abstract' | kw= 'annotation' | kw= 'class' | kw= 'create' | kw= 'def' | kw= 'dispatch' | kw= 'enum' | kw= 'extends' | kw= 'final' | kw= 'implements' | kw= 'import' | kw= 'interface' | kw= 'override' | kw= 'package' | kw= 'public' | kw= 'private' | kw= 'protected' | kw= 'static' | kw= 'throws' | kw= 'strictfp' | kw= 'native' | kw= 'volatile' | kw= 'synchronized' | kw= 'transient' | kw= 'AFTER' | kw= 'BEFORE' | kw= 'SEPARATOR' ) )
// InternalSARL.g:9296:2: (this_ID_0= RULE_ID | kw= 'abstract' | kw= 'annotation' | kw= 'class' | kw= 'create' | kw= 'def' | kw= 'dispatch' | kw= 'enum' | kw= 'extends' | kw= 'final' | kw= 'implements' | kw= 'import' | kw= 'interface' | kw= 'override' | kw= 'package' | kw= 'public' | kw= 'private' | kw= 'protected' | kw= 'static' | kw= 'throws' | kw= 'strictfp' | kw= 'native' | kw= 'volatile' | kw= 'synchronized' | kw= 'transient' | kw= 'AFTER' | kw= 'BEFORE' | kw= 'SEPARATOR' )
{
// InternalSARL.g:9296:2: (this_ID_0= RULE_ID | kw= 'abstract' | kw= 'annotation' | kw= 'class' | kw= 'create' | kw= 'def' | kw= 'dispatch' | kw= 'enum' | kw= 'extends' | kw= 'final' | kw= 'implements' | kw= 'import' | kw= 'interface' | kw= 'override' | kw= 'package' | kw= 'public' | kw= 'private' | kw= 'protected' | kw= 'static' | kw= 'throws' | kw= 'strictfp' | kw= 'native' | kw= 'volatile' | kw= 'synchronized' | kw= 'transient' | kw= 'AFTER' | kw= 'BEFORE' | kw= 'SEPARATOR' )
int alt249=28;
switch ( input.LA(1) ) {
case RULE_ID:
{
alt249=1;
}
break;
case 72:
{
alt249=2;
}
break;
case 44:
{
alt249=3;
}
break;
case 39:
{
alt249=4;
}
break;
case 83:
{
alt249=5;
}
break;
case 81:
{
alt249=6;
}
break;
case 74:
{
alt249=7;
}
break;
case 43:
{
alt249=8;
}
break;
case 28:
{
alt249=9;
}
break;
case 75:
{
alt249=10;
}
break;
case 36:
{
alt249=11;
}
break;
case 87:
{
alt249=12;
}
break;
case 42:
{
alt249=13;
}
break;
case 82:
{
alt249=14;
}
break;
case 25:
{
alt249=15;
}
break;
case 69:
{
alt249=16;
}
break;
case 70:
{
alt249=17;
}
break;
case 71:
{
alt249=18;
}
break;
case 73:
{
alt249=19;
}
break;
case 51:
{
alt249=20;
}
break;
case 76:
{
alt249=21;
}
break;
case 77:
{
alt249=22;
}
break;
case 78:
{
alt249=23;
}
break;
case 79:
{
alt249=24;
}
break;
case 80:
{
alt249=25;
}
break;
case 84:
{
alt249=26;
}
break;
case 85:
{
alt249=27;
}
break;
case 86:
{
alt249=28;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 249, 0, input);
throw nvae;
}
switch (alt249) {
case 1 :
// InternalSARL.g:9297:3: this_ID_0= RULE_ID
{
this_ID_0=(Token)match(input,RULE_ID,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ID_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_ID_0, grammarAccess.getInnerVarIDAccess().getIDTerminalRuleCall_0());
}
}
break;
case 2 :
// InternalSARL.g:9305:3: kw= 'abstract'
{
kw=(Token)match(input,72,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getAbstractKeyword_1());
}
}
break;
case 3 :
// InternalSARL.g:9311:3: kw= 'annotation'
{
kw=(Token)match(input,44,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getAnnotationKeyword_2());
}
}
break;
case 4 :
// InternalSARL.g:9317:3: kw= 'class'
{
kw=(Token)match(input,39,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getClassKeyword_3());
}
}
break;
case 5 :
// InternalSARL.g:9323:3: kw= 'create'
{
kw=(Token)match(input,83,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getCreateKeyword_4());
}
}
break;
case 6 :
// InternalSARL.g:9329:3: kw= 'def'
{
kw=(Token)match(input,81,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getDefKeyword_5());
}
}
break;
case 7 :
// InternalSARL.g:9335:3: kw= 'dispatch'
{
kw=(Token)match(input,74,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getDispatchKeyword_6());
}
}
break;
case 8 :
// InternalSARL.g:9341:3: kw= 'enum'
{
kw=(Token)match(input,43,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getEnumKeyword_7());
}
}
break;
case 9 :
// InternalSARL.g:9347:3: kw= 'extends'
{
kw=(Token)match(input,28,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getExtendsKeyword_8());
}
}
break;
case 10 :
// InternalSARL.g:9353:3: kw= 'final'
{
kw=(Token)match(input,75,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getFinalKeyword_9());
}
}
break;
case 11 :
// InternalSARL.g:9359:3: kw= 'implements'
{
kw=(Token)match(input,36,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getImplementsKeyword_10());
}
}
break;
case 12 :
// InternalSARL.g:9365:3: kw= 'import'
{
kw=(Token)match(input,87,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getImportKeyword_11());
}
}
break;
case 13 :
// InternalSARL.g:9371:3: kw= 'interface'
{
kw=(Token)match(input,42,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getInterfaceKeyword_12());
}
}
break;
case 14 :
// InternalSARL.g:9377:3: kw= 'override'
{
kw=(Token)match(input,82,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getOverrideKeyword_13());
}
}
break;
case 15 :
// InternalSARL.g:9383:3: kw= 'package'
{
kw=(Token)match(input,25,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getPackageKeyword_14());
}
}
break;
case 16 :
// InternalSARL.g:9389:3: kw= 'public'
{
kw=(Token)match(input,69,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getPublicKeyword_15());
}
}
break;
case 17 :
// InternalSARL.g:9395:3: kw= 'private'
{
kw=(Token)match(input,70,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getPrivateKeyword_16());
}
}
break;
case 18 :
// InternalSARL.g:9401:3: kw= 'protected'
{
kw=(Token)match(input,71,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getProtectedKeyword_17());
}
}
break;
case 19 :
// InternalSARL.g:9407:3: kw= 'static'
{
kw=(Token)match(input,73,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getStaticKeyword_18());
}
}
break;
case 20 :
// InternalSARL.g:9413:3: kw= 'throws'
{
kw=(Token)match(input,51,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getThrowsKeyword_19());
}
}
break;
case 21 :
// InternalSARL.g:9419:3: kw= 'strictfp'
{
kw=(Token)match(input,76,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getStrictfpKeyword_20());
}
}
break;
case 22 :
// InternalSARL.g:9425:3: kw= 'native'
{
kw=(Token)match(input,77,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getNativeKeyword_21());
}
}
break;
case 23 :
// InternalSARL.g:9431:3: kw= 'volatile'
{
kw=(Token)match(input,78,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getVolatileKeyword_22());
}
}
break;
case 24 :
// InternalSARL.g:9437:3: kw= 'synchronized'
{
kw=(Token)match(input,79,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getSynchronizedKeyword_23());
}
}
break;
case 25 :
// InternalSARL.g:9443:3: kw= 'transient'
{
kw=(Token)match(input,80,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getTransientKeyword_24());
}
}
break;
case 26 :
// InternalSARL.g:9449:3: kw= 'AFTER'
{
kw=(Token)match(input,84,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getAFTERKeyword_25());
}
}
break;
case 27 :
// InternalSARL.g:9455:3: kw= 'BEFORE'
{
kw=(Token)match(input,85,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getBEFOREKeyword_26());
}
}
break;
case 28 :
// InternalSARL.g:9461:3: kw= 'SEPARATOR'
{
kw=(Token)match(input,86,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getSEPARATORKeyword_27());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleInnerVarID"
// $ANTLR start "entryRuleXConstructorCall"
// InternalSARL.g:9470:1: entryRuleXConstructorCall returns [EObject current=null] : iv_ruleXConstructorCall= ruleXConstructorCall EOF ;
public final EObject entryRuleXConstructorCall() throws RecognitionException {
EObject current = null;
EObject iv_ruleXConstructorCall = null;
try {
// InternalSARL.g:9470:57: (iv_ruleXConstructorCall= ruleXConstructorCall EOF )
// InternalSARL.g:9471:2: iv_ruleXConstructorCall= ruleXConstructorCall EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXConstructorCallRule());
}
pushFollow(FOLLOW_1);
iv_ruleXConstructorCall=ruleXConstructorCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXConstructorCall;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXConstructorCall"
// $ANTLR start "ruleXConstructorCall"
// InternalSARL.g:9477:1: ruleXConstructorCall returns [EObject current=null] : (this_XbaseConstructorCall_0= ruleXbaseConstructorCall ( ( ( ( () '{' ) )=> ( () otherlv_2= '{' ) ) ( (lv_members_3_0= ruleMember ) )* otherlv_4= '}' )? ) ;
public final EObject ruleXConstructorCall() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject this_XbaseConstructorCall_0 = null;
EObject lv_members_3_0 = null;
enterRule();
try {
// InternalSARL.g:9483:2: ( (this_XbaseConstructorCall_0= ruleXbaseConstructorCall ( ( ( ( () '{' ) )=> ( () otherlv_2= '{' ) ) ( (lv_members_3_0= ruleMember ) )* otherlv_4= '}' )? ) )
// InternalSARL.g:9484:2: (this_XbaseConstructorCall_0= ruleXbaseConstructorCall ( ( ( ( () '{' ) )=> ( () otherlv_2= '{' ) ) ( (lv_members_3_0= ruleMember ) )* otherlv_4= '}' )? )
{
// InternalSARL.g:9484:2: (this_XbaseConstructorCall_0= ruleXbaseConstructorCall ( ( ( ( () '{' ) )=> ( () otherlv_2= '{' ) ) ( (lv_members_3_0= ruleMember ) )* otherlv_4= '}' )? )
// InternalSARL.g:9485:3: this_XbaseConstructorCall_0= ruleXbaseConstructorCall ( ( ( ( () '{' ) )=> ( () otherlv_2= '{' ) ) ( (lv_members_3_0= ruleMember ) )* otherlv_4= '}' )?
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXConstructorCallAccess().getXbaseConstructorCallParserRuleCall_0());
}
pushFollow(FOLLOW_10);
this_XbaseConstructorCall_0=ruleXbaseConstructorCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XbaseConstructorCall_0;
afterParserOrEnumRuleCall();
}
// InternalSARL.g:9493:3: ( ( ( ( () '{' ) )=> ( () otherlv_2= '{' ) ) ( (lv_members_3_0= ruleMember ) )* otherlv_4= '}' )?
int alt251=2;
alt251 = dfa251.predict(input);
switch (alt251) {
case 1 :
// InternalSARL.g:9494:4: ( ( ( () '{' ) )=> ( () otherlv_2= '{' ) ) ( (lv_members_3_0= ruleMember ) )* otherlv_4= '}'
{
// InternalSARL.g:9494:4: ( ( ( () '{' ) )=> ( () otherlv_2= '{' ) )
// InternalSARL.g:9495:5: ( ( () '{' ) )=> ( () otherlv_2= '{' )
{
// InternalSARL.g:9501:5: ( () otherlv_2= '{' )
// InternalSARL.g:9502:6: () otherlv_2= '{'
{
// InternalSARL.g:9502:6: ()
// InternalSARL.g:9503:7:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXConstructorCallAccess().getAnonymousClassConstructorCallAction_1_0_0_0(),
current);
}
}
otherlv_2=(Token)match(input,29,FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXConstructorCallAccess().getLeftCurlyBracketKeyword_1_0_0_1());
}
}
}
// InternalSARL.g:9515:4: ( (lv_members_3_0= ruleMember ) )*
loop250:
do {
int alt250=2;
int LA250_0 = input.LA(1);
if ( (LA250_0==25||LA250_0==39||(LA250_0>=42 && LA250_0<=45)||LA250_0==48||(LA250_0>=61 && LA250_0<=62)||(LA250_0>=69 && LA250_0<=82)||LA250_0==94) ) {
alt250=1;
}
switch (alt250) {
case 1 :
// InternalSARL.g:9516:5: (lv_members_3_0= ruleMember )
{
// InternalSARL.g:9516:5: (lv_members_3_0= ruleMember )
// InternalSARL.g:9517:6: lv_members_3_0= ruleMember
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXConstructorCallAccess().getMembersMemberParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_29);
lv_members_3_0=ruleMember();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXConstructorCallRule());
}
add(
current,
"members",
lv_members_3_0,
"io.sarl.lang.SARL.Member");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop250;
}
} while (true);
otherlv_4=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXConstructorCallAccess().getRightCurlyBracketKeyword_1_2());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXConstructorCall"
// $ANTLR start "entryRuleXbaseConstructorCall"
// InternalSARL.g:9543:1: entryRuleXbaseConstructorCall returns [EObject current=null] : iv_ruleXbaseConstructorCall= ruleXbaseConstructorCall EOF ;
public final EObject entryRuleXbaseConstructorCall() throws RecognitionException {
EObject current = null;
EObject iv_ruleXbaseConstructorCall = null;
try {
// InternalSARL.g:9543:61: (iv_ruleXbaseConstructorCall= ruleXbaseConstructorCall EOF )
// InternalSARL.g:9544:2: iv_ruleXbaseConstructorCall= ruleXbaseConstructorCall EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXbaseConstructorCallRule());
}
pushFollow(FOLLOW_1);
iv_ruleXbaseConstructorCall=ruleXbaseConstructorCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXbaseConstructorCall;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXbaseConstructorCall"
// $ANTLR start "ruleXbaseConstructorCall"
// InternalSARL.g:9550:1: ruleXbaseConstructorCall returns [EObject current=null] : ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) ;
public final EObject ruleXbaseConstructorCall() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token lv_explicitConstructorCall_8_0=null;
Token otherlv_11=null;
Token otherlv_13=null;
EObject lv_typeArguments_4_0 = null;
EObject lv_typeArguments_6_0 = null;
EObject lv_arguments_9_0 = null;
EObject lv_arguments_10_0 = null;
EObject lv_arguments_12_0 = null;
EObject lv_arguments_14_0 = null;
enterRule();
try {
// InternalSARL.g:9556:2: ( ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) )
// InternalSARL.g:9557:2: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? )
{
// InternalSARL.g:9557:2: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? )
// InternalSARL.g:9558:3: () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?
{
// InternalSARL.g:9558:3: ()
// InternalSARL.g:9559:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXbaseConstructorCallAccess().getXConstructorCallAction_0(),
current);
}
}
otherlv_1=(Token)match(input,48,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXbaseConstructorCallAccess().getNewKeyword_1());
}
// InternalSARL.g:9569:3: ( ( ruleQualifiedName ) )
// InternalSARL.g:9570:4: ( ruleQualifiedName )
{
// InternalSARL.g:9570:4: ( ruleQualifiedName )
// InternalSARL.g:9571:5: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXbaseConstructorCallRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXbaseConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0());
}
pushFollow(FOLLOW_91);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:9585:3: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )?
int alt253=2;
alt253 = dfa253.predict(input);
switch (alt253) {
case 1 :
// InternalSARL.g:9586:4: ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>'
{
// InternalSARL.g:9586:4: ( ( '<' )=>otherlv_3= '<' )
// InternalSARL.g:9587:5: ( '<' )=>otherlv_3= '<'
{
otherlv_3=(Token)match(input,40,FOLLOW_88); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXbaseConstructorCallAccess().getLessThanSignKeyword_3_0());
}
}
// InternalSARL.g:9593:4: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
// InternalSARL.g:9594:5: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
{
// InternalSARL.g:9594:5: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
// InternalSARL.g:9595:6: lv_typeArguments_4_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXbaseConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0());
}
pushFollow(FOLLOW_28);
lv_typeArguments_4_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXbaseConstructorCallRule());
}
add(
current,
"typeArguments",
lv_typeArguments_4_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:9612:4: (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )*
loop252:
do {
int alt252=2;
int LA252_0 = input.LA(1);
if ( (LA252_0==32) ) {
alt252=1;
}
switch (alt252) {
case 1 :
// InternalSARL.g:9613:5: otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) )
{
otherlv_5=(Token)match(input,32,FOLLOW_88); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getXbaseConstructorCallAccess().getCommaKeyword_3_2_0());
}
// InternalSARL.g:9617:5: ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) )
// InternalSARL.g:9618:6: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference )
{
// InternalSARL.g:9618:6: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference )
// InternalSARL.g:9619:7: lv_typeArguments_6_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXbaseConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0());
}
pushFollow(FOLLOW_28);
lv_typeArguments_6_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXbaseConstructorCallRule());
}
add(
current,
"typeArguments",
lv_typeArguments_6_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop252;
}
} while (true);
otherlv_7=(Token)match(input,41,FOLLOW_92); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getXbaseConstructorCallAccess().getGreaterThanSignKeyword_3_3());
}
}
break;
}
// InternalSARL.g:9642:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )?
int alt256=2;
alt256 = dfa256.predict(input);
switch (alt256) {
case 1 :
// InternalSARL.g:9643:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')'
{
// InternalSARL.g:9643:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) )
// InternalSARL.g:9644:5: ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' )
{
// InternalSARL.g:9648:5: (lv_explicitConstructorCall_8_0= '(' )
// InternalSARL.g:9649:6: lv_explicitConstructorCall_8_0= '('
{
lv_explicitConstructorCall_8_0=(Token)match(input,49,FOLLOW_93); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_explicitConstructorCall_8_0, grammarAccess.getXbaseConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXbaseConstructorCallRule());
}
setWithLastConsumed(current, "explicitConstructorCall", true, "(");
}
}
}
// InternalSARL.g:9661:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )?
int alt255=3;
alt255 = dfa255.predict(input);
switch (alt255) {
case 1 :
// InternalSARL.g:9662:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) )
{
// InternalSARL.g:9662:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) )
// InternalSARL.g:9663:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure )
{
// InternalSARL.g:9688:6: (lv_arguments_9_0= ruleXShortClosure )
// InternalSARL.g:9689:7: lv_arguments_9_0= ruleXShortClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXbaseConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0());
}
pushFollow(FOLLOW_78);
lv_arguments_9_0=ruleXShortClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXbaseConstructorCallRule());
}
add(
current,
"arguments",
lv_arguments_9_0,
"org.eclipse.xtext.xbase.Xbase.XShortClosure");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalSARL.g:9707:5: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* )
{
// InternalSARL.g:9707:5: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* )
// InternalSARL.g:9708:6: ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )*
{
// InternalSARL.g:9708:6: ( (lv_arguments_10_0= ruleXExpression ) )
// InternalSARL.g:9709:7: (lv_arguments_10_0= ruleXExpression )
{
// InternalSARL.g:9709:7: (lv_arguments_10_0= ruleXExpression )
// InternalSARL.g:9710:8: lv_arguments_10_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXbaseConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0());
}
pushFollow(FOLLOW_51);
lv_arguments_10_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXbaseConstructorCallRule());
}
add(
current,
"arguments",
lv_arguments_10_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:9727:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )*
loop254:
do {
int alt254=2;
int LA254_0 = input.LA(1);
if ( (LA254_0==32) ) {
alt254=1;
}
switch (alt254) {
case 1 :
// InternalSARL.g:9728:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) )
{
otherlv_11=(Token)match(input,32,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getXbaseConstructorCallAccess().getCommaKeyword_4_1_1_1_0());
}
// InternalSARL.g:9732:7: ( (lv_arguments_12_0= ruleXExpression ) )
// InternalSARL.g:9733:8: (lv_arguments_12_0= ruleXExpression )
{
// InternalSARL.g:9733:8: (lv_arguments_12_0= ruleXExpression )
// InternalSARL.g:9734:9: lv_arguments_12_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXbaseConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0());
}
pushFollow(FOLLOW_51);
lv_arguments_12_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXbaseConstructorCallRule());
}
add(
current,
"arguments",
lv_arguments_12_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop254;
}
} while (true);
}
}
break;
}
otherlv_13=(Token)match(input,50,FOLLOW_85); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getXbaseConstructorCallAccess().getRightParenthesisKeyword_4_2());
}
}
break;
}
// InternalSARL.g:9759:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?
int alt257=2;
alt257 = dfa257.predict(input);
switch (alt257) {
case 1 :
// InternalSARL.g:9760:4: ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure )
{
// InternalSARL.g:9766:4: (lv_arguments_14_0= ruleXClosure )
// InternalSARL.g:9767:5: lv_arguments_14_0= ruleXClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXbaseConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0());
}
pushFollow(FOLLOW_2);
lv_arguments_14_0=ruleXClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXbaseConstructorCallRule());
}
add(
current,
"arguments",
lv_arguments_14_0,
"org.eclipse.xtext.xbase.Xbase.XClosure");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXbaseConstructorCall"
// $ANTLR start "entryRuleXStringLiteral"
// InternalSARL.g:9788:1: entryRuleXStringLiteral returns [EObject current=null] : iv_ruleXStringLiteral= ruleXStringLiteral EOF ;
public final EObject entryRuleXStringLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXStringLiteral = null;
try {
// InternalSARL.g:9788:55: (iv_ruleXStringLiteral= ruleXStringLiteral EOF )
// InternalSARL.g:9789:2: iv_ruleXStringLiteral= ruleXStringLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXStringLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleXStringLiteral=ruleXStringLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXStringLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXStringLiteral"
// $ANTLR start "ruleXStringLiteral"
// InternalSARL.g:9795:1: ruleXStringLiteral returns [EObject current=null] : (this_SimpleStringLiteral_0= ruleSimpleStringLiteral | this_RichString_1= ruleRichString ) ;
public final EObject ruleXStringLiteral() throws RecognitionException {
EObject current = null;
EObject this_SimpleStringLiteral_0 = null;
EObject this_RichString_1 = null;
enterRule();
try {
// InternalSARL.g:9801:2: ( (this_SimpleStringLiteral_0= ruleSimpleStringLiteral | this_RichString_1= ruleRichString ) )
// InternalSARL.g:9802:2: (this_SimpleStringLiteral_0= ruleSimpleStringLiteral | this_RichString_1= ruleRichString )
{
// InternalSARL.g:9802:2: (this_SimpleStringLiteral_0= ruleSimpleStringLiteral | this_RichString_1= ruleRichString )
int alt258=2;
int LA258_0 = input.LA(1);
if ( (LA258_0==RULE_STRING) ) {
alt258=1;
}
else if ( ((LA258_0>=RULE_RICH_TEXT && LA258_0<=RULE_RICH_TEXT_START)) ) {
alt258=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 258, 0, input);
throw nvae;
}
switch (alt258) {
case 1 :
// InternalSARL.g:9803:3: this_SimpleStringLiteral_0= ruleSimpleStringLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXStringLiteralAccess().getSimpleStringLiteralParserRuleCall_0());
}
pushFollow(FOLLOW_2);
this_SimpleStringLiteral_0=ruleSimpleStringLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_SimpleStringLiteral_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalSARL.g:9812:3: this_RichString_1= ruleRichString
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXStringLiteralAccess().getRichStringParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_RichString_1=ruleRichString();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_RichString_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXStringLiteral"
// $ANTLR start "entryRuleSimpleStringLiteral"
// InternalSARL.g:9824:1: entryRuleSimpleStringLiteral returns [EObject current=null] : iv_ruleSimpleStringLiteral= ruleSimpleStringLiteral EOF ;
public final EObject entryRuleSimpleStringLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleSimpleStringLiteral = null;
try {
// InternalSARL.g:9824:60: (iv_ruleSimpleStringLiteral= ruleSimpleStringLiteral EOF )
// InternalSARL.g:9825:2: iv_ruleSimpleStringLiteral= ruleSimpleStringLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSimpleStringLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleSimpleStringLiteral=ruleSimpleStringLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSimpleStringLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSimpleStringLiteral"
// $ANTLR start "ruleSimpleStringLiteral"
// InternalSARL.g:9831:1: ruleSimpleStringLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= RULE_STRING ) ) ) ;
public final EObject ruleSimpleStringLiteral() throws RecognitionException {
EObject current = null;
Token lv_value_1_0=null;
enterRule();
try {
// InternalSARL.g:9837:2: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) )
// InternalSARL.g:9838:2: ( () ( (lv_value_1_0= RULE_STRING ) ) )
{
// InternalSARL.g:9838:2: ( () ( (lv_value_1_0= RULE_STRING ) ) )
// InternalSARL.g:9839:3: () ( (lv_value_1_0= RULE_STRING ) )
{
// InternalSARL.g:9839:3: ()
// InternalSARL.g:9840:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getSimpleStringLiteralAccess().getXStringLiteralAction_0(),
current);
}
}
// InternalSARL.g:9846:3: ( (lv_value_1_0= RULE_STRING ) )
// InternalSARL.g:9847:4: (lv_value_1_0= RULE_STRING )
{
// InternalSARL.g:9847:4: (lv_value_1_0= RULE_STRING )
// InternalSARL.g:9848:5: lv_value_1_0= RULE_STRING
{
lv_value_1_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_value_1_0, grammarAccess.getSimpleStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSimpleStringLiteralRule());
}
setWithLastConsumed(
current,
"value",
lv_value_1_0,
"org.eclipse.xtext.xbase.Xtype.STRING");
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSimpleStringLiteral"
// $ANTLR start "entryRuleRichString"
// InternalSARL.g:9868:1: entryRuleRichString returns [EObject current=null] : iv_ruleRichString= ruleRichString EOF ;
public final EObject entryRuleRichString() throws RecognitionException {
EObject current = null;
EObject iv_ruleRichString = null;
try {
// InternalSARL.g:9868:51: (iv_ruleRichString= ruleRichString EOF )
// InternalSARL.g:9869:2: iv_ruleRichString= ruleRichString EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringRule());
}
pushFollow(FOLLOW_1);
iv_ruleRichString=ruleRichString();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleRichString;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleRichString"
// $ANTLR start "ruleRichString"
// InternalSARL.g:9875:1: ruleRichString returns [EObject current=null] : ( () ( ( (lv_expressions_1_0= ruleRichStringLiteral ) ) | ( ( (lv_expressions_2_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_3_0= ruleRichStringPart ) )? ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )* ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) ) ) ) ) ;
public final EObject ruleRichString() throws RecognitionException {
EObject current = null;
EObject lv_expressions_1_0 = null;
EObject lv_expressions_2_0 = null;
EObject lv_expressions_3_0 = null;
EObject lv_expressions_4_0 = null;
EObject lv_expressions_5_0 = null;
EObject lv_expressions_6_0 = null;
enterRule();
try {
// InternalSARL.g:9881:2: ( ( () ( ( (lv_expressions_1_0= ruleRichStringLiteral ) ) | ( ( (lv_expressions_2_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_3_0= ruleRichStringPart ) )? ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )* ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) ) ) ) ) )
// InternalSARL.g:9882:2: ( () ( ( (lv_expressions_1_0= ruleRichStringLiteral ) ) | ( ( (lv_expressions_2_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_3_0= ruleRichStringPart ) )? ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )* ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) ) ) ) )
{
// InternalSARL.g:9882:2: ( () ( ( (lv_expressions_1_0= ruleRichStringLiteral ) ) | ( ( (lv_expressions_2_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_3_0= ruleRichStringPart ) )? ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )* ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) ) ) ) )
// InternalSARL.g:9883:3: () ( ( (lv_expressions_1_0= ruleRichStringLiteral ) ) | ( ( (lv_expressions_2_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_3_0= ruleRichStringPart ) )? ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )* ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) ) ) )
{
// InternalSARL.g:9883:3: ()
// InternalSARL.g:9884:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getRichStringAccess().getRichStringAction_0(),
current);
}
}
// InternalSARL.g:9890:3: ( ( (lv_expressions_1_0= ruleRichStringLiteral ) ) | ( ( (lv_expressions_2_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_3_0= ruleRichStringPart ) )? ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )* ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) ) ) )
int alt262=2;
int LA262_0 = input.LA(1);
if ( (LA262_0==RULE_RICH_TEXT) ) {
alt262=1;
}
else if ( (LA262_0==RULE_RICH_TEXT_START) ) {
alt262=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 262, 0, input);
throw nvae;
}
switch (alt262) {
case 1 :
// InternalSARL.g:9891:4: ( (lv_expressions_1_0= ruleRichStringLiteral ) )
{
// InternalSARL.g:9891:4: ( (lv_expressions_1_0= ruleRichStringLiteral ) )
// InternalSARL.g:9892:5: (lv_expressions_1_0= ruleRichStringLiteral )
{
// InternalSARL.g:9892:5: (lv_expressions_1_0= ruleRichStringLiteral )
// InternalSARL.g:9893:6: lv_expressions_1_0= ruleRichStringLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralParserRuleCall_1_0_0());
}
pushFollow(FOLLOW_2);
lv_expressions_1_0=ruleRichStringLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRichStringRule());
}
add(
current,
"expressions",
lv_expressions_1_0,
"org.eclipse.xtend.core.Xtend.RichStringLiteral");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalSARL.g:9911:4: ( ( (lv_expressions_2_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_3_0= ruleRichStringPart ) )? ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )* ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) ) )
{
// InternalSARL.g:9911:4: ( ( (lv_expressions_2_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_3_0= ruleRichStringPart ) )? ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )* ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) ) )
// InternalSARL.g:9912:5: ( (lv_expressions_2_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_3_0= ruleRichStringPart ) )? ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )* ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) )
{
// InternalSARL.g:9912:5: ( (lv_expressions_2_0= ruleRichStringLiteralStart ) )
// InternalSARL.g:9913:6: (lv_expressions_2_0= ruleRichStringLiteralStart )
{
// InternalSARL.g:9913:6: (lv_expressions_2_0= ruleRichStringLiteralStart )
// InternalSARL.g:9914:7: lv_expressions_2_0= ruleRichStringLiteralStart
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralStartParserRuleCall_1_1_0_0());
}
pushFollow(FOLLOW_94);
lv_expressions_2_0=ruleRichStringLiteralStart();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRichStringRule());
}
add(
current,
"expressions",
lv_expressions_2_0,
"org.eclipse.xtend.core.Xtend.RichStringLiteralStart");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:9931:5: ( (lv_expressions_3_0= ruleRichStringPart ) )?
int alt259=2;
int LA259_0 = input.LA(1);
if ( ((LA259_0>=RULE_ID && LA259_0<=RULE_RICH_TEXT_START)||(LA259_0>=RULE_HEX && LA259_0<=RULE_DECIMAL)||LA259_0==25||(LA259_0>=28 && LA259_0<=29)||LA259_0==36||(LA259_0>=39 && LA259_0<=40)||(LA259_0>=42 && LA259_0<=45)||(LA259_0>=48 && LA259_0<=49)||LA259_0==51||LA259_0==55||(LA259_0>=60 && LA259_0<=63)||LA259_0==65||(LA259_0>=69 && LA259_0<=88)||LA259_0==90||LA259_0==95||(LA259_0>=114 && LA259_0<=115)||LA259_0==119||LA259_0==125||(LA259_0>=128 && LA259_0<=137)) ) {
alt259=1;
}
switch (alt259) {
case 1 :
// InternalSARL.g:9932:6: (lv_expressions_3_0= ruleRichStringPart )
{
// InternalSARL.g:9932:6: (lv_expressions_3_0= ruleRichStringPart )
// InternalSARL.g:9933:7: lv_expressions_3_0= ruleRichStringPart
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringPartParserRuleCall_1_1_1_0());
}
pushFollow(FOLLOW_94);
lv_expressions_3_0=ruleRichStringPart();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRichStringRule());
}
add(
current,
"expressions",
lv_expressions_3_0,
"org.eclipse.xtend.core.Xtend.RichStringPart");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalSARL.g:9950:5: ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )*
loop261:
do {
int alt261=2;
int LA261_0 = input.LA(1);
if ( ((LA261_0>=RULE_RICH_TEXT_INBETWEEN && LA261_0<=RULE_COMMENT_RICH_TEXT_INBETWEEN)) ) {
alt261=1;
}
switch (alt261) {
case 1 :
// InternalSARL.g:9951:6: ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )?
{
// InternalSARL.g:9951:6: ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) )
// InternalSARL.g:9952:7: (lv_expressions_4_0= ruleRichStringLiteralInbetween )
{
// InternalSARL.g:9952:7: (lv_expressions_4_0= ruleRichStringLiteralInbetween )
// InternalSARL.g:9953:8: lv_expressions_4_0= ruleRichStringLiteralInbetween
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralInbetweenParserRuleCall_1_1_2_0_0());
}
pushFollow(FOLLOW_94);
lv_expressions_4_0=ruleRichStringLiteralInbetween();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRichStringRule());
}
add(
current,
"expressions",
lv_expressions_4_0,
"org.eclipse.xtend.core.Xtend.RichStringLiteralInbetween");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:9970:6: ( (lv_expressions_5_0= ruleRichStringPart ) )?
int alt260=2;
int LA260_0 = input.LA(1);
if ( ((LA260_0>=RULE_ID && LA260_0<=RULE_RICH_TEXT_START)||(LA260_0>=RULE_HEX && LA260_0<=RULE_DECIMAL)||LA260_0==25||(LA260_0>=28 && LA260_0<=29)||LA260_0==36||(LA260_0>=39 && LA260_0<=40)||(LA260_0>=42 && LA260_0<=45)||(LA260_0>=48 && LA260_0<=49)||LA260_0==51||LA260_0==55||(LA260_0>=60 && LA260_0<=63)||LA260_0==65||(LA260_0>=69 && LA260_0<=88)||LA260_0==90||LA260_0==95||(LA260_0>=114 && LA260_0<=115)||LA260_0==119||LA260_0==125||(LA260_0>=128 && LA260_0<=137)) ) {
alt260=1;
}
switch (alt260) {
case 1 :
// InternalSARL.g:9971:7: (lv_expressions_5_0= ruleRichStringPart )
{
// InternalSARL.g:9971:7: (lv_expressions_5_0= ruleRichStringPart )
// InternalSARL.g:9972:8: lv_expressions_5_0= ruleRichStringPart
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringPartParserRuleCall_1_1_2_1_0());
}
pushFollow(FOLLOW_94);
lv_expressions_5_0=ruleRichStringPart();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRichStringRule());
}
add(
current,
"expressions",
lv_expressions_5_0,
"org.eclipse.xtend.core.Xtend.RichStringPart");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
break;
default :
break loop261;
}
} while (true);
// InternalSARL.g:9990:5: ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) )
// InternalSARL.g:9991:6: (lv_expressions_6_0= ruleRichStringLiteralEnd )
{
// InternalSARL.g:9991:6: (lv_expressions_6_0= ruleRichStringLiteralEnd )
// InternalSARL.g:9992:7: lv_expressions_6_0= ruleRichStringLiteralEnd
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralEndParserRuleCall_1_1_3_0());
}
pushFollow(FOLLOW_2);
lv_expressions_6_0=ruleRichStringLiteralEnd();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRichStringRule());
}
add(
current,
"expressions",
lv_expressions_6_0,
"org.eclipse.xtend.core.Xtend.RichStringLiteralEnd");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleRichString"
// $ANTLR start "entryRuleRichStringLiteral"
// InternalSARL.g:10015:1: entryRuleRichStringLiteral returns [EObject current=null] : iv_ruleRichStringLiteral= ruleRichStringLiteral EOF ;
public final EObject entryRuleRichStringLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleRichStringLiteral = null;
try {
// InternalSARL.g:10015:58: (iv_ruleRichStringLiteral= ruleRichStringLiteral EOF )
// InternalSARL.g:10016:2: iv_ruleRichStringLiteral= ruleRichStringLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleRichStringLiteral=ruleRichStringLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleRichStringLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleRichStringLiteral"
// $ANTLR start "ruleRichStringLiteral"
// InternalSARL.g:10022:1: ruleRichStringLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= RULE_RICH_TEXT ) ) ) ;
public final EObject ruleRichStringLiteral() throws RecognitionException {
EObject current = null;
Token lv_value_1_0=null;
enterRule();
try {
// InternalSARL.g:10028:2: ( ( () ( (lv_value_1_0= RULE_RICH_TEXT ) ) ) )
// InternalSARL.g:10029:2: ( () ( (lv_value_1_0= RULE_RICH_TEXT ) ) )
{
// InternalSARL.g:10029:2: ( () ( (lv_value_1_0= RULE_RICH_TEXT ) ) )
// InternalSARL.g:10030:3: () ( (lv_value_1_0= RULE_RICH_TEXT ) )
{
// InternalSARL.g:10030:3: ()
// InternalSARL.g:10031:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getRichStringLiteralAccess().getRichStringLiteralAction_0(),
current);
}
}
// InternalSARL.g:10037:3: ( (lv_value_1_0= RULE_RICH_TEXT ) )
// InternalSARL.g:10038:4: (lv_value_1_0= RULE_RICH_TEXT )
{
// InternalSARL.g:10038:4: (lv_value_1_0= RULE_RICH_TEXT )
// InternalSARL.g:10039:5: lv_value_1_0= RULE_RICH_TEXT
{
lv_value_1_0=(Token)match(input,RULE_RICH_TEXT,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_value_1_0, grammarAccess.getRichStringLiteralAccess().getValueRICH_TEXTTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getRichStringLiteralRule());
}
setWithLastConsumed(
current,
"value",
lv_value_1_0,
"org.eclipse.xtend.core.Xtend.RICH_TEXT");
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleRichStringLiteral"
// $ANTLR start "entryRuleRichStringLiteralStart"
// InternalSARL.g:10059:1: entryRuleRichStringLiteralStart returns [EObject current=null] : iv_ruleRichStringLiteralStart= ruleRichStringLiteralStart EOF ;
public final EObject entryRuleRichStringLiteralStart() throws RecognitionException {
EObject current = null;
EObject iv_ruleRichStringLiteralStart = null;
try {
// InternalSARL.g:10059:63: (iv_ruleRichStringLiteralStart= ruleRichStringLiteralStart EOF )
// InternalSARL.g:10060:2: iv_ruleRichStringLiteralStart= ruleRichStringLiteralStart EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringLiteralStartRule());
}
pushFollow(FOLLOW_1);
iv_ruleRichStringLiteralStart=ruleRichStringLiteralStart();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleRichStringLiteralStart;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleRichStringLiteralStart"
// $ANTLR start "ruleRichStringLiteralStart"
// InternalSARL.g:10066:1: ruleRichStringLiteralStart returns [EObject current=null] : ( () ( (lv_value_1_0= RULE_RICH_TEXT_START ) ) ) ;
public final EObject ruleRichStringLiteralStart() throws RecognitionException {
EObject current = null;
Token lv_value_1_0=null;
enterRule();
try {
// InternalSARL.g:10072:2: ( ( () ( (lv_value_1_0= RULE_RICH_TEXT_START ) ) ) )
// InternalSARL.g:10073:2: ( () ( (lv_value_1_0= RULE_RICH_TEXT_START ) ) )
{
// InternalSARL.g:10073:2: ( () ( (lv_value_1_0= RULE_RICH_TEXT_START ) ) )
// InternalSARL.g:10074:3: () ( (lv_value_1_0= RULE_RICH_TEXT_START ) )
{
// InternalSARL.g:10074:3: ()
// InternalSARL.g:10075:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getRichStringLiteralStartAccess().getRichStringLiteralAction_0(),
current);
}
}
// InternalSARL.g:10081:3: ( (lv_value_1_0= RULE_RICH_TEXT_START ) )
// InternalSARL.g:10082:4: (lv_value_1_0= RULE_RICH_TEXT_START )
{
// InternalSARL.g:10082:4: (lv_value_1_0= RULE_RICH_TEXT_START )
// InternalSARL.g:10083:5: lv_value_1_0= RULE_RICH_TEXT_START
{
lv_value_1_0=(Token)match(input,RULE_RICH_TEXT_START,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_value_1_0, grammarAccess.getRichStringLiteralStartAccess().getValueRICH_TEXT_STARTTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getRichStringLiteralStartRule());
}
setWithLastConsumed(
current,
"value",
lv_value_1_0,
"org.eclipse.xtend.core.Xtend.RICH_TEXT_START");
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleRichStringLiteralStart"
// $ANTLR start "entryRuleRichStringLiteralInbetween"
// InternalSARL.g:10103:1: entryRuleRichStringLiteralInbetween returns [EObject current=null] : iv_ruleRichStringLiteralInbetween= ruleRichStringLiteralInbetween EOF ;
public final EObject entryRuleRichStringLiteralInbetween() throws RecognitionException {
EObject current = null;
EObject iv_ruleRichStringLiteralInbetween = null;
try {
// InternalSARL.g:10103:67: (iv_ruleRichStringLiteralInbetween= ruleRichStringLiteralInbetween EOF )
// InternalSARL.g:10104:2: iv_ruleRichStringLiteralInbetween= ruleRichStringLiteralInbetween EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringLiteralInbetweenRule());
}
pushFollow(FOLLOW_1);
iv_ruleRichStringLiteralInbetween=ruleRichStringLiteralInbetween();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleRichStringLiteralInbetween;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleRichStringLiteralInbetween"
// $ANTLR start "ruleRichStringLiteralInbetween"
// InternalSARL.g:10110:1: ruleRichStringLiteralInbetween returns [EObject current=null] : ( () ( ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) ) ) ) ;
public final EObject ruleRichStringLiteralInbetween() throws RecognitionException {
EObject current = null;
Token lv_value_1_0=null;
Token lv_value_2_0=null;
enterRule();
try {
// InternalSARL.g:10116:2: ( ( () ( ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) ) ) ) )
// InternalSARL.g:10117:2: ( () ( ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) ) ) )
{
// InternalSARL.g:10117:2: ( () ( ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) ) ) )
// InternalSARL.g:10118:3: () ( ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) ) )
{
// InternalSARL.g:10118:3: ()
// InternalSARL.g:10119:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getRichStringLiteralInbetweenAccess().getRichStringLiteralAction_0(),
current);
}
}
// InternalSARL.g:10125:3: ( ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) ) )
int alt263=2;
int LA263_0 = input.LA(1);
if ( (LA263_0==RULE_RICH_TEXT_INBETWEEN) ) {
alt263=1;
}
else if ( (LA263_0==RULE_COMMENT_RICH_TEXT_INBETWEEN) ) {
alt263=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 263, 0, input);
throw nvae;
}
switch (alt263) {
case 1 :
// InternalSARL.g:10126:4: ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) )
{
// InternalSARL.g:10126:4: ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) )
// InternalSARL.g:10127:5: (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN )
{
// InternalSARL.g:10127:5: (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN )
// InternalSARL.g:10128:6: lv_value_1_0= RULE_RICH_TEXT_INBETWEEN
{
lv_value_1_0=(Token)match(input,RULE_RICH_TEXT_INBETWEEN,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_value_1_0, grammarAccess.getRichStringLiteralInbetweenAccess().getValueRICH_TEXT_INBETWEENTerminalRuleCall_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getRichStringLiteralInbetweenRule());
}
setWithLastConsumed(
current,
"value",
lv_value_1_0,
"org.eclipse.xtend.core.Xtend.RICH_TEXT_INBETWEEN");
}
}
}
}
break;
case 2 :
// InternalSARL.g:10145:4: ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) )
{
// InternalSARL.g:10145:4: ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) )
// InternalSARL.g:10146:5: (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN )
{
// InternalSARL.g:10146:5: (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN )
// InternalSARL.g:10147:6: lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN
{
lv_value_2_0=(Token)match(input,RULE_COMMENT_RICH_TEXT_INBETWEEN,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_value_2_0, grammarAccess.getRichStringLiteralInbetweenAccess().getValueCOMMENT_RICH_TEXT_INBETWEENTerminalRuleCall_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getRichStringLiteralInbetweenRule());
}
setWithLastConsumed(
current,
"value",
lv_value_2_0,
"org.eclipse.xtend.core.Xtend.COMMENT_RICH_TEXT_INBETWEEN");
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleRichStringLiteralInbetween"
// $ANTLR start "entryRuleRichStringLiteralEnd"
// InternalSARL.g:10168:1: entryRuleRichStringLiteralEnd returns [EObject current=null] : iv_ruleRichStringLiteralEnd= ruleRichStringLiteralEnd EOF ;
public final EObject entryRuleRichStringLiteralEnd() throws RecognitionException {
EObject current = null;
EObject iv_ruleRichStringLiteralEnd = null;
try {
// InternalSARL.g:10168:61: (iv_ruleRichStringLiteralEnd= ruleRichStringLiteralEnd EOF )
// InternalSARL.g:10169:2: iv_ruleRichStringLiteralEnd= ruleRichStringLiteralEnd EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringLiteralEndRule());
}
pushFollow(FOLLOW_1);
iv_ruleRichStringLiteralEnd=ruleRichStringLiteralEnd();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleRichStringLiteralEnd;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleRichStringLiteralEnd"
// $ANTLR start "ruleRichStringLiteralEnd"
// InternalSARL.g:10175:1: ruleRichStringLiteralEnd returns [EObject current=null] : ( () ( ( (lv_value_1_0= RULE_RICH_TEXT_END ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END ) ) ) ) ;
public final EObject ruleRichStringLiteralEnd() throws RecognitionException {
EObject current = null;
Token lv_value_1_0=null;
Token lv_value_2_0=null;
enterRule();
try {
// InternalSARL.g:10181:2: ( ( () ( ( (lv_value_1_0= RULE_RICH_TEXT_END ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END ) ) ) ) )
// InternalSARL.g:10182:2: ( () ( ( (lv_value_1_0= RULE_RICH_TEXT_END ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END ) ) ) )
{
// InternalSARL.g:10182:2: ( () ( ( (lv_value_1_0= RULE_RICH_TEXT_END ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END ) ) ) )
// InternalSARL.g:10183:3: () ( ( (lv_value_1_0= RULE_RICH_TEXT_END ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END ) ) )
{
// InternalSARL.g:10183:3: ()
// InternalSARL.g:10184:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getRichStringLiteralEndAccess().getRichStringLiteralAction_0(),
current);
}
}
// InternalSARL.g:10190:3: ( ( (lv_value_1_0= RULE_RICH_TEXT_END ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END ) ) )
int alt264=2;
int LA264_0 = input.LA(1);
if ( (LA264_0==RULE_RICH_TEXT_END) ) {
alt264=1;
}
else if ( (LA264_0==RULE_COMMENT_RICH_TEXT_END) ) {
alt264=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 264, 0, input);
throw nvae;
}
switch (alt264) {
case 1 :
// InternalSARL.g:10191:4: ( (lv_value_1_0= RULE_RICH_TEXT_END ) )
{
// InternalSARL.g:10191:4: ( (lv_value_1_0= RULE_RICH_TEXT_END ) )
// InternalSARL.g:10192:5: (lv_value_1_0= RULE_RICH_TEXT_END )
{
// InternalSARL.g:10192:5: (lv_value_1_0= RULE_RICH_TEXT_END )
// InternalSARL.g:10193:6: lv_value_1_0= RULE_RICH_TEXT_END
{
lv_value_1_0=(Token)match(input,RULE_RICH_TEXT_END,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_value_1_0, grammarAccess.getRichStringLiteralEndAccess().getValueRICH_TEXT_ENDTerminalRuleCall_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getRichStringLiteralEndRule());
}
setWithLastConsumed(
current,
"value",
lv_value_1_0,
"org.eclipse.xtend.core.Xtend.RICH_TEXT_END");
}
}
}
}
break;
case 2 :
// InternalSARL.g:10210:4: ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END ) )
{
// InternalSARL.g:10210:4: ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END ) )
// InternalSARL.g:10211:5: (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END )
{
// InternalSARL.g:10211:5: (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END )
// InternalSARL.g:10212:6: lv_value_2_0= RULE_COMMENT_RICH_TEXT_END
{
lv_value_2_0=(Token)match(input,RULE_COMMENT_RICH_TEXT_END,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_value_2_0, grammarAccess.getRichStringLiteralEndAccess().getValueCOMMENT_RICH_TEXT_ENDTerminalRuleCall_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getRichStringLiteralEndRule());
}
setWithLastConsumed(
current,
"value",
lv_value_2_0,
"org.eclipse.xtend.core.Xtend.COMMENT_RICH_TEXT_END");
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleRichStringLiteralEnd"
// $ANTLR start "entryRuleInternalRichString"
// InternalSARL.g:10233:1: entryRuleInternalRichString returns [EObject current=null] : iv_ruleInternalRichString= ruleInternalRichString EOF ;
public final EObject entryRuleInternalRichString() throws RecognitionException {
EObject current = null;
EObject iv_ruleInternalRichString = null;
try {
// InternalSARL.g:10233:59: (iv_ruleInternalRichString= ruleInternalRichString EOF )
// InternalSARL.g:10234:2: iv_ruleInternalRichString= ruleInternalRichString EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInternalRichStringRule());
}
pushFollow(FOLLOW_1);
iv_ruleInternalRichString=ruleInternalRichString();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleInternalRichString;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleInternalRichString"
// $ANTLR start "ruleInternalRichString"
// InternalSARL.g:10240:1: ruleInternalRichString returns [EObject current=null] : ( () ( ( (lv_expressions_1_0= ruleRichStringLiteralInbetween ) ) ( ( (lv_expressions_2_0= ruleRichStringPart ) )? ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) )* ) ) ;
public final EObject ruleInternalRichString() throws RecognitionException {
EObject current = null;
EObject lv_expressions_1_0 = null;
EObject lv_expressions_2_0 = null;
EObject lv_expressions_3_0 = null;
enterRule();
try {
// InternalSARL.g:10246:2: ( ( () ( ( (lv_expressions_1_0= ruleRichStringLiteralInbetween ) ) ( ( (lv_expressions_2_0= ruleRichStringPart ) )? ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) )* ) ) )
// InternalSARL.g:10247:2: ( () ( ( (lv_expressions_1_0= ruleRichStringLiteralInbetween ) ) ( ( (lv_expressions_2_0= ruleRichStringPart ) )? ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) )* ) )
{
// InternalSARL.g:10247:2: ( () ( ( (lv_expressions_1_0= ruleRichStringLiteralInbetween ) ) ( ( (lv_expressions_2_0= ruleRichStringPart ) )? ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) )* ) )
// InternalSARL.g:10248:3: () ( ( (lv_expressions_1_0= ruleRichStringLiteralInbetween ) ) ( ( (lv_expressions_2_0= ruleRichStringPart ) )? ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) )* )
{
// InternalSARL.g:10248:3: ()
// InternalSARL.g:10249:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getInternalRichStringAccess().getRichStringAction_0(),
current);
}
}
// InternalSARL.g:10255:3: ( ( (lv_expressions_1_0= ruleRichStringLiteralInbetween ) ) ( ( (lv_expressions_2_0= ruleRichStringPart ) )? ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) )* )
// InternalSARL.g:10256:4: ( (lv_expressions_1_0= ruleRichStringLiteralInbetween ) ) ( ( (lv_expressions_2_0= ruleRichStringPart ) )? ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) )*
{
// InternalSARL.g:10256:4: ( (lv_expressions_1_0= ruleRichStringLiteralInbetween ) )
// InternalSARL.g:10257:5: (lv_expressions_1_0= ruleRichStringLiteralInbetween )
{
// InternalSARL.g:10257:5: (lv_expressions_1_0= ruleRichStringLiteralInbetween )
// InternalSARL.g:10258:6: lv_expressions_1_0= ruleRichStringLiteralInbetween
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInternalRichStringAccess().getExpressionsRichStringLiteralInbetweenParserRuleCall_1_0_0());
}
pushFollow(FOLLOW_95);
lv_expressions_1_0=ruleRichStringLiteralInbetween();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getInternalRichStringRule());
}
add(
current,
"expressions",
lv_expressions_1_0,
"org.eclipse.xtend.core.Xtend.RichStringLiteralInbetween");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:10275:4: ( ( (lv_expressions_2_0= ruleRichStringPart ) )? ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) )*
loop266:
do {
int alt266=2;
int LA266_0 = input.LA(1);
if ( ((LA266_0>=RULE_ID && LA266_0<=RULE_COMMENT_RICH_TEXT_INBETWEEN)||(LA266_0>=RULE_HEX && LA266_0<=RULE_DECIMAL)||LA266_0==25||(LA266_0>=28 && LA266_0<=29)||LA266_0==36||(LA266_0>=39 && LA266_0<=40)||(LA266_0>=42 && LA266_0<=45)||(LA266_0>=48 && LA266_0<=49)||LA266_0==51||LA266_0==55||(LA266_0>=60 && LA266_0<=63)||LA266_0==65||(LA266_0>=69 && LA266_0<=88)||LA266_0==90||LA266_0==95||(LA266_0>=114 && LA266_0<=115)||LA266_0==119||LA266_0==125||(LA266_0>=128 && LA266_0<=137)) ) {
alt266=1;
}
switch (alt266) {
case 1 :
// InternalSARL.g:10276:5: ( (lv_expressions_2_0= ruleRichStringPart ) )? ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) )
{
// InternalSARL.g:10276:5: ( (lv_expressions_2_0= ruleRichStringPart ) )?
int alt265=2;
int LA265_0 = input.LA(1);
if ( ((LA265_0>=RULE_ID && LA265_0<=RULE_RICH_TEXT_START)||(LA265_0>=RULE_HEX && LA265_0<=RULE_DECIMAL)||LA265_0==25||(LA265_0>=28 && LA265_0<=29)||LA265_0==36||(LA265_0>=39 && LA265_0<=40)||(LA265_0>=42 && LA265_0<=45)||(LA265_0>=48 && LA265_0<=49)||LA265_0==51||LA265_0==55||(LA265_0>=60 && LA265_0<=63)||LA265_0==65||(LA265_0>=69 && LA265_0<=88)||LA265_0==90||LA265_0==95||(LA265_0>=114 && LA265_0<=115)||LA265_0==119||LA265_0==125||(LA265_0>=128 && LA265_0<=137)) ) {
alt265=1;
}
switch (alt265) {
case 1 :
// InternalSARL.g:10277:6: (lv_expressions_2_0= ruleRichStringPart )
{
// InternalSARL.g:10277:6: (lv_expressions_2_0= ruleRichStringPart )
// InternalSARL.g:10278:7: lv_expressions_2_0= ruleRichStringPart
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInternalRichStringAccess().getExpressionsRichStringPartParserRuleCall_1_1_0_0());
}
pushFollow(FOLLOW_96);
lv_expressions_2_0=ruleRichStringPart();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getInternalRichStringRule());
}
add(
current,
"expressions",
lv_expressions_2_0,
"org.eclipse.xtend.core.Xtend.RichStringPart");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalSARL.g:10295:5: ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) )
// InternalSARL.g:10296:6: (lv_expressions_3_0= ruleRichStringLiteralInbetween )
{
// InternalSARL.g:10296:6: (lv_expressions_3_0= ruleRichStringLiteralInbetween )
// InternalSARL.g:10297:7: lv_expressions_3_0= ruleRichStringLiteralInbetween
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInternalRichStringAccess().getExpressionsRichStringLiteralInbetweenParserRuleCall_1_1_1_0());
}
pushFollow(FOLLOW_95);
lv_expressions_3_0=ruleRichStringLiteralInbetween();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getInternalRichStringRule());
}
add(
current,
"expressions",
lv_expressions_3_0,
"org.eclipse.xtend.core.Xtend.RichStringLiteralInbetween");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop266;
}
} while (true);
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleInternalRichString"
// $ANTLR start "entryRuleRichStringPart"
// InternalSARL.g:10320:1: entryRuleRichStringPart returns [EObject current=null] : iv_ruleRichStringPart= ruleRichStringPart EOF ;
public final EObject entryRuleRichStringPart() throws RecognitionException {
EObject current = null;
EObject iv_ruleRichStringPart = null;
try {
// InternalSARL.g:10320:55: (iv_ruleRichStringPart= ruleRichStringPart EOF )
// InternalSARL.g:10321:2: iv_ruleRichStringPart= ruleRichStringPart EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringPartRule());
}
pushFollow(FOLLOW_1);
iv_ruleRichStringPart=ruleRichStringPart();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleRichStringPart;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleRichStringPart"
// $ANTLR start "ruleRichStringPart"
// InternalSARL.g:10327:1: ruleRichStringPart returns [EObject current=null] : (this_XExpressionOrVarDeclaration_0= ruleXExpressionOrVarDeclaration | this_RichStringForLoop_1= ruleRichStringForLoop | this_RichStringIf_2= ruleRichStringIf ) ;
public final EObject ruleRichStringPart() throws RecognitionException {
EObject current = null;
EObject this_XExpressionOrVarDeclaration_0 = null;
EObject this_RichStringForLoop_1 = null;
EObject this_RichStringIf_2 = null;
enterRule();
try {
// InternalSARL.g:10333:2: ( (this_XExpressionOrVarDeclaration_0= ruleXExpressionOrVarDeclaration | this_RichStringForLoop_1= ruleRichStringForLoop | this_RichStringIf_2= ruleRichStringIf ) )
// InternalSARL.g:10334:2: (this_XExpressionOrVarDeclaration_0= ruleXExpressionOrVarDeclaration | this_RichStringForLoop_1= ruleRichStringForLoop | this_RichStringIf_2= ruleRichStringIf )
{
// InternalSARL.g:10334:2: (this_XExpressionOrVarDeclaration_0= ruleXExpressionOrVarDeclaration | this_RichStringForLoop_1= ruleRichStringForLoop | this_RichStringIf_2= ruleRichStringIf )
int alt267=3;
switch ( input.LA(1) ) {
case RULE_ID:
case RULE_STRING:
case RULE_RICH_TEXT:
case RULE_RICH_TEXT_START:
case RULE_HEX:
case RULE_INT:
case RULE_DECIMAL:
case 25:
case 28:
case 29:
case 36:
case 39:
case 40:
case 42:
case 43:
case 44:
case 45:
case 48:
case 49:
case 51:
case 55:
case 60:
case 61:
case 62:
case 63:
case 65:
case 69:
case 70:
case 71:
case 72:
case 73:
case 74:
case 75:
case 76:
case 77:
case 78:
case 79:
case 80:
case 81:
case 82:
case 83:
case 84:
case 85:
case 86:
case 87:
case 95:
case 114:
case 115:
case 119:
case 125:
case 128:
case 129:
case 130:
case 131:
case 132:
case 133:
case 134:
case 135:
case 136:
case 137:
{
alt267=1;
}
break;
case 88:
{
alt267=2;
}
break;
case 90:
{
alt267=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 267, 0, input);
throw nvae;
}
switch (alt267) {
case 1 :
// InternalSARL.g:10335:3: this_XExpressionOrVarDeclaration_0= ruleXExpressionOrVarDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringPartAccess().getXExpressionOrVarDeclarationParserRuleCall_0());
}
pushFollow(FOLLOW_2);
this_XExpressionOrVarDeclaration_0=ruleXExpressionOrVarDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XExpressionOrVarDeclaration_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalSARL.g:10344:3: this_RichStringForLoop_1= ruleRichStringForLoop
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringPartAccess().getRichStringForLoopParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_RichStringForLoop_1=ruleRichStringForLoop();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_RichStringForLoop_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalSARL.g:10353:3: this_RichStringIf_2= ruleRichStringIf
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringPartAccess().getRichStringIfParserRuleCall_2());
}
pushFollow(FOLLOW_2);
this_RichStringIf_2=ruleRichStringIf();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_RichStringIf_2;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleRichStringPart"
// $ANTLR start "entryRuleRichStringForLoop"
// InternalSARL.g:10365:1: entryRuleRichStringForLoop returns [EObject current=null] : iv_ruleRichStringForLoop= ruleRichStringForLoop EOF ;
public final EObject entryRuleRichStringForLoop() throws RecognitionException {
EObject current = null;
EObject iv_ruleRichStringForLoop = null;
try {
// InternalSARL.g:10365:58: (iv_ruleRichStringForLoop= ruleRichStringForLoop EOF )
// InternalSARL.g:10366:2: iv_ruleRichStringForLoop= ruleRichStringForLoop EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringForLoopRule());
}
pushFollow(FOLLOW_1);
iv_ruleRichStringForLoop=ruleRichStringForLoop();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleRichStringForLoop;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleRichStringForLoop"
// $ANTLR start "ruleRichStringForLoop"
// InternalSARL.g:10372:1: ruleRichStringForLoop returns [EObject current=null] : ( () otherlv_1= 'FOR' ( (lv_declaredParam_2_0= ruleJvmFormalParameter ) ) otherlv_3= ':' ( (lv_forExpression_4_0= ruleXExpression ) ) (otherlv_5= 'BEFORE' ( (lv_before_6_0= ruleXExpression ) ) )? (otherlv_7= 'SEPARATOR' ( (lv_separator_8_0= ruleXExpression ) ) )? (otherlv_9= 'AFTER' ( (lv_after_10_0= ruleXExpression ) ) )? ( (lv_eachExpression_11_0= ruleInternalRichString ) ) otherlv_12= 'ENDFOR' ) ;
public final EObject ruleRichStringForLoop() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_9=null;
Token otherlv_12=null;
EObject lv_declaredParam_2_0 = null;
EObject lv_forExpression_4_0 = null;
EObject lv_before_6_0 = null;
EObject lv_separator_8_0 = null;
EObject lv_after_10_0 = null;
EObject lv_eachExpression_11_0 = null;
enterRule();
try {
// InternalSARL.g:10378:2: ( ( () otherlv_1= 'FOR' ( (lv_declaredParam_2_0= ruleJvmFormalParameter ) ) otherlv_3= ':' ( (lv_forExpression_4_0= ruleXExpression ) ) (otherlv_5= 'BEFORE' ( (lv_before_6_0= ruleXExpression ) ) )? (otherlv_7= 'SEPARATOR' ( (lv_separator_8_0= ruleXExpression ) ) )? (otherlv_9= 'AFTER' ( (lv_after_10_0= ruleXExpression ) ) )? ( (lv_eachExpression_11_0= ruleInternalRichString ) ) otherlv_12= 'ENDFOR' ) )
// InternalSARL.g:10379:2: ( () otherlv_1= 'FOR' ( (lv_declaredParam_2_0= ruleJvmFormalParameter ) ) otherlv_3= ':' ( (lv_forExpression_4_0= ruleXExpression ) ) (otherlv_5= 'BEFORE' ( (lv_before_6_0= ruleXExpression ) ) )? (otherlv_7= 'SEPARATOR' ( (lv_separator_8_0= ruleXExpression ) ) )? (otherlv_9= 'AFTER' ( (lv_after_10_0= ruleXExpression ) ) )? ( (lv_eachExpression_11_0= ruleInternalRichString ) ) otherlv_12= 'ENDFOR' )
{
// InternalSARL.g:10379:2: ( () otherlv_1= 'FOR' ( (lv_declaredParam_2_0= ruleJvmFormalParameter ) ) otherlv_3= ':' ( (lv_forExpression_4_0= ruleXExpression ) ) (otherlv_5= 'BEFORE' ( (lv_before_6_0= ruleXExpression ) ) )? (otherlv_7= 'SEPARATOR' ( (lv_separator_8_0= ruleXExpression ) ) )? (otherlv_9= 'AFTER' ( (lv_after_10_0= ruleXExpression ) ) )? ( (lv_eachExpression_11_0= ruleInternalRichString ) ) otherlv_12= 'ENDFOR' )
// InternalSARL.g:10380:3: () otherlv_1= 'FOR' ( (lv_declaredParam_2_0= ruleJvmFormalParameter ) ) otherlv_3= ':' ( (lv_forExpression_4_0= ruleXExpression ) ) (otherlv_5= 'BEFORE' ( (lv_before_6_0= ruleXExpression ) ) )? (otherlv_7= 'SEPARATOR' ( (lv_separator_8_0= ruleXExpression ) ) )? (otherlv_9= 'AFTER' ( (lv_after_10_0= ruleXExpression ) ) )? ( (lv_eachExpression_11_0= ruleInternalRichString ) ) otherlv_12= 'ENDFOR'
{
// InternalSARL.g:10380:3: ()
// InternalSARL.g:10381:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getRichStringForLoopAccess().getRichStringForLoopAction_0(),
current);
}
}
otherlv_1=(Token)match(input,88,FOLLOW_72); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getRichStringForLoopAccess().getFORKeyword_1());
}
// InternalSARL.g:10391:3: ( (lv_declaredParam_2_0= ruleJvmFormalParameter ) )
// InternalSARL.g:10392:4: (lv_declaredParam_2_0= ruleJvmFormalParameter )
{
// InternalSARL.g:10392:4: (lv_declaredParam_2_0= ruleJvmFormalParameter )
// InternalSARL.g:10393:5: lv_declaredParam_2_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringForLoopAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0());
}
pushFollow(FOLLOW_40);
lv_declaredParam_2_0=ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRichStringForLoopRule());
}
set(
current,
"declaredParam",
lv_declaredParam_2_0,
"io.sarl.lang.SARL.JvmFormalParameter");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,46,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getRichStringForLoopAccess().getColonKeyword_3());
}
// InternalSARL.g:10414:3: ( (lv_forExpression_4_0= ruleXExpression ) )
// InternalSARL.g:10415:4: (lv_forExpression_4_0= ruleXExpression )
{
// InternalSARL.g:10415:4: (lv_forExpression_4_0= ruleXExpression )
// InternalSARL.g:10416:5: lv_forExpression_4_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringForLoopAccess().getForExpressionXExpressionParserRuleCall_4_0());
}
pushFollow(FOLLOW_97);
lv_forExpression_4_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRichStringForLoopRule());
}
set(
current,
"forExpression",
lv_forExpression_4_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:10433:3: (otherlv_5= 'BEFORE' ( (lv_before_6_0= ruleXExpression ) ) )?
int alt268=2;
int LA268_0 = input.LA(1);
if ( (LA268_0==85) ) {
alt268=1;
}
switch (alt268) {
case 1 :
// InternalSARL.g:10434:4: otherlv_5= 'BEFORE' ( (lv_before_6_0= ruleXExpression ) )
{
otherlv_5=(Token)match(input,85,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getRichStringForLoopAccess().getBEFOREKeyword_5_0());
}
// InternalSARL.g:10438:4: ( (lv_before_6_0= ruleXExpression ) )
// InternalSARL.g:10439:5: (lv_before_6_0= ruleXExpression )
{
// InternalSARL.g:10439:5: (lv_before_6_0= ruleXExpression )
// InternalSARL.g:10440:6: lv_before_6_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringForLoopAccess().getBeforeXExpressionParserRuleCall_5_1_0());
}
pushFollow(FOLLOW_97);
lv_before_6_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRichStringForLoopRule());
}
set(
current,
"before",
lv_before_6_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalSARL.g:10458:3: (otherlv_7= 'SEPARATOR' ( (lv_separator_8_0= ruleXExpression ) ) )?
int alt269=2;
int LA269_0 = input.LA(1);
if ( (LA269_0==86) ) {
alt269=1;
}
switch (alt269) {
case 1 :
// InternalSARL.g:10459:4: otherlv_7= 'SEPARATOR' ( (lv_separator_8_0= ruleXExpression ) )
{
otherlv_7=(Token)match(input,86,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getRichStringForLoopAccess().getSEPARATORKeyword_6_0());
}
// InternalSARL.g:10463:4: ( (lv_separator_8_0= ruleXExpression ) )
// InternalSARL.g:10464:5: (lv_separator_8_0= ruleXExpression )
{
// InternalSARL.g:10464:5: (lv_separator_8_0= ruleXExpression )
// InternalSARL.g:10465:6: lv_separator_8_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringForLoopAccess().getSeparatorXExpressionParserRuleCall_6_1_0());
}
pushFollow(FOLLOW_97);
lv_separator_8_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRichStringForLoopRule());
}
set(
current,
"separator",
lv_separator_8_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalSARL.g:10483:3: (otherlv_9= 'AFTER' ( (lv_after_10_0= ruleXExpression ) ) )?
int alt270=2;
int LA270_0 = input.LA(1);
if ( (LA270_0==84) ) {
alt270=1;
}
switch (alt270) {
case 1 :
// InternalSARL.g:10484:4: otherlv_9= 'AFTER' ( (lv_after_10_0= ruleXExpression ) )
{
otherlv_9=(Token)match(input,84,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getRichStringForLoopAccess().getAFTERKeyword_7_0());
}
// InternalSARL.g:10488:4: ( (lv_after_10_0= ruleXExpression ) )
// InternalSARL.g:10489:5: (lv_after_10_0= ruleXExpression )
{
// InternalSARL.g:10489:5: (lv_after_10_0= ruleXExpression )
// InternalSARL.g:10490:6: lv_after_10_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringForLoopAccess().getAfterXExpressionParserRuleCall_7_1_0());
}
pushFollow(FOLLOW_97);
lv_after_10_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRichStringForLoopRule());
}
set(
current,
"after",
lv_after_10_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalSARL.g:10508:3: ( (lv_eachExpression_11_0= ruleInternalRichString ) )
// InternalSARL.g:10509:4: (lv_eachExpression_11_0= ruleInternalRichString )
{
// InternalSARL.g:10509:4: (lv_eachExpression_11_0= ruleInternalRichString )
// InternalSARL.g:10510:5: lv_eachExpression_11_0= ruleInternalRichString
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringForLoopAccess().getEachExpressionInternalRichStringParserRuleCall_8_0());
}
pushFollow(FOLLOW_98);
lv_eachExpression_11_0=ruleInternalRichString();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRichStringForLoopRule());
}
set(
current,
"eachExpression",
lv_eachExpression_11_0,
"org.eclipse.xtend.core.Xtend.InternalRichString");
afterParserOrEnumRuleCall();
}
}
}
otherlv_12=(Token)match(input,89,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getRichStringForLoopAccess().getENDFORKeyword_9());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleRichStringForLoop"
// $ANTLR start "entryRuleRichStringIf"
// InternalSARL.g:10535:1: entryRuleRichStringIf returns [EObject current=null] : iv_ruleRichStringIf= ruleRichStringIf EOF ;
public final EObject entryRuleRichStringIf() throws RecognitionException {
EObject current = null;
EObject iv_ruleRichStringIf = null;
try {
// InternalSARL.g:10535:53: (iv_ruleRichStringIf= ruleRichStringIf EOF )
// InternalSARL.g:10536:2: iv_ruleRichStringIf= ruleRichStringIf EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringIfRule());
}
pushFollow(FOLLOW_1);
iv_ruleRichStringIf=ruleRichStringIf();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleRichStringIf;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleRichStringIf"
// $ANTLR start "ruleRichStringIf"
// InternalSARL.g:10542:1: ruleRichStringIf returns [EObject current=null] : ( () otherlv_1= 'IF' ( (lv_if_2_0= ruleXExpression ) ) ( (lv_then_3_0= ruleInternalRichString ) ) ( (lv_elseIfs_4_0= ruleRichStringElseIf ) )* (otherlv_5= 'ELSE' ( (lv_else_6_0= ruleInternalRichString ) ) )? otherlv_7= 'ENDIF' ) ;
public final EObject ruleRichStringIf() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_5=null;
Token otherlv_7=null;
EObject lv_if_2_0 = null;
EObject lv_then_3_0 = null;
EObject lv_elseIfs_4_0 = null;
EObject lv_else_6_0 = null;
enterRule();
try {
// InternalSARL.g:10548:2: ( ( () otherlv_1= 'IF' ( (lv_if_2_0= ruleXExpression ) ) ( (lv_then_3_0= ruleInternalRichString ) ) ( (lv_elseIfs_4_0= ruleRichStringElseIf ) )* (otherlv_5= 'ELSE' ( (lv_else_6_0= ruleInternalRichString ) ) )? otherlv_7= 'ENDIF' ) )
// InternalSARL.g:10549:2: ( () otherlv_1= 'IF' ( (lv_if_2_0= ruleXExpression ) ) ( (lv_then_3_0= ruleInternalRichString ) ) ( (lv_elseIfs_4_0= ruleRichStringElseIf ) )* (otherlv_5= 'ELSE' ( (lv_else_6_0= ruleInternalRichString ) ) )? otherlv_7= 'ENDIF' )
{
// InternalSARL.g:10549:2: ( () otherlv_1= 'IF' ( (lv_if_2_0= ruleXExpression ) ) ( (lv_then_3_0= ruleInternalRichString ) ) ( (lv_elseIfs_4_0= ruleRichStringElseIf ) )* (otherlv_5= 'ELSE' ( (lv_else_6_0= ruleInternalRichString ) ) )? otherlv_7= 'ENDIF' )
// InternalSARL.g:10550:3: () otherlv_1= 'IF' ( (lv_if_2_0= ruleXExpression ) ) ( (lv_then_3_0= ruleInternalRichString ) ) ( (lv_elseIfs_4_0= ruleRichStringElseIf ) )* (otherlv_5= 'ELSE' ( (lv_else_6_0= ruleInternalRichString ) ) )? otherlv_7= 'ENDIF'
{
// InternalSARL.g:10550:3: ()
// InternalSARL.g:10551:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getRichStringIfAccess().getRichStringIfAction_0(),
current);
}
}
otherlv_1=(Token)match(input,90,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getRichStringIfAccess().getIFKeyword_1());
}
// InternalSARL.g:10561:3: ( (lv_if_2_0= ruleXExpression ) )
// InternalSARL.g:10562:4: (lv_if_2_0= ruleXExpression )
{
// InternalSARL.g:10562:4: (lv_if_2_0= ruleXExpression )
// InternalSARL.g:10563:5: lv_if_2_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringIfAccess().getIfXExpressionParserRuleCall_2_0());
}
pushFollow(FOLLOW_97);
lv_if_2_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRichStringIfRule());
}
set(
current,
"if",
lv_if_2_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:10580:3: ( (lv_then_3_0= ruleInternalRichString ) )
// InternalSARL.g:10581:4: (lv_then_3_0= ruleInternalRichString )
{
// InternalSARL.g:10581:4: (lv_then_3_0= ruleInternalRichString )
// InternalSARL.g:10582:5: lv_then_3_0= ruleInternalRichString
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringIfAccess().getThenInternalRichStringParserRuleCall_3_0());
}
pushFollow(FOLLOW_99);
lv_then_3_0=ruleInternalRichString();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRichStringIfRule());
}
set(
current,
"then",
lv_then_3_0,
"org.eclipse.xtend.core.Xtend.InternalRichString");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:10599:3: ( (lv_elseIfs_4_0= ruleRichStringElseIf ) )*
loop271:
do {
int alt271=2;
int LA271_0 = input.LA(1);
if ( (LA271_0==93) ) {
alt271=1;
}
switch (alt271) {
case 1 :
// InternalSARL.g:10600:4: (lv_elseIfs_4_0= ruleRichStringElseIf )
{
// InternalSARL.g:10600:4: (lv_elseIfs_4_0= ruleRichStringElseIf )
// InternalSARL.g:10601:5: lv_elseIfs_4_0= ruleRichStringElseIf
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringIfAccess().getElseIfsRichStringElseIfParserRuleCall_4_0());
}
pushFollow(FOLLOW_99);
lv_elseIfs_4_0=ruleRichStringElseIf();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRichStringIfRule());
}
add(
current,
"elseIfs",
lv_elseIfs_4_0,
"org.eclipse.xtend.core.Xtend.RichStringElseIf");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop271;
}
} while (true);
// InternalSARL.g:10618:3: (otherlv_5= 'ELSE' ( (lv_else_6_0= ruleInternalRichString ) ) )?
int alt272=2;
int LA272_0 = input.LA(1);
if ( (LA272_0==91) ) {
alt272=1;
}
switch (alt272) {
case 1 :
// InternalSARL.g:10619:4: otherlv_5= 'ELSE' ( (lv_else_6_0= ruleInternalRichString ) )
{
otherlv_5=(Token)match(input,91,FOLLOW_97); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getRichStringIfAccess().getELSEKeyword_5_0());
}
// InternalSARL.g:10623:4: ( (lv_else_6_0= ruleInternalRichString ) )
// InternalSARL.g:10624:5: (lv_else_6_0= ruleInternalRichString )
{
// InternalSARL.g:10624:5: (lv_else_6_0= ruleInternalRichString )
// InternalSARL.g:10625:6: lv_else_6_0= ruleInternalRichString
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringIfAccess().getElseInternalRichStringParserRuleCall_5_1_0());
}
pushFollow(FOLLOW_100);
lv_else_6_0=ruleInternalRichString();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRichStringIfRule());
}
set(
current,
"else",
lv_else_6_0,
"org.eclipse.xtend.core.Xtend.InternalRichString");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_7=(Token)match(input,92,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getRichStringIfAccess().getENDIFKeyword_6());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleRichStringIf"
// $ANTLR start "entryRuleRichStringElseIf"
// InternalSARL.g:10651:1: entryRuleRichStringElseIf returns [EObject current=null] : iv_ruleRichStringElseIf= ruleRichStringElseIf EOF ;
public final EObject entryRuleRichStringElseIf() throws RecognitionException {
EObject current = null;
EObject iv_ruleRichStringElseIf = null;
try {
// InternalSARL.g:10651:57: (iv_ruleRichStringElseIf= ruleRichStringElseIf EOF )
// InternalSARL.g:10652:2: iv_ruleRichStringElseIf= ruleRichStringElseIf EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringElseIfRule());
}
pushFollow(FOLLOW_1);
iv_ruleRichStringElseIf=ruleRichStringElseIf();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleRichStringElseIf;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleRichStringElseIf"
// $ANTLR start "ruleRichStringElseIf"
// InternalSARL.g:10658:1: ruleRichStringElseIf returns [EObject current=null] : (otherlv_0= 'ELSEIF' ( (lv_if_1_0= ruleXExpression ) ) ( (lv_then_2_0= ruleInternalRichString ) ) ) ;
public final EObject ruleRichStringElseIf() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
EObject lv_if_1_0 = null;
EObject lv_then_2_0 = null;
enterRule();
try {
// InternalSARL.g:10664:2: ( (otherlv_0= 'ELSEIF' ( (lv_if_1_0= ruleXExpression ) ) ( (lv_then_2_0= ruleInternalRichString ) ) ) )
// InternalSARL.g:10665:2: (otherlv_0= 'ELSEIF' ( (lv_if_1_0= ruleXExpression ) ) ( (lv_then_2_0= ruleInternalRichString ) ) )
{
// InternalSARL.g:10665:2: (otherlv_0= 'ELSEIF' ( (lv_if_1_0= ruleXExpression ) ) ( (lv_then_2_0= ruleInternalRichString ) ) )
// InternalSARL.g:10666:3: otherlv_0= 'ELSEIF' ( (lv_if_1_0= ruleXExpression ) ) ( (lv_then_2_0= ruleInternalRichString ) )
{
otherlv_0=(Token)match(input,93,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getRichStringElseIfAccess().getELSEIFKeyword_0());
}
// InternalSARL.g:10670:3: ( (lv_if_1_0= ruleXExpression ) )
// InternalSARL.g:10671:4: (lv_if_1_0= ruleXExpression )
{
// InternalSARL.g:10671:4: (lv_if_1_0= ruleXExpression )
// InternalSARL.g:10672:5: lv_if_1_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringElseIfAccess().getIfXExpressionParserRuleCall_1_0());
}
pushFollow(FOLLOW_97);
lv_if_1_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRichStringElseIfRule());
}
set(
current,
"if",
lv_if_1_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:10689:3: ( (lv_then_2_0= ruleInternalRichString ) )
// InternalSARL.g:10690:4: (lv_then_2_0= ruleInternalRichString )
{
// InternalSARL.g:10690:4: (lv_then_2_0= ruleInternalRichString )
// InternalSARL.g:10691:5: lv_then_2_0= ruleInternalRichString
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRichStringElseIfAccess().getThenInternalRichStringParserRuleCall_2_0());
}
pushFollow(FOLLOW_2);
lv_then_2_0=ruleInternalRichString();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRichStringElseIfRule());
}
set(
current,
"then",
lv_then_2_0,
"org.eclipse.xtend.core.Xtend.InternalRichString");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleRichStringElseIf"
// $ANTLR start "entryRuleXAnnotation"
// InternalSARL.g:10712:1: entryRuleXAnnotation returns [EObject current=null] : iv_ruleXAnnotation= ruleXAnnotation EOF ;
public final EObject entryRuleXAnnotation() throws RecognitionException {
EObject current = null;
EObject iv_ruleXAnnotation = null;
try {
// InternalSARL.g:10712:52: (iv_ruleXAnnotation= ruleXAnnotation EOF )
// InternalSARL.g:10713:2: iv_ruleXAnnotation= ruleXAnnotation EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationRule());
}
pushFollow(FOLLOW_1);
iv_ruleXAnnotation=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXAnnotation;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXAnnotation"
// $ANTLR start "ruleXAnnotation"
// InternalSARL.g:10719:1: ruleXAnnotation returns [EObject current=null] : ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? ) ;
public final EObject ruleXAnnotation() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_8=null;
EObject lv_elementValuePairs_4_0 = null;
EObject lv_elementValuePairs_6_0 = null;
EObject lv_value_7_0 = null;
enterRule();
try {
// InternalSARL.g:10725:2: ( ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? ) )
// InternalSARL.g:10726:2: ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? )
{
// InternalSARL.g:10726:2: ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? )
// InternalSARL.g:10727:3: () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )?
{
// InternalSARL.g:10727:3: ()
// InternalSARL.g:10728:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXAnnotationAccess().getXAnnotationAction_0(),
current);
}
}
otherlv_1=(Token)match(input,94,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXAnnotationAccess().getCommercialAtKeyword_1());
}
// InternalSARL.g:10738:3: ( ( ruleQualifiedName ) )
// InternalSARL.g:10739:4: ( ruleQualifiedName )
{
// InternalSARL.g:10739:4: ( ruleQualifiedName )
// InternalSARL.g:10740:5: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAnnotationRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationAccess().getAnnotationTypeJvmAnnotationTypeCrossReference_2_0());
}
pushFollow(FOLLOW_101);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:10754:3: ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )?
int alt275=2;
int LA275_0 = input.LA(1);
if ( (LA275_0==49) && (synpred17_InternalSARL())) {
alt275=1;
}
switch (alt275) {
case 1 :
// InternalSARL.g:10755:4: ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')'
{
// InternalSARL.g:10755:4: ( ( '(' )=>otherlv_3= '(' )
// InternalSARL.g:10756:5: ( '(' )=>otherlv_3= '('
{
otherlv_3=(Token)match(input,49,FOLLOW_102); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_3_0());
}
}
// InternalSARL.g:10762:4: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )?
int alt274=3;
alt274 = dfa274.predict(input);
switch (alt274) {
case 1 :
// InternalSARL.g:10763:5: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* )
{
// InternalSARL.g:10763:5: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* )
// InternalSARL.g:10764:6: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )*
{
// InternalSARL.g:10764:6: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) )
// InternalSARL.g:10765:7: ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair )
{
// InternalSARL.g:10774:7: (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair )
// InternalSARL.g:10775:8: lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_0_0());
}
pushFollow(FOLLOW_51);
lv_elementValuePairs_4_0=ruleXAnnotationElementValuePair();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAnnotationRule());
}
add(
current,
"elementValuePairs",
lv_elementValuePairs_4_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationElementValuePair");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:10792:6: (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )*
loop273:
do {
int alt273=2;
int LA273_0 = input.LA(1);
if ( (LA273_0==32) ) {
alt273=1;
}
switch (alt273) {
case 1 :
// InternalSARL.g:10793:7: otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) )
{
otherlv_5=(Token)match(input,32,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getXAnnotationAccess().getCommaKeyword_3_1_0_1_0());
}
// InternalSARL.g:10797:7: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) )
// InternalSARL.g:10798:8: ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair )
{
// InternalSARL.g:10807:8: (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair )
// InternalSARL.g:10808:9: lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_1_1_0());
}
pushFollow(FOLLOW_51);
lv_elementValuePairs_6_0=ruleXAnnotationElementValuePair();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAnnotationRule());
}
add(
current,
"elementValuePairs",
lv_elementValuePairs_6_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationElementValuePair");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop273;
}
} while (true);
}
}
break;
case 2 :
// InternalSARL.g:10828:5: ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) )
{
// InternalSARL.g:10828:5: ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) )
// InternalSARL.g:10829:6: (lv_value_7_0= ruleXAnnotationElementValueOrCommaList )
{
// InternalSARL.g:10829:6: (lv_value_7_0= ruleXAnnotationElementValueOrCommaList )
// InternalSARL.g:10830:7: lv_value_7_0= ruleXAnnotationElementValueOrCommaList
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationAccess().getValueXAnnotationElementValueOrCommaListParserRuleCall_3_1_1_0());
}
pushFollow(FOLLOW_78);
lv_value_7_0=ruleXAnnotationElementValueOrCommaList();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAnnotationRule());
}
set(
current,
"value",
lv_value_7_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationElementValueOrCommaList");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_8=(Token)match(input,50,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXAnnotation"
// $ANTLR start "entryRuleXAnnotationElementValuePair"
// InternalSARL.g:10857:1: entryRuleXAnnotationElementValuePair returns [EObject current=null] : iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF ;
public final EObject entryRuleXAnnotationElementValuePair() throws RecognitionException {
EObject current = null;
EObject iv_ruleXAnnotationElementValuePair = null;
try {
// InternalSARL.g:10857:68: (iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF )
// InternalSARL.g:10858:2: iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationElementValuePairRule());
}
pushFollow(FOLLOW_1);
iv_ruleXAnnotationElementValuePair=ruleXAnnotationElementValuePair();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXAnnotationElementValuePair;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXAnnotationElementValuePair"
// $ANTLR start "ruleXAnnotationElementValuePair"
// InternalSARL.g:10864:1: ruleXAnnotationElementValuePair returns [EObject current=null] : ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) ) ;
public final EObject ruleXAnnotationElementValuePair() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_value_2_0 = null;
enterRule();
try {
// InternalSARL.g:10870:2: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) ) )
// InternalSARL.g:10871:2: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) )
{
// InternalSARL.g:10871:2: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) )
// InternalSARL.g:10872:3: ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) )
{
// InternalSARL.g:10872:3: ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) )
// InternalSARL.g:10873:4: ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' )
{
// InternalSARL.g:10882:4: ( ( ( ruleValidID ) ) otherlv_1= '=' )
// InternalSARL.g:10883:5: ( ( ruleValidID ) ) otherlv_1= '='
{
// InternalSARL.g:10883:5: ( ( ruleValidID ) )
// InternalSARL.g:10884:6: ( ruleValidID )
{
// InternalSARL.g:10884:6: ( ruleValidID )
// InternalSARL.g:10885:7: ruleValidID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAnnotationElementValuePairRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationElementValuePairAccess().getElementJvmOperationCrossReference_0_0_0_0());
}
pushFollow(FOLLOW_81);
ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
otherlv_1=(Token)match(input,47,FOLLOW_69); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValuePairAccess().getEqualsSignKeyword_0_0_1());
}
}
}
// InternalSARL.g:10905:3: ( (lv_value_2_0= ruleXAnnotationElementValue ) )
// InternalSARL.g:10906:4: (lv_value_2_0= ruleXAnnotationElementValue )
{
// InternalSARL.g:10906:4: (lv_value_2_0= ruleXAnnotationElementValue )
// InternalSARL.g:10907:5: lv_value_2_0= ruleXAnnotationElementValue
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationElementValuePairAccess().getValueXAnnotationElementValueParserRuleCall_1_0());
}
pushFollow(FOLLOW_2);
lv_value_2_0=ruleXAnnotationElementValue();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAnnotationElementValuePairRule());
}
set(
current,
"value",
lv_value_2_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationElementValue");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXAnnotationElementValuePair"
// $ANTLR start "entryRuleXAnnotationElementValueOrCommaList"
// InternalSARL.g:10928:1: entryRuleXAnnotationElementValueOrCommaList returns [EObject current=null] : iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF ;
public final EObject entryRuleXAnnotationElementValueOrCommaList() throws RecognitionException {
EObject current = null;
EObject iv_ruleXAnnotationElementValueOrCommaList = null;
try {
// InternalSARL.g:10928:75: (iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF )
// InternalSARL.g:10929:2: iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListRule());
}
pushFollow(FOLLOW_1);
iv_ruleXAnnotationElementValueOrCommaList=ruleXAnnotationElementValueOrCommaList();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXAnnotationElementValueOrCommaList;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXAnnotationElementValueOrCommaList"
// $ANTLR start "ruleXAnnotationElementValueOrCommaList"
// InternalSARL.g:10935:1: ruleXAnnotationElementValueOrCommaList returns [EObject current=null] : ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) ) ;
public final EObject ruleXAnnotationElementValueOrCommaList() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_9=null;
EObject lv_elements_3_0 = null;
EObject lv_elements_5_0 = null;
EObject this_XAnnotationOrExpression_7 = null;
EObject lv_elements_10_0 = null;
enterRule();
try {
// InternalSARL.g:10941:2: ( ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) ) )
// InternalSARL.g:10942:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) )
{
// InternalSARL.g:10942:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) )
int alt280=2;
alt280 = dfa280.predict(input);
switch (alt280) {
case 1 :
// InternalSARL.g:10943:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
{
// InternalSARL.g:10943:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
// InternalSARL.g:10944:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']'
{
// InternalSARL.g:10944:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) )
// InternalSARL.g:10945:5: ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' )
{
// InternalSARL.g:10952:5: ( () otherlv_1= '#' otherlv_2= '[' )
// InternalSARL.g:10953:6: () otherlv_1= '#' otherlv_2= '['
{
// InternalSARL.g:10953:6: ()
// InternalSARL.g:10954:7:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralAction_0_0_0_0(),
current);
}
}
otherlv_1=(Token)match(input,95,FOLLOW_86); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getNumberSignKeyword_0_0_0_1());
}
otherlv_2=(Token)match(input,55,FOLLOW_103); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getLeftSquareBracketKeyword_0_0_0_2());
}
}
}
// InternalSARL.g:10970:4: ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )?
int alt277=2;
int LA277_0 = input.LA(1);
if ( ((LA277_0>=RULE_ID && LA277_0<=RULE_RICH_TEXT_START)||(LA277_0>=RULE_HEX && LA277_0<=RULE_DECIMAL)||LA277_0==25||(LA277_0>=28 && LA277_0<=29)||LA277_0==36||(LA277_0>=39 && LA277_0<=40)||(LA277_0>=42 && LA277_0<=45)||(LA277_0>=48 && LA277_0<=49)||LA277_0==51||LA277_0==55||LA277_0==60||LA277_0==63||LA277_0==65||(LA277_0>=69 && LA277_0<=87)||(LA277_0>=94 && LA277_0<=95)||(LA277_0>=114 && LA277_0<=115)||LA277_0==119||LA277_0==125||(LA277_0>=128 && LA277_0<=137)) ) {
alt277=1;
}
switch (alt277) {
case 1 :
// InternalSARL.g:10971:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
{
// InternalSARL.g:10971:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) )
// InternalSARL.g:10972:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
{
// InternalSARL.g:10972:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
// InternalSARL.g:10973:7: lv_elements_3_0= ruleXAnnotationOrExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0());
}
pushFollow(FOLLOW_104);
lv_elements_3_0=ruleXAnnotationOrExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule());
}
add(
current,
"elements",
lv_elements_3_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:10990:5: (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
loop276:
do {
int alt276=2;
int LA276_0 = input.LA(1);
if ( (LA276_0==32) ) {
alt276=1;
}
switch (alt276) {
case 1 :
// InternalSARL.g:10991:6: otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
{
otherlv_4=(Token)match(input,32,FOLLOW_69); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_0_1_1_0());
}
// InternalSARL.g:10995:6: ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
// InternalSARL.g:10996:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
{
// InternalSARL.g:10996:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
// InternalSARL.g:10997:8: lv_elements_5_0= ruleXAnnotationOrExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0());
}
pushFollow(FOLLOW_104);
lv_elements_5_0=ruleXAnnotationOrExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule());
}
add(
current,
"elements",
lv_elements_5_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop276;
}
} while (true);
}
break;
}
otherlv_6=(Token)match(input,56,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getRightSquareBracketKeyword_0_2());
}
}
}
break;
case 2 :
// InternalSARL.g:11022:3: (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? )
{
// InternalSARL.g:11022:3: (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? )
// InternalSARL.g:11023:4: this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )?
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXAnnotationOrExpressionParserRuleCall_1_0());
}
pushFollow(FOLLOW_105);
this_XAnnotationOrExpression_7=ruleXAnnotationOrExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XAnnotationOrExpression_7;
afterParserOrEnumRuleCall();
}
// InternalSARL.g:11031:4: ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )?
int alt279=2;
int LA279_0 = input.LA(1);
if ( (LA279_0==32) ) {
alt279=1;
}
switch (alt279) {
case 1 :
// InternalSARL.g:11032:5: () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+
{
// InternalSARL.g:11032:5: ()
// InternalSARL.g:11033:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndAdd(
grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0(),
current);
}
}
// InternalSARL.g:11039:5: (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+
int cnt278=0;
loop278:
do {
int alt278=2;
int LA278_0 = input.LA(1);
if ( (LA278_0==32) ) {
alt278=1;
}
switch (alt278) {
case 1 :
// InternalSARL.g:11040:6: otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) )
{
otherlv_9=(Token)match(input,32,FOLLOW_69); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_1_1_1_0());
}
// InternalSARL.g:11044:6: ( (lv_elements_10_0= ruleXAnnotationOrExpression ) )
// InternalSARL.g:11045:7: (lv_elements_10_0= ruleXAnnotationOrExpression )
{
// InternalSARL.g:11045:7: (lv_elements_10_0= ruleXAnnotationOrExpression )
// InternalSARL.g:11046:8: lv_elements_10_0= ruleXAnnotationOrExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_1_1_1_1_0());
}
pushFollow(FOLLOW_105);
lv_elements_10_0=ruleXAnnotationOrExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule());
}
add(
current,
"elements",
lv_elements_10_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
if ( cnt278 >= 1 ) break loop278;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(278, input);
throw eee;
}
cnt278++;
} while (true);
}
break;
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXAnnotationElementValueOrCommaList"
// $ANTLR start "entryRuleXAnnotationElementValue"
// InternalSARL.g:11070:1: entryRuleXAnnotationElementValue returns [EObject current=null] : iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF ;
public final EObject entryRuleXAnnotationElementValue() throws RecognitionException {
EObject current = null;
EObject iv_ruleXAnnotationElementValue = null;
try {
// InternalSARL.g:11070:64: (iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF )
// InternalSARL.g:11071:2: iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationElementValueRule());
}
pushFollow(FOLLOW_1);
iv_ruleXAnnotationElementValue=ruleXAnnotationElementValue();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXAnnotationElementValue;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXAnnotationElementValue"
// $ANTLR start "ruleXAnnotationElementValue"
// InternalSARL.g:11077:1: ruleXAnnotationElementValue returns [EObject current=null] : ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ) ;
public final EObject ruleXAnnotationElementValue() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
EObject lv_elements_3_0 = null;
EObject lv_elements_5_0 = null;
EObject this_XAnnotationOrExpression_7 = null;
enterRule();
try {
// InternalSARL.g:11083:2: ( ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ) )
// InternalSARL.g:11084:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression )
{
// InternalSARL.g:11084:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression )
int alt283=2;
alt283 = dfa283.predict(input);
switch (alt283) {
case 1 :
// InternalSARL.g:11085:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
{
// InternalSARL.g:11085:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' )
// InternalSARL.g:11086:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']'
{
// InternalSARL.g:11086:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) )
// InternalSARL.g:11087:5: ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' )
{
// InternalSARL.g:11094:5: ( () otherlv_1= '#' otherlv_2= '[' )
// InternalSARL.g:11095:6: () otherlv_1= '#' otherlv_2= '['
{
// InternalSARL.g:11095:6: ()
// InternalSARL.g:11096:7:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXAnnotationElementValueAccess().getXListLiteralAction_0_0_0_0(),
current);
}
}
otherlv_1=(Token)match(input,95,FOLLOW_86); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValueAccess().getNumberSignKeyword_0_0_0_1());
}
otherlv_2=(Token)match(input,55,FOLLOW_103); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXAnnotationElementValueAccess().getLeftSquareBracketKeyword_0_0_0_2());
}
}
}
// InternalSARL.g:11112:4: ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )?
int alt282=2;
int LA282_0 = input.LA(1);
if ( ((LA282_0>=RULE_ID && LA282_0<=RULE_RICH_TEXT_START)||(LA282_0>=RULE_HEX && LA282_0<=RULE_DECIMAL)||LA282_0==25||(LA282_0>=28 && LA282_0<=29)||LA282_0==36||(LA282_0>=39 && LA282_0<=40)||(LA282_0>=42 && LA282_0<=45)||(LA282_0>=48 && LA282_0<=49)||LA282_0==51||LA282_0==55||LA282_0==60||LA282_0==63||LA282_0==65||(LA282_0>=69 && LA282_0<=87)||(LA282_0>=94 && LA282_0<=95)||(LA282_0>=114 && LA282_0<=115)||LA282_0==119||LA282_0==125||(LA282_0>=128 && LA282_0<=137)) ) {
alt282=1;
}
switch (alt282) {
case 1 :
// InternalSARL.g:11113:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
{
// InternalSARL.g:11113:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) )
// InternalSARL.g:11114:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
{
// InternalSARL.g:11114:6: (lv_elements_3_0= ruleXAnnotationOrExpression )
// InternalSARL.g:11115:7: lv_elements_3_0= ruleXAnnotationOrExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0());
}
pushFollow(FOLLOW_104);
lv_elements_3_0=ruleXAnnotationOrExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAnnotationElementValueRule());
}
add(
current,
"elements",
lv_elements_3_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:11132:5: (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )*
loop281:
do {
int alt281=2;
int LA281_0 = input.LA(1);
if ( (LA281_0==32) ) {
alt281=1;
}
switch (alt281) {
case 1 :
// InternalSARL.g:11133:6: otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
{
otherlv_4=(Token)match(input,32,FOLLOW_69); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXAnnotationElementValueAccess().getCommaKeyword_0_1_1_0());
}
// InternalSARL.g:11137:6: ( (lv_elements_5_0= ruleXAnnotationOrExpression ) )
// InternalSARL.g:11138:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
{
// InternalSARL.g:11138:7: (lv_elements_5_0= ruleXAnnotationOrExpression )
// InternalSARL.g:11139:8: lv_elements_5_0= ruleXAnnotationOrExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0());
}
pushFollow(FOLLOW_104);
lv_elements_5_0=ruleXAnnotationOrExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAnnotationElementValueRule());
}
add(
current,
"elements",
lv_elements_5_0,
"org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop281;
}
} while (true);
}
break;
}
otherlv_6=(Token)match(input,56,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXAnnotationElementValueAccess().getRightSquareBracketKeyword_0_2());
}
}
}
break;
case 2 :
// InternalSARL.g:11164:3: this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getXAnnotationOrExpressionParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_XAnnotationOrExpression_7=ruleXAnnotationOrExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XAnnotationOrExpression_7;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXAnnotationElementValue"
// $ANTLR start "entryRuleXAnnotationOrExpression"
// InternalSARL.g:11176:1: entryRuleXAnnotationOrExpression returns [EObject current=null] : iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF ;
public final EObject entryRuleXAnnotationOrExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXAnnotationOrExpression = null;
try {
// InternalSARL.g:11176:64: (iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF )
// InternalSARL.g:11177:2: iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationOrExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXAnnotationOrExpression=ruleXAnnotationOrExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXAnnotationOrExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXAnnotationOrExpression"
// $ANTLR start "ruleXAnnotationOrExpression"
// InternalSARL.g:11183:1: ruleXAnnotationOrExpression returns [EObject current=null] : (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression ) ;
public final EObject ruleXAnnotationOrExpression() throws RecognitionException {
EObject current = null;
EObject this_XAnnotation_0 = null;
EObject this_XExpression_1 = null;
enterRule();
try {
// InternalSARL.g:11189:2: ( (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression ) )
// InternalSARL.g:11190:2: (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression )
{
// InternalSARL.g:11190:2: (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression )
int alt284=2;
int LA284_0 = input.LA(1);
if ( (LA284_0==94) ) {
alt284=1;
}
else if ( ((LA284_0>=RULE_ID && LA284_0<=RULE_RICH_TEXT_START)||(LA284_0>=RULE_HEX && LA284_0<=RULE_DECIMAL)||LA284_0==25||(LA284_0>=28 && LA284_0<=29)||LA284_0==36||(LA284_0>=39 && LA284_0<=40)||(LA284_0>=42 && LA284_0<=45)||(LA284_0>=48 && LA284_0<=49)||LA284_0==51||LA284_0==55||LA284_0==60||LA284_0==63||LA284_0==65||(LA284_0>=69 && LA284_0<=87)||LA284_0==95||(LA284_0>=114 && LA284_0<=115)||LA284_0==119||LA284_0==125||(LA284_0>=128 && LA284_0<=137)) ) {
alt284=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 284, 0, input);
throw nvae;
}
switch (alt284) {
case 1 :
// InternalSARL.g:11191:3: this_XAnnotation_0= ruleXAnnotation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationOrExpressionAccess().getXAnnotationParserRuleCall_0());
}
pushFollow(FOLLOW_2);
this_XAnnotation_0=ruleXAnnotation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XAnnotation_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalSARL.g:11200:3: this_XExpression_1= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAnnotationOrExpressionAccess().getXExpressionParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_XExpression_1=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XExpression_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXAnnotationOrExpression"
// $ANTLR start "entryRuleXExpression"
// InternalSARL.g:11212:1: entryRuleXExpression returns [EObject current=null] : iv_ruleXExpression= ruleXExpression EOF ;
public final EObject entryRuleXExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXExpression = null;
try {
// InternalSARL.g:11212:52: (iv_ruleXExpression= ruleXExpression EOF )
// InternalSARL.g:11213:2: iv_ruleXExpression= ruleXExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXExpression=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXExpression"
// $ANTLR start "ruleXExpression"
// InternalSARL.g:11219:1: ruleXExpression returns [EObject current=null] : this_XAssignment_0= ruleXAssignment ;
public final EObject ruleXExpression() throws RecognitionException {
EObject current = null;
EObject this_XAssignment_0 = null;
enterRule();
try {
// InternalSARL.g:11225:2: (this_XAssignment_0= ruleXAssignment )
// InternalSARL.g:11226:2: this_XAssignment_0= ruleXAssignment
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall());
}
pushFollow(FOLLOW_2);
this_XAssignment_0=ruleXAssignment();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XAssignment_0;
afterParserOrEnumRuleCall();
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXExpression"
// $ANTLR start "entryRuleXAssignment"
// InternalSARL.g:11237:1: entryRuleXAssignment returns [EObject current=null] : iv_ruleXAssignment= ruleXAssignment EOF ;
public final EObject entryRuleXAssignment() throws RecognitionException {
EObject current = null;
EObject iv_ruleXAssignment = null;
try {
// InternalSARL.g:11237:52: (iv_ruleXAssignment= ruleXAssignment EOF )
// InternalSARL.g:11238:2: iv_ruleXAssignment= ruleXAssignment EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAssignmentRule());
}
pushFollow(FOLLOW_1);
iv_ruleXAssignment=ruleXAssignment();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXAssignment;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXAssignment"
// $ANTLR start "ruleXAssignment"
// InternalSARL.g:11244:1: ruleXAssignment returns [EObject current=null] : ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) ;
public final EObject ruleXAssignment() throws RecognitionException {
EObject current = null;
EObject lv_value_3_0 = null;
EObject this_XOrExpression_4 = null;
EObject lv_rightOperand_7_0 = null;
enterRule();
try {
// InternalSARL.g:11250:2: ( ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) )
// InternalSARL.g:11251:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )
{
// InternalSARL.g:11251:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )
int alt286=2;
alt286 = dfa286.predict(input);
switch (alt286) {
case 1 :
// InternalSARL.g:11252:3: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) )
{
// InternalSARL.g:11252:3: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) )
// InternalSARL.g:11253:4: () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) )
{
// InternalSARL.g:11253:4: ()
// InternalSARL.g:11254:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0(),
current);
}
}
// InternalSARL.g:11260:4: ( ( ruleFeatureCallID ) )
// InternalSARL.g:11261:5: ( ruleFeatureCallID )
{
// InternalSARL.g:11261:5: ( ruleFeatureCallID )
// InternalSARL.g:11262:6: ruleFeatureCallID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAssignmentRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0());
}
pushFollow(FOLLOW_81);
ruleFeatureCallID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2());
}
pushFollow(FOLLOW_45);
ruleOpSingleAssign();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
// InternalSARL.g:11283:4: ( (lv_value_3_0= ruleXAssignment ) )
// InternalSARL.g:11284:5: (lv_value_3_0= ruleXAssignment )
{
// InternalSARL.g:11284:5: (lv_value_3_0= ruleXAssignment )
// InternalSARL.g:11285:6: lv_value_3_0= ruleXAssignment
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0());
}
pushFollow(FOLLOW_2);
lv_value_3_0=ruleXAssignment();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAssignmentRule());
}
set(
current,
"value",
lv_value_3_0,
"org.eclipse.xtext.xbase.Xbase.XAssignment");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalSARL.g:11304:3: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? )
{
// InternalSARL.g:11304:3: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? )
// InternalSARL.g:11305:4: this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0());
}
pushFollow(FOLLOW_106);
this_XOrExpression_4=ruleXOrExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XOrExpression_4;
afterParserOrEnumRuleCall();
}
// InternalSARL.g:11313:4: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?
int alt285=2;
alt285 = dfa285.predict(input);
switch (alt285) {
case 1 :
// InternalSARL.g:11314:5: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) )
{
// InternalSARL.g:11314:5: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) )
// InternalSARL.g:11315:6: ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) )
{
// InternalSARL.g:11325:6: ( () ( ( ruleOpMultiAssign ) ) )
// InternalSARL.g:11326:7: () ( ( ruleOpMultiAssign ) )
{
// InternalSARL.g:11326:7: ()
// InternalSARL.g:11327:8:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(),
current);
}
}
// InternalSARL.g:11333:7: ( ( ruleOpMultiAssign ) )
// InternalSARL.g:11334:8: ( ruleOpMultiAssign )
{
// InternalSARL.g:11334:8: ( ruleOpMultiAssign )
// InternalSARL.g:11335:9: ruleOpMultiAssign
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAssignmentRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0());
}
pushFollow(FOLLOW_45);
ruleOpMultiAssign();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalSARL.g:11351:5: ( (lv_rightOperand_7_0= ruleXAssignment ) )
// InternalSARL.g:11352:6: (lv_rightOperand_7_0= ruleXAssignment )
{
// InternalSARL.g:11352:6: (lv_rightOperand_7_0= ruleXAssignment )
// InternalSARL.g:11353:7: lv_rightOperand_7_0= ruleXAssignment
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0());
}
pushFollow(FOLLOW_2);
lv_rightOperand_7_0=ruleXAssignment();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAssignmentRule());
}
set(
current,
"rightOperand",
lv_rightOperand_7_0,
"org.eclipse.xtext.xbase.Xbase.XAssignment");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXAssignment"
// $ANTLR start "entryRuleOpSingleAssign"
// InternalSARL.g:11376:1: entryRuleOpSingleAssign returns [String current=null] : iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ;
public final String entryRuleOpSingleAssign() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpSingleAssign = null;
try {
// InternalSARL.g:11376:54: (iv_ruleOpSingleAssign= ruleOpSingleAssign EOF )
// InternalSARL.g:11377:2: iv_ruleOpSingleAssign= ruleOpSingleAssign EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpSingleAssignRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpSingleAssign=ruleOpSingleAssign();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpSingleAssign.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpSingleAssign"
// $ANTLR start "ruleOpSingleAssign"
// InternalSARL.g:11383:1: ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '=' ;
public final AntlrDatatypeRuleToken ruleOpSingleAssign() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalSARL.g:11389:2: (kw= '=' )
// InternalSARL.g:11390:2: kw= '='
{
kw=(Token)match(input,47,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpSingleAssign"
// $ANTLR start "entryRuleOpMultiAssign"
// InternalSARL.g:11398:1: entryRuleOpMultiAssign returns [String current=null] : iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ;
public final String entryRuleOpMultiAssign() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpMultiAssign = null;
try {
// InternalSARL.g:11398:53: (iv_ruleOpMultiAssign= ruleOpMultiAssign EOF )
// InternalSARL.g:11399:2: iv_ruleOpMultiAssign= ruleOpMultiAssign EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpMultiAssignRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpMultiAssign=ruleOpMultiAssign();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpMultiAssign.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpMultiAssign"
// $ANTLR start "ruleOpMultiAssign"
// InternalSARL.g:11405:1: ruleOpMultiAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) ;
public final AntlrDatatypeRuleToken ruleOpMultiAssign() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalSARL.g:11411:2: ( (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) )
// InternalSARL.g:11412:2: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) )
{
// InternalSARL.g:11412:2: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) )
int alt288=7;
switch ( input.LA(1) ) {
case 96:
{
alt288=1;
}
break;
case 97:
{
alt288=2;
}
break;
case 98:
{
alt288=3;
}
break;
case 99:
{
alt288=4;
}
break;
case 100:
{
alt288=5;
}
break;
case 40:
{
alt288=6;
}
break;
case 41:
{
alt288=7;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 288, 0, input);
throw nvae;
}
switch (alt288) {
case 1 :
// InternalSARL.g:11413:3: kw= '+='
{
kw=(Token)match(input,96,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0());
}
}
break;
case 2 :
// InternalSARL.g:11419:3: kw= '-='
{
kw=(Token)match(input,97,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1());
}
}
break;
case 3 :
// InternalSARL.g:11425:3: kw= '*='
{
kw=(Token)match(input,98,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2());
}
}
break;
case 4 :
// InternalSARL.g:11431:3: kw= '/='
{
kw=(Token)match(input,99,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3());
}
}
break;
case 5 :
// InternalSARL.g:11437:3: kw= '%='
{
kw=(Token)match(input,100,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4());
}
}
break;
case 6 :
// InternalSARL.g:11443:3: (kw= '<' kw= '<' kw= '=' )
{
// InternalSARL.g:11443:3: (kw= '<' kw= '<' kw= '=' )
// InternalSARL.g:11444:4: kw= '<' kw= '<' kw= '='
{
kw=(Token)match(input,40,FOLLOW_87); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0());
}
kw=(Token)match(input,40,FOLLOW_81); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1());
}
kw=(Token)match(input,47,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2());
}
}
}
break;
case 7 :
// InternalSARL.g:11461:3: (kw= '>' (kw= '>' )? kw= '>=' )
{
// InternalSARL.g:11461:3: (kw= '>' (kw= '>' )? kw= '>=' )
// InternalSARL.g:11462:4: kw= '>' (kw= '>' )? kw= '>='
{
kw=(Token)match(input,41,FOLLOW_107); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0());
}
// InternalSARL.g:11467:4: (kw= '>' )?
int alt287=2;
int LA287_0 = input.LA(1);
if ( (LA287_0==41) ) {
alt287=1;
}
switch (alt287) {
case 1 :
// InternalSARL.g:11468:5: kw= '>'
{
kw=(Token)match(input,41,FOLLOW_108); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1());
}
}
break;
}
kw=(Token)match(input,101,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2());
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpMultiAssign"
// $ANTLR start "entryRuleXOrExpression"
// InternalSARL.g:11484:1: entryRuleXOrExpression returns [EObject current=null] : iv_ruleXOrExpression= ruleXOrExpression EOF ;
public final EObject entryRuleXOrExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXOrExpression = null;
try {
// InternalSARL.g:11484:54: (iv_ruleXOrExpression= ruleXOrExpression EOF )
// InternalSARL.g:11485:2: iv_ruleXOrExpression= ruleXOrExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOrExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXOrExpression=ruleXOrExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXOrExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXOrExpression"
// $ANTLR start "ruleXOrExpression"
// InternalSARL.g:11491:1: ruleXOrExpression returns [EObject current=null] : (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) ;
public final EObject ruleXOrExpression() throws RecognitionException {
EObject current = null;
EObject this_XAndExpression_0 = null;
EObject lv_rightOperand_3_0 = null;
enterRule();
try {
// InternalSARL.g:11497:2: ( (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) )
// InternalSARL.g:11498:2: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* )
{
// InternalSARL.g:11498:2: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* )
// InternalSARL.g:11499:3: this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0());
}
pushFollow(FOLLOW_109);
this_XAndExpression_0=ruleXAndExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XAndExpression_0;
afterParserOrEnumRuleCall();
}
// InternalSARL.g:11507:3: ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )*
loop289:
do {
int alt289=2;
int LA289_0 = input.LA(1);
if ( (LA289_0==102) ) {
int LA289_2 = input.LA(2);
if ( (synpred24_InternalSARL()) ) {
alt289=1;
}
}
switch (alt289) {
case 1 :
// InternalSARL.g:11508:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) )
{
// InternalSARL.g:11508:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) )
// InternalSARL.g:11509:5: ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) )
{
// InternalSARL.g:11519:5: ( () ( ( ruleOpOr ) ) )
// InternalSARL.g:11520:6: () ( ( ruleOpOr ) )
{
// InternalSARL.g:11520:6: ()
// InternalSARL.g:11521:7:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
current);
}
}
// InternalSARL.g:11527:6: ( ( ruleOpOr ) )
// InternalSARL.g:11528:7: ( ruleOpOr )
{
// InternalSARL.g:11528:7: ( ruleOpOr )
// InternalSARL.g:11529:8: ruleOpOr
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXOrExpressionRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
}
pushFollow(FOLLOW_45);
ruleOpOr();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalSARL.g:11545:4: ( (lv_rightOperand_3_0= ruleXAndExpression ) )
// InternalSARL.g:11546:5: (lv_rightOperand_3_0= ruleXAndExpression )
{
// InternalSARL.g:11546:5: (lv_rightOperand_3_0= ruleXAndExpression )
// InternalSARL.g:11547:6: lv_rightOperand_3_0= ruleXAndExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_109);
lv_rightOperand_3_0=ruleXAndExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXOrExpressionRule());
}
set(
current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.xtext.xbase.Xbase.XAndExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop289;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXOrExpression"
// $ANTLR start "entryRuleOpOr"
// InternalSARL.g:11569:1: entryRuleOpOr returns [String current=null] : iv_ruleOpOr= ruleOpOr EOF ;
public final String entryRuleOpOr() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpOr = null;
try {
// InternalSARL.g:11569:44: (iv_ruleOpOr= ruleOpOr EOF )
// InternalSARL.g:11570:2: iv_ruleOpOr= ruleOpOr EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpOrRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpOr=ruleOpOr();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpOr.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpOr"
// $ANTLR start "ruleOpOr"
// InternalSARL.g:11576:1: ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '||' ;
public final AntlrDatatypeRuleToken ruleOpOr() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalSARL.g:11582:2: (kw= '||' )
// InternalSARL.g:11583:2: kw= '||'
{
kw=(Token)match(input,102,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpOr"
// $ANTLR start "entryRuleXAndExpression"
// InternalSARL.g:11591:1: entryRuleXAndExpression returns [EObject current=null] : iv_ruleXAndExpression= ruleXAndExpression EOF ;
public final EObject entryRuleXAndExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXAndExpression = null;
try {
// InternalSARL.g:11591:55: (iv_ruleXAndExpression= ruleXAndExpression EOF )
// InternalSARL.g:11592:2: iv_ruleXAndExpression= ruleXAndExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAndExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXAndExpression=ruleXAndExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXAndExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXAndExpression"
// $ANTLR start "ruleXAndExpression"
// InternalSARL.g:11598:1: ruleXAndExpression returns [EObject current=null] : (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) ;
public final EObject ruleXAndExpression() throws RecognitionException {
EObject current = null;
EObject this_XEqualityExpression_0 = null;
EObject lv_rightOperand_3_0 = null;
enterRule();
try {
// InternalSARL.g:11604:2: ( (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) )
// InternalSARL.g:11605:2: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* )
{
// InternalSARL.g:11605:2: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* )
// InternalSARL.g:11606:3: this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0());
}
pushFollow(FOLLOW_110);
this_XEqualityExpression_0=ruleXEqualityExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XEqualityExpression_0;
afterParserOrEnumRuleCall();
}
// InternalSARL.g:11614:3: ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )*
loop290:
do {
int alt290=2;
int LA290_0 = input.LA(1);
if ( (LA290_0==103) ) {
int LA290_2 = input.LA(2);
if ( (synpred25_InternalSARL()) ) {
alt290=1;
}
}
switch (alt290) {
case 1 :
// InternalSARL.g:11615:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) )
{
// InternalSARL.g:11615:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) )
// InternalSARL.g:11616:5: ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) )
{
// InternalSARL.g:11626:5: ( () ( ( ruleOpAnd ) ) )
// InternalSARL.g:11627:6: () ( ( ruleOpAnd ) )
{
// InternalSARL.g:11627:6: ()
// InternalSARL.g:11628:7:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
current);
}
}
// InternalSARL.g:11634:6: ( ( ruleOpAnd ) )
// InternalSARL.g:11635:7: ( ruleOpAnd )
{
// InternalSARL.g:11635:7: ( ruleOpAnd )
// InternalSARL.g:11636:8: ruleOpAnd
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAndExpressionRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
}
pushFollow(FOLLOW_45);
ruleOpAnd();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalSARL.g:11652:4: ( (lv_rightOperand_3_0= ruleXEqualityExpression ) )
// InternalSARL.g:11653:5: (lv_rightOperand_3_0= ruleXEqualityExpression )
{
// InternalSARL.g:11653:5: (lv_rightOperand_3_0= ruleXEqualityExpression )
// InternalSARL.g:11654:6: lv_rightOperand_3_0= ruleXEqualityExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_110);
lv_rightOperand_3_0=ruleXEqualityExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAndExpressionRule());
}
set(
current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.xtext.xbase.Xbase.XEqualityExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop290;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXAndExpression"
// $ANTLR start "entryRuleOpAnd"
// InternalSARL.g:11676:1: entryRuleOpAnd returns [String current=null] : iv_ruleOpAnd= ruleOpAnd EOF ;
public final String entryRuleOpAnd() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpAnd = null;
try {
// InternalSARL.g:11676:45: (iv_ruleOpAnd= ruleOpAnd EOF )
// InternalSARL.g:11677:2: iv_ruleOpAnd= ruleOpAnd EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpAndRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpAnd=ruleOpAnd();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpAnd.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpAnd"
// $ANTLR start "ruleOpAnd"
// InternalSARL.g:11683:1: ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '&&' ;
public final AntlrDatatypeRuleToken ruleOpAnd() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalSARL.g:11689:2: (kw= '&&' )
// InternalSARL.g:11690:2: kw= '&&'
{
kw=(Token)match(input,103,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpAnd"
// $ANTLR start "entryRuleXEqualityExpression"
// InternalSARL.g:11698:1: entryRuleXEqualityExpression returns [EObject current=null] : iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ;
public final EObject entryRuleXEqualityExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXEqualityExpression = null;
try {
// InternalSARL.g:11698:60: (iv_ruleXEqualityExpression= ruleXEqualityExpression EOF )
// InternalSARL.g:11699:2: iv_ruleXEqualityExpression= ruleXEqualityExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXEqualityExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXEqualityExpression=ruleXEqualityExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXEqualityExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXEqualityExpression"
// $ANTLR start "ruleXEqualityExpression"
// InternalSARL.g:11705:1: ruleXEqualityExpression returns [EObject current=null] : (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) ;
public final EObject ruleXEqualityExpression() throws RecognitionException {
EObject current = null;
EObject this_XRelationalExpression_0 = null;
EObject lv_rightOperand_3_0 = null;
enterRule();
try {
// InternalSARL.g:11711:2: ( (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) )
// InternalSARL.g:11712:2: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* )
{
// InternalSARL.g:11712:2: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* )
// InternalSARL.g:11713:3: this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0());
}
pushFollow(FOLLOW_111);
this_XRelationalExpression_0=ruleXRelationalExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XRelationalExpression_0;
afterParserOrEnumRuleCall();
}
// InternalSARL.g:11721:3: ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )*
loop291:
do {
int alt291=2;
switch ( input.LA(1) ) {
case 104:
{
int LA291_2 = input.LA(2);
if ( (synpred26_InternalSARL()) ) {
alt291=1;
}
}
break;
case 105:
{
int LA291_3 = input.LA(2);
if ( (synpred26_InternalSARL()) ) {
alt291=1;
}
}
break;
case 106:
{
int LA291_4 = input.LA(2);
if ( (synpred26_InternalSARL()) ) {
alt291=1;
}
}
break;
case 107:
{
int LA291_5 = input.LA(2);
if ( (synpred26_InternalSARL()) ) {
alt291=1;
}
}
break;
}
switch (alt291) {
case 1 :
// InternalSARL.g:11722:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) )
{
// InternalSARL.g:11722:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) )
// InternalSARL.g:11723:5: ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) )
{
// InternalSARL.g:11733:5: ( () ( ( ruleOpEquality ) ) )
// InternalSARL.g:11734:6: () ( ( ruleOpEquality ) )
{
// InternalSARL.g:11734:6: ()
// InternalSARL.g:11735:7:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
current);
}
}
// InternalSARL.g:11741:6: ( ( ruleOpEquality ) )
// InternalSARL.g:11742:7: ( ruleOpEquality )
{
// InternalSARL.g:11742:7: ( ruleOpEquality )
// InternalSARL.g:11743:8: ruleOpEquality
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXEqualityExpressionRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
}
pushFollow(FOLLOW_45);
ruleOpEquality();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalSARL.g:11759:4: ( (lv_rightOperand_3_0= ruleXRelationalExpression ) )
// InternalSARL.g:11760:5: (lv_rightOperand_3_0= ruleXRelationalExpression )
{
// InternalSARL.g:11760:5: (lv_rightOperand_3_0= ruleXRelationalExpression )
// InternalSARL.g:11761:6: lv_rightOperand_3_0= ruleXRelationalExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_111);
lv_rightOperand_3_0=ruleXRelationalExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXEqualityExpressionRule());
}
set(
current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.xtext.xbase.Xbase.XRelationalExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop291;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXEqualityExpression"
// $ANTLR start "entryRuleOpEquality"
// InternalSARL.g:11783:1: entryRuleOpEquality returns [String current=null] : iv_ruleOpEquality= ruleOpEquality EOF ;
public final String entryRuleOpEquality() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpEquality = null;
try {
// InternalSARL.g:11783:50: (iv_ruleOpEquality= ruleOpEquality EOF )
// InternalSARL.g:11784:2: iv_ruleOpEquality= ruleOpEquality EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpEqualityRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpEquality=ruleOpEquality();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpEquality.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpEquality"
// $ANTLR start "ruleOpEquality"
// InternalSARL.g:11790:1: ruleOpEquality returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) ;
public final AntlrDatatypeRuleToken ruleOpEquality() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalSARL.g:11796:2: ( (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) )
// InternalSARL.g:11797:2: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' )
{
// InternalSARL.g:11797:2: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' )
int alt292=4;
switch ( input.LA(1) ) {
case 104:
{
alt292=1;
}
break;
case 105:
{
alt292=2;
}
break;
case 106:
{
alt292=3;
}
break;
case 107:
{
alt292=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 292, 0, input);
throw nvae;
}
switch (alt292) {
case 1 :
// InternalSARL.g:11798:3: kw= '=='
{
kw=(Token)match(input,104,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0());
}
}
break;
case 2 :
// InternalSARL.g:11804:3: kw= '!='
{
kw=(Token)match(input,105,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1());
}
}
break;
case 3 :
// InternalSARL.g:11810:3: kw= '==='
{
kw=(Token)match(input,106,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2());
}
}
break;
case 4 :
// InternalSARL.g:11816:3: kw= '!=='
{
kw=(Token)match(input,107,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpEquality"
// $ANTLR start "entryRuleXRelationalExpression"
// InternalSARL.g:11825:1: entryRuleXRelationalExpression returns [EObject current=null] : iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ;
public final EObject entryRuleXRelationalExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXRelationalExpression = null;
try {
// InternalSARL.g:11825:62: (iv_ruleXRelationalExpression= ruleXRelationalExpression EOF )
// InternalSARL.g:11826:2: iv_ruleXRelationalExpression= ruleXRelationalExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXRelationalExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXRelationalExpression=ruleXRelationalExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXRelationalExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXRelationalExpression"
// $ANTLR start "ruleXRelationalExpression"
// InternalSARL.g:11832:1: ruleXRelationalExpression returns [EObject current=null] : (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) ;
public final EObject ruleXRelationalExpression() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
EObject this_XOtherOperatorExpression_0 = null;
EObject lv_type_3_0 = null;
EObject lv_rightOperand_6_0 = null;
enterRule();
try {
// InternalSARL.g:11838:2: ( (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) )
// InternalSARL.g:11839:2: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* )
{
// InternalSARL.g:11839:2: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* )
// InternalSARL.g:11840:3: this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0());
}
pushFollow(FOLLOW_112);
this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XOtherOperatorExpression_0;
afterParserOrEnumRuleCall();
}
// InternalSARL.g:11848:3: ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )*
loop293:
do {
int alt293=3;
switch ( input.LA(1) ) {
case 40:
{
int LA293_2 = input.LA(2);
if ( (synpred28_InternalSARL()) ) {
alt293=2;
}
}
break;
case 41:
{
int LA293_3 = input.LA(2);
if ( (synpred28_InternalSARL()) ) {
alt293=2;
}
}
break;
case 108:
{
int LA293_4 = input.LA(2);
if ( (synpred27_InternalSARL()) ) {
alt293=1;
}
}
break;
case 101:
{
int LA293_5 = input.LA(2);
if ( (synpred28_InternalSARL()) ) {
alt293=2;
}
}
break;
}
switch (alt293) {
case 1 :
// InternalSARL.g:11849:4: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )
{
// InternalSARL.g:11849:4: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )
// InternalSARL.g:11850:5: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) )
{
// InternalSARL.g:11850:5: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) )
// InternalSARL.g:11851:6: ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' )
{
// InternalSARL.g:11857:6: ( () otherlv_2= 'instanceof' )
// InternalSARL.g:11858:7: () otherlv_2= 'instanceof'
{
// InternalSARL.g:11858:7: ()
// InternalSARL.g:11859:8:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(),
current);
}
}
otherlv_2=(Token)match(input,108,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1());
}
}
}
// InternalSARL.g:11871:5: ( (lv_type_3_0= ruleJvmTypeReference ) )
// InternalSARL.g:11872:6: (lv_type_3_0= ruleJvmTypeReference )
{
// InternalSARL.g:11872:6: (lv_type_3_0= ruleJvmTypeReference )
// InternalSARL.g:11873:7: lv_type_3_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0());
}
pushFollow(FOLLOW_112);
lv_type_3_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule());
}
set(
current,
"type",
lv_type_3_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalSARL.g:11892:4: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) )
{
// InternalSARL.g:11892:4: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) )
// InternalSARL.g:11893:5: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) )
{
// InternalSARL.g:11893:5: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) )
// InternalSARL.g:11894:6: ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) )
{
// InternalSARL.g:11904:6: ( () ( ( ruleOpCompare ) ) )
// InternalSARL.g:11905:7: () ( ( ruleOpCompare ) )
{
// InternalSARL.g:11905:7: ()
// InternalSARL.g:11906:8:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(),
current);
}
}
// InternalSARL.g:11912:7: ( ( ruleOpCompare ) )
// InternalSARL.g:11913:8: ( ruleOpCompare )
{
// InternalSARL.g:11913:8: ( ruleOpCompare )
// InternalSARL.g:11914:9: ruleOpCompare
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXRelationalExpressionRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0());
}
pushFollow(FOLLOW_45);
ruleOpCompare();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalSARL.g:11930:5: ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) )
// InternalSARL.g:11931:6: (lv_rightOperand_6_0= ruleXOtherOperatorExpression )
{
// InternalSARL.g:11931:6: (lv_rightOperand_6_0= ruleXOtherOperatorExpression )
// InternalSARL.g:11932:7: lv_rightOperand_6_0= ruleXOtherOperatorExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0());
}
pushFollow(FOLLOW_112);
lv_rightOperand_6_0=ruleXOtherOperatorExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule());
}
set(
current,
"rightOperand",
lv_rightOperand_6_0,
"org.eclipse.xtext.xbase.Xbase.XOtherOperatorExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
default :
break loop293;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXRelationalExpression"
// $ANTLR start "entryRuleOpCompare"
// InternalSARL.g:11955:1: entryRuleOpCompare returns [String current=null] : iv_ruleOpCompare= ruleOpCompare EOF ;
public final String entryRuleOpCompare() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpCompare = null;
try {
// InternalSARL.g:11955:49: (iv_ruleOpCompare= ruleOpCompare EOF )
// InternalSARL.g:11956:2: iv_ruleOpCompare= ruleOpCompare EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpCompareRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpCompare=ruleOpCompare();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpCompare.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpCompare"
// $ANTLR start "ruleOpCompare"
// InternalSARL.g:11962:1: ruleOpCompare returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) ;
public final AntlrDatatypeRuleToken ruleOpCompare() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalSARL.g:11968:2: ( (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) )
// InternalSARL.g:11969:2: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' )
{
// InternalSARL.g:11969:2: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' )
int alt294=4;
switch ( input.LA(1) ) {
case 101:
{
alt294=1;
}
break;
case 40:
{
int LA294_2 = input.LA(2);
if ( (LA294_2==EOF||(LA294_2>=RULE_ID && LA294_2<=RULE_RICH_TEXT_START)||(LA294_2>=RULE_HEX && LA294_2<=RULE_DECIMAL)||(LA294_2>=25 && LA294_2<=26)||(LA294_2>=28 && LA294_2<=30)||LA294_2==36||(LA294_2>=39 && LA294_2<=40)||(LA294_2>=42 && LA294_2<=46)||(LA294_2>=48 && LA294_2<=49)||(LA294_2>=51 && LA294_2<=55)||(LA294_2>=57 && LA294_2<=58)||(LA294_2>=60 && LA294_2<=63)||LA294_2==65||(LA294_2>=69 && LA294_2<=87)||(LA294_2>=94 && LA294_2<=95)||(LA294_2>=114 && LA294_2<=115)||LA294_2==119||LA294_2==125||(LA294_2>=128 && LA294_2<=137)) ) {
alt294=4;
}
else if ( (LA294_2==47) ) {
alt294=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 294, 2, input);
throw nvae;
}
}
break;
case 41:
{
alt294=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 294, 0, input);
throw nvae;
}
switch (alt294) {
case 1 :
// InternalSARL.g:11970:3: kw= '>='
{
kw=(Token)match(input,101,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0());
}
}
break;
case 2 :
// InternalSARL.g:11976:3: (kw= '<' kw= '=' )
{
// InternalSARL.g:11976:3: (kw= '<' kw= '=' )
// InternalSARL.g:11977:4: kw= '<' kw= '='
{
kw=(Token)match(input,40,FOLLOW_81); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0());
}
kw=(Token)match(input,47,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1());
}
}
}
break;
case 3 :
// InternalSARL.g:11989:3: kw= '>'
{
kw=(Token)match(input,41,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2());
}
}
break;
case 4 :
// InternalSARL.g:11995:3: kw= '<'
{
kw=(Token)match(input,40,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpCompare"
// $ANTLR start "entryRuleXOtherOperatorExpression"
// InternalSARL.g:12004:1: entryRuleXOtherOperatorExpression returns [EObject current=null] : iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ;
public final EObject entryRuleXOtherOperatorExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXOtherOperatorExpression = null;
try {
// InternalSARL.g:12004:65: (iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF )
// InternalSARL.g:12005:2: iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOtherOperatorExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXOtherOperatorExpression=ruleXOtherOperatorExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXOtherOperatorExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXOtherOperatorExpression"
// $ANTLR start "ruleXOtherOperatorExpression"
// InternalSARL.g:12011:1: ruleXOtherOperatorExpression returns [EObject current=null] : (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) ;
public final EObject ruleXOtherOperatorExpression() throws RecognitionException {
EObject current = null;
EObject this_XAdditiveExpression_0 = null;
EObject lv_rightOperand_3_0 = null;
enterRule();
try {
// InternalSARL.g:12017:2: ( (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) )
// InternalSARL.g:12018:2: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* )
{
// InternalSARL.g:12018:2: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* )
// InternalSARL.g:12019:3: this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0());
}
pushFollow(FOLLOW_113);
this_XAdditiveExpression_0=ruleXAdditiveExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XAdditiveExpression_0;
afterParserOrEnumRuleCall();
}
// InternalSARL.g:12027:3: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*
loop295:
do {
int alt295=2;
alt295 = dfa295.predict(input);
switch (alt295) {
case 1 :
// InternalSARL.g:12028:4: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) )
{
// InternalSARL.g:12028:4: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) )
// InternalSARL.g:12029:5: ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) )
{
// InternalSARL.g:12039:5: ( () ( ( ruleOpOther ) ) )
// InternalSARL.g:12040:6: () ( ( ruleOpOther ) )
{
// InternalSARL.g:12040:6: ()
// InternalSARL.g:12041:7:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
current);
}
}
// InternalSARL.g:12047:6: ( ( ruleOpOther ) )
// InternalSARL.g:12048:7: ( ruleOpOther )
{
// InternalSARL.g:12048:7: ( ruleOpOther )
// InternalSARL.g:12049:8: ruleOpOther
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXOtherOperatorExpressionRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
}
pushFollow(FOLLOW_45);
ruleOpOther();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalSARL.g:12065:4: ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) )
// InternalSARL.g:12066:5: (lv_rightOperand_3_0= ruleXAdditiveExpression )
{
// InternalSARL.g:12066:5: (lv_rightOperand_3_0= ruleXAdditiveExpression )
// InternalSARL.g:12067:6: lv_rightOperand_3_0= ruleXAdditiveExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_113);
lv_rightOperand_3_0=ruleXAdditiveExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXOtherOperatorExpressionRule());
}
set(
current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.xtext.xbase.Xbase.XAdditiveExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop295;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXOtherOperatorExpression"
// $ANTLR start "entryRuleOpOther"
// InternalSARL.g:12089:1: entryRuleOpOther returns [String current=null] : iv_ruleOpOther= ruleOpOther EOF ;
public final String entryRuleOpOther() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpOther = null;
try {
// InternalSARL.g:12089:47: (iv_ruleOpOther= ruleOpOther EOF )
// InternalSARL.g:12090:2: iv_ruleOpOther= ruleOpOther EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpOtherRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpOther=ruleOpOther();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpOther.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpOther"
// $ANTLR start "ruleOpOther"
// InternalSARL.g:12096:1: ruleOpOther returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) ;
public final AntlrDatatypeRuleToken ruleOpOther() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalSARL.g:12102:2: ( (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) )
// InternalSARL.g:12103:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )
{
// InternalSARL.g:12103:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )
int alt298=9;
alt298 = dfa298.predict(input);
switch (alt298) {
case 1 :
// InternalSARL.g:12104:3: kw= '->'
{
kw=(Token)match(input,109,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0());
}
}
break;
case 2 :
// InternalSARL.g:12110:3: kw= '..<'
{
kw=(Token)match(input,110,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1());
}
}
break;
case 3 :
// InternalSARL.g:12116:3: (kw= '>' kw= '..' )
{
// InternalSARL.g:12116:3: (kw= '>' kw= '..' )
// InternalSARL.g:12117:4: kw= '>' kw= '..'
{
kw=(Token)match(input,41,FOLLOW_114); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0());
}
kw=(Token)match(input,111,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1());
}
}
}
break;
case 4 :
// InternalSARL.g:12129:3: kw= '..'
{
kw=(Token)match(input,111,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3());
}
}
break;
case 5 :
// InternalSARL.g:12135:3: kw= '=>'
{
kw=(Token)match(input,67,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4());
}
}
break;
case 6 :
// InternalSARL.g:12141:3: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) )
{
// InternalSARL.g:12141:3: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) )
// InternalSARL.g:12142:4: kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' )
{
kw=(Token)match(input,41,FOLLOW_115); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0());
}
// InternalSARL.g:12147:4: ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' )
int alt296=2;
int LA296_0 = input.LA(1);
if ( (LA296_0==41) ) {
int LA296_1 = input.LA(2);
if ( (LA296_1==41) && (synpred30_InternalSARL())) {
alt296=1;
}
else if ( (LA296_1==EOF||(LA296_1>=RULE_ID && LA296_1<=RULE_RICH_TEXT_START)||(LA296_1>=RULE_HEX && LA296_1<=RULE_DECIMAL)||(LA296_1>=25 && LA296_1<=26)||(LA296_1>=28 && LA296_1<=30)||LA296_1==36||(LA296_1>=39 && LA296_1<=40)||(LA296_1>=42 && LA296_1<=46)||(LA296_1>=48 && LA296_1<=49)||(LA296_1>=51 && LA296_1<=55)||(LA296_1>=57 && LA296_1<=58)||(LA296_1>=60 && LA296_1<=63)||LA296_1==65||(LA296_1>=69 && LA296_1<=87)||(LA296_1>=94 && LA296_1<=95)||(LA296_1>=114 && LA296_1<=115)||LA296_1==119||LA296_1==125||(LA296_1>=128 && LA296_1<=137)) ) {
alt296=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 296, 1, input);
throw nvae;
}
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 296, 0, input);
throw nvae;
}
switch (alt296) {
case 1 :
// InternalSARL.g:12148:5: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) )
{
// InternalSARL.g:12148:5: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) )
// InternalSARL.g:12149:6: ( ( '>' '>' ) )=> (kw= '>' kw= '>' )
{
// InternalSARL.g:12154:6: (kw= '>' kw= '>' )
// InternalSARL.g:12155:7: kw= '>' kw= '>'
{
kw=(Token)match(input,41,FOLLOW_115); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0());
}
kw=(Token)match(input,41,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1());
}
}
}
}
break;
case 2 :
// InternalSARL.g:12168:5: kw= '>'
{
kw=(Token)match(input,41,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1());
}
}
break;
}
}
}
break;
case 7 :
// InternalSARL.g:12176:3: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) )
{
// InternalSARL.g:12176:3: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) )
// InternalSARL.g:12177:4: kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' )
{
kw=(Token)match(input,40,FOLLOW_116); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0());
}
// InternalSARL.g:12182:4: ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' )
int alt297=3;
int LA297_0 = input.LA(1);
if ( (LA297_0==40) ) {
int LA297_1 = input.LA(2);
if ( (synpred31_InternalSARL()) ) {
alt297=1;
}
else if ( (true) ) {
alt297=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 297, 1, input);
throw nvae;
}
}
else if ( (LA297_0==67) ) {
alt297=3;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 297, 0, input);
throw nvae;
}
switch (alt297) {
case 1 :
// InternalSARL.g:12183:5: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) )
{
// InternalSARL.g:12183:5: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) )
// InternalSARL.g:12184:6: ( ( '<' '<' ) )=> (kw= '<' kw= '<' )
{
// InternalSARL.g:12189:6: (kw= '<' kw= '<' )
// InternalSARL.g:12190:7: kw= '<' kw= '<'
{
kw=(Token)match(input,40,FOLLOW_87); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0());
}
kw=(Token)match(input,40,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1());
}
}
}
}
break;
case 2 :
// InternalSARL.g:12203:5: kw= '<'
{
kw=(Token)match(input,40,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1());
}
}
break;
case 3 :
// InternalSARL.g:12209:5: kw= '=>'
{
kw=(Token)match(input,67,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2());
}
}
break;
}
}
}
break;
case 8 :
// InternalSARL.g:12217:3: kw= '<>'
{
kw=(Token)match(input,112,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7());
}
}
break;
case 9 :
// InternalSARL.g:12223:3: kw= '?:'
{
kw=(Token)match(input,113,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpOther"
// $ANTLR start "entryRuleXAdditiveExpression"
// InternalSARL.g:12232:1: entryRuleXAdditiveExpression returns [EObject current=null] : iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ;
public final EObject entryRuleXAdditiveExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXAdditiveExpression = null;
try {
// InternalSARL.g:12232:60: (iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF )
// InternalSARL.g:12233:2: iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAdditiveExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXAdditiveExpression=ruleXAdditiveExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXAdditiveExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXAdditiveExpression"
// $ANTLR start "ruleXAdditiveExpression"
// InternalSARL.g:12239:1: ruleXAdditiveExpression returns [EObject current=null] : (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) ;
public final EObject ruleXAdditiveExpression() throws RecognitionException {
EObject current = null;
EObject this_XMultiplicativeExpression_0 = null;
EObject lv_rightOperand_3_0 = null;
enterRule();
try {
// InternalSARL.g:12245:2: ( (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) )
// InternalSARL.g:12246:2: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* )
{
// InternalSARL.g:12246:2: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* )
// InternalSARL.g:12247:3: this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0());
}
pushFollow(FOLLOW_117);
this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XMultiplicativeExpression_0;
afterParserOrEnumRuleCall();
}
// InternalSARL.g:12255:3: ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )*
loop299:
do {
int alt299=2;
int LA299_0 = input.LA(1);
if ( (LA299_0==115) ) {
int LA299_2 = input.LA(2);
if ( (synpred32_InternalSARL()) ) {
alt299=1;
}
}
else if ( (LA299_0==114) ) {
int LA299_3 = input.LA(2);
if ( (synpred32_InternalSARL()) ) {
alt299=1;
}
}
switch (alt299) {
case 1 :
// InternalSARL.g:12256:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) )
{
// InternalSARL.g:12256:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) )
// InternalSARL.g:12257:5: ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) )
{
// InternalSARL.g:12267:5: ( () ( ( ruleOpAdd ) ) )
// InternalSARL.g:12268:6: () ( ( ruleOpAdd ) )
{
// InternalSARL.g:12268:6: ()
// InternalSARL.g:12269:7:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
current);
}
}
// InternalSARL.g:12275:6: ( ( ruleOpAdd ) )
// InternalSARL.g:12276:7: ( ruleOpAdd )
{
// InternalSARL.g:12276:7: ( ruleOpAdd )
// InternalSARL.g:12277:8: ruleOpAdd
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXAdditiveExpressionRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
}
pushFollow(FOLLOW_45);
ruleOpAdd();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalSARL.g:12293:4: ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) )
// InternalSARL.g:12294:5: (lv_rightOperand_3_0= ruleXMultiplicativeExpression )
{
// InternalSARL.g:12294:5: (lv_rightOperand_3_0= ruleXMultiplicativeExpression )
// InternalSARL.g:12295:6: lv_rightOperand_3_0= ruleXMultiplicativeExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_117);
lv_rightOperand_3_0=ruleXMultiplicativeExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXAdditiveExpressionRule());
}
set(
current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.xtext.xbase.Xbase.XMultiplicativeExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop299;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXAdditiveExpression"
// $ANTLR start "entryRuleOpAdd"
// InternalSARL.g:12317:1: entryRuleOpAdd returns [String current=null] : iv_ruleOpAdd= ruleOpAdd EOF ;
public final String entryRuleOpAdd() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpAdd = null;
try {
// InternalSARL.g:12317:45: (iv_ruleOpAdd= ruleOpAdd EOF )
// InternalSARL.g:12318:2: iv_ruleOpAdd= ruleOpAdd EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpAddRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpAdd=ruleOpAdd();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpAdd.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpAdd"
// $ANTLR start "ruleOpAdd"
// InternalSARL.g:12324:1: ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+' | kw= '-' ) ;
public final AntlrDatatypeRuleToken ruleOpAdd() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalSARL.g:12330:2: ( (kw= '+' | kw= '-' ) )
// InternalSARL.g:12331:2: (kw= '+' | kw= '-' )
{
// InternalSARL.g:12331:2: (kw= '+' | kw= '-' )
int alt300=2;
int LA300_0 = input.LA(1);
if ( (LA300_0==114) ) {
alt300=1;
}
else if ( (LA300_0==115) ) {
alt300=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 300, 0, input);
throw nvae;
}
switch (alt300) {
case 1 :
// InternalSARL.g:12332:3: kw= '+'
{
kw=(Token)match(input,114,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0());
}
}
break;
case 2 :
// InternalSARL.g:12338:3: kw= '-'
{
kw=(Token)match(input,115,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpAdd"
// $ANTLR start "entryRuleXMultiplicativeExpression"
// InternalSARL.g:12347:1: entryRuleXMultiplicativeExpression returns [EObject current=null] : iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ;
public final EObject entryRuleXMultiplicativeExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXMultiplicativeExpression = null;
try {
// InternalSARL.g:12347:66: (iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF )
// InternalSARL.g:12348:2: iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMultiplicativeExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXMultiplicativeExpression=ruleXMultiplicativeExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXMultiplicativeExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXMultiplicativeExpression"
// $ANTLR start "ruleXMultiplicativeExpression"
// InternalSARL.g:12354:1: ruleXMultiplicativeExpression returns [EObject current=null] : (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) ;
public final EObject ruleXMultiplicativeExpression() throws RecognitionException {
EObject current = null;
EObject this_XUnaryOperation_0 = null;
EObject lv_rightOperand_3_0 = null;
enterRule();
try {
// InternalSARL.g:12360:2: ( (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) )
// InternalSARL.g:12361:2: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* )
{
// InternalSARL.g:12361:2: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* )
// InternalSARL.g:12362:3: this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0());
}
pushFollow(FOLLOW_118);
this_XUnaryOperation_0=ruleXUnaryOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XUnaryOperation_0;
afterParserOrEnumRuleCall();
}
// InternalSARL.g:12370:3: ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )*
loop301:
do {
int alt301=2;
switch ( input.LA(1) ) {
case 59:
{
int LA301_2 = input.LA(2);
if ( (synpred33_InternalSARL()) ) {
alt301=1;
}
}
break;
case 116:
{
int LA301_3 = input.LA(2);
if ( (synpred33_InternalSARL()) ) {
alt301=1;
}
}
break;
case 117:
{
int LA301_4 = input.LA(2);
if ( (synpred33_InternalSARL()) ) {
alt301=1;
}
}
break;
case 118:
{
int LA301_5 = input.LA(2);
if ( (synpred33_InternalSARL()) ) {
alt301=1;
}
}
break;
}
switch (alt301) {
case 1 :
// InternalSARL.g:12371:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) )
{
// InternalSARL.g:12371:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) )
// InternalSARL.g:12372:5: ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) )
{
// InternalSARL.g:12382:5: ( () ( ( ruleOpMulti ) ) )
// InternalSARL.g:12383:6: () ( ( ruleOpMulti ) )
{
// InternalSARL.g:12383:6: ()
// InternalSARL.g:12384:7:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(),
current);
}
}
// InternalSARL.g:12390:6: ( ( ruleOpMulti ) )
// InternalSARL.g:12391:7: ( ruleOpMulti )
{
// InternalSARL.g:12391:7: ( ruleOpMulti )
// InternalSARL.g:12392:8: ruleOpMulti
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXMultiplicativeExpressionRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0());
}
pushFollow(FOLLOW_45);
ruleOpMulti();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalSARL.g:12408:4: ( (lv_rightOperand_3_0= ruleXUnaryOperation ) )
// InternalSARL.g:12409:5: (lv_rightOperand_3_0= ruleXUnaryOperation )
{
// InternalSARL.g:12409:5: (lv_rightOperand_3_0= ruleXUnaryOperation )
// InternalSARL.g:12410:6: lv_rightOperand_3_0= ruleXUnaryOperation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_118);
lv_rightOperand_3_0=ruleXUnaryOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXMultiplicativeExpressionRule());
}
set(
current,
"rightOperand",
lv_rightOperand_3_0,
"org.eclipse.xtext.xbase.Xbase.XUnaryOperation");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop301;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXMultiplicativeExpression"
// $ANTLR start "entryRuleOpMulti"
// InternalSARL.g:12432:1: entryRuleOpMulti returns [String current=null] : iv_ruleOpMulti= ruleOpMulti EOF ;
public final String entryRuleOpMulti() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpMulti = null;
try {
// InternalSARL.g:12432:47: (iv_ruleOpMulti= ruleOpMulti EOF )
// InternalSARL.g:12433:2: iv_ruleOpMulti= ruleOpMulti EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpMultiRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpMulti=ruleOpMulti();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpMulti.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpMulti"
// $ANTLR start "ruleOpMulti"
// InternalSARL.g:12439:1: ruleOpMulti returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) ;
public final AntlrDatatypeRuleToken ruleOpMulti() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalSARL.g:12445:2: ( (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) )
// InternalSARL.g:12446:2: (kw= '*' | kw= '**' | kw= '/' | kw= '%' )
{
// InternalSARL.g:12446:2: (kw= '*' | kw= '**' | kw= '/' | kw= '%' )
int alt302=4;
switch ( input.LA(1) ) {
case 59:
{
alt302=1;
}
break;
case 116:
{
alt302=2;
}
break;
case 117:
{
alt302=3;
}
break;
case 118:
{
alt302=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 302, 0, input);
throw nvae;
}
switch (alt302) {
case 1 :
// InternalSARL.g:12447:3: kw= '*'
{
kw=(Token)match(input,59,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskKeyword_0());
}
}
break;
case 2 :
// InternalSARL.g:12453:3: kw= '**'
{
kw=(Token)match(input,116,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1());
}
}
break;
case 3 :
// InternalSARL.g:12459:3: kw= '/'
{
kw=(Token)match(input,117,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAccess().getSolidusKeyword_2());
}
}
break;
case 4 :
// InternalSARL.g:12465:3: kw= '%'
{
kw=(Token)match(input,118,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAccess().getPercentSignKeyword_3());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpMulti"
// $ANTLR start "entryRuleXUnaryOperation"
// InternalSARL.g:12474:1: entryRuleXUnaryOperation returns [EObject current=null] : iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ;
public final EObject entryRuleXUnaryOperation() throws RecognitionException {
EObject current = null;
EObject iv_ruleXUnaryOperation = null;
try {
// InternalSARL.g:12474:56: (iv_ruleXUnaryOperation= ruleXUnaryOperation EOF )
// InternalSARL.g:12475:2: iv_ruleXUnaryOperation= ruleXUnaryOperation EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXUnaryOperationRule());
}
pushFollow(FOLLOW_1);
iv_ruleXUnaryOperation=ruleXUnaryOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXUnaryOperation;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXUnaryOperation"
// $ANTLR start "ruleXUnaryOperation"
// InternalSARL.g:12481:1: ruleXUnaryOperation returns [EObject current=null] : ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) ;
public final EObject ruleXUnaryOperation() throws RecognitionException {
EObject current = null;
EObject lv_operand_2_0 = null;
EObject this_XCastedExpression_3 = null;
enterRule();
try {
// InternalSARL.g:12487:2: ( ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) )
// InternalSARL.g:12488:2: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression )
{
// InternalSARL.g:12488:2: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression )
int alt303=2;
int LA303_0 = input.LA(1);
if ( ((LA303_0>=114 && LA303_0<=115)||LA303_0==119) ) {
alt303=1;
}
else if ( ((LA303_0>=RULE_ID && LA303_0<=RULE_RICH_TEXT_START)||(LA303_0>=RULE_HEX && LA303_0<=RULE_DECIMAL)||LA303_0==25||(LA303_0>=28 && LA303_0<=29)||LA303_0==36||(LA303_0>=39 && LA303_0<=40)||(LA303_0>=42 && LA303_0<=45)||(LA303_0>=48 && LA303_0<=49)||LA303_0==51||LA303_0==55||LA303_0==60||LA303_0==63||LA303_0==65||(LA303_0>=69 && LA303_0<=87)||LA303_0==95||LA303_0==125||(LA303_0>=128 && LA303_0<=137)) ) {
alt303=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 303, 0, input);
throw nvae;
}
switch (alt303) {
case 1 :
// InternalSARL.g:12489:3: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) )
{
// InternalSARL.g:12489:3: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) )
// InternalSARL.g:12490:4: () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) )
{
// InternalSARL.g:12490:4: ()
// InternalSARL.g:12491:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0(),
current);
}
}
// InternalSARL.g:12497:4: ( ( ruleOpUnary ) )
// InternalSARL.g:12498:5: ( ruleOpUnary )
{
// InternalSARL.g:12498:5: ( ruleOpUnary )
// InternalSARL.g:12499:6: ruleOpUnary
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXUnaryOperationRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0());
}
pushFollow(FOLLOW_45);
ruleOpUnary();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:12513:4: ( (lv_operand_2_0= ruleXUnaryOperation ) )
// InternalSARL.g:12514:5: (lv_operand_2_0= ruleXUnaryOperation )
{
// InternalSARL.g:12514:5: (lv_operand_2_0= ruleXUnaryOperation )
// InternalSARL.g:12515:6: lv_operand_2_0= ruleXUnaryOperation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0());
}
pushFollow(FOLLOW_2);
lv_operand_2_0=ruleXUnaryOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXUnaryOperationRule());
}
set(
current,
"operand",
lv_operand_2_0,
"org.eclipse.xtext.xbase.Xbase.XUnaryOperation");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalSARL.g:12534:3: this_XCastedExpression_3= ruleXCastedExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_XCastedExpression_3=ruleXCastedExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XCastedExpression_3;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXUnaryOperation"
// $ANTLR start "entryRuleOpUnary"
// InternalSARL.g:12546:1: entryRuleOpUnary returns [String current=null] : iv_ruleOpUnary= ruleOpUnary EOF ;
public final String entryRuleOpUnary() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpUnary = null;
try {
// InternalSARL.g:12546:47: (iv_ruleOpUnary= ruleOpUnary EOF )
// InternalSARL.g:12547:2: iv_ruleOpUnary= ruleOpUnary EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpUnaryRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpUnary=ruleOpUnary();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpUnary.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpUnary"
// $ANTLR start "ruleOpUnary"
// InternalSARL.g:12553:1: ruleOpUnary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '!' | kw= '-' | kw= '+' ) ;
public final AntlrDatatypeRuleToken ruleOpUnary() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalSARL.g:12559:2: ( (kw= '!' | kw= '-' | kw= '+' ) )
// InternalSARL.g:12560:2: (kw= '!' | kw= '-' | kw= '+' )
{
// InternalSARL.g:12560:2: (kw= '!' | kw= '-' | kw= '+' )
int alt304=3;
switch ( input.LA(1) ) {
case 119:
{
alt304=1;
}
break;
case 115:
{
alt304=2;
}
break;
case 114:
{
alt304=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 304, 0, input);
throw nvae;
}
switch (alt304) {
case 1 :
// InternalSARL.g:12561:3: kw= '!'
{
kw=(Token)match(input,119,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0());
}
}
break;
case 2 :
// InternalSARL.g:12567:3: kw= '-'
{
kw=(Token)match(input,115,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1());
}
}
break;
case 3 :
// InternalSARL.g:12573:3: kw= '+'
{
kw=(Token)match(input,114,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpUnary"
// $ANTLR start "entryRuleXCastedExpression"
// InternalSARL.g:12582:1: entryRuleXCastedExpression returns [EObject current=null] : iv_ruleXCastedExpression= ruleXCastedExpression EOF ;
public final EObject entryRuleXCastedExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXCastedExpression = null;
try {
// InternalSARL.g:12582:58: (iv_ruleXCastedExpression= ruleXCastedExpression EOF )
// InternalSARL.g:12583:2: iv_ruleXCastedExpression= ruleXCastedExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCastedExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXCastedExpression=ruleXCastedExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXCastedExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXCastedExpression"
// $ANTLR start "ruleXCastedExpression"
// InternalSARL.g:12589:1: ruleXCastedExpression returns [EObject current=null] : (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) ;
public final EObject ruleXCastedExpression() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
EObject this_XPostfixOperation_0 = null;
EObject lv_type_3_0 = null;
enterRule();
try {
// InternalSARL.g:12595:2: ( (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) )
// InternalSARL.g:12596:2: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* )
{
// InternalSARL.g:12596:2: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* )
// InternalSARL.g:12597:3: this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0());
}
pushFollow(FOLLOW_80);
this_XPostfixOperation_0=ruleXPostfixOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XPostfixOperation_0;
afterParserOrEnumRuleCall();
}
// InternalSARL.g:12605:3: ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )*
loop305:
do {
int alt305=2;
int LA305_0 = input.LA(1);
if ( (LA305_0==64) ) {
int LA305_2 = input.LA(2);
if ( (synpred34_InternalSARL()) ) {
alt305=1;
}
}
switch (alt305) {
case 1 :
// InternalSARL.g:12606:4: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) )
{
// InternalSARL.g:12606:4: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) )
// InternalSARL.g:12607:5: ( ( () 'as' ) )=> ( () otherlv_2= 'as' )
{
// InternalSARL.g:12613:5: ( () otherlv_2= 'as' )
// InternalSARL.g:12614:6: () otherlv_2= 'as'
{
// InternalSARL.g:12614:6: ()
// InternalSARL.g:12615:7:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0(),
current);
}
}
otherlv_2=(Token)match(input,64,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1());
}
}
}
// InternalSARL.g:12627:4: ( (lv_type_3_0= ruleJvmTypeReference ) )
// InternalSARL.g:12628:5: (lv_type_3_0= ruleJvmTypeReference )
{
// InternalSARL.g:12628:5: (lv_type_3_0= ruleJvmTypeReference )
// InternalSARL.g:12629:6: lv_type_3_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_80);
lv_type_3_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXCastedExpressionRule());
}
set(
current,
"type",
lv_type_3_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop305;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXCastedExpression"
// $ANTLR start "entryRuleXPostfixOperation"
// InternalSARL.g:12651:1: entryRuleXPostfixOperation returns [EObject current=null] : iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ;
public final EObject entryRuleXPostfixOperation() throws RecognitionException {
EObject current = null;
EObject iv_ruleXPostfixOperation = null;
try {
// InternalSARL.g:12651:58: (iv_ruleXPostfixOperation= ruleXPostfixOperation EOF )
// InternalSARL.g:12652:2: iv_ruleXPostfixOperation= ruleXPostfixOperation EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPostfixOperationRule());
}
pushFollow(FOLLOW_1);
iv_ruleXPostfixOperation=ruleXPostfixOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXPostfixOperation;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXPostfixOperation"
// $ANTLR start "ruleXPostfixOperation"
// InternalSARL.g:12658:1: ruleXPostfixOperation returns [EObject current=null] : (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) ;
public final EObject ruleXPostfixOperation() throws RecognitionException {
EObject current = null;
EObject this_XMemberFeatureCall_0 = null;
enterRule();
try {
// InternalSARL.g:12664:2: ( (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) )
// InternalSARL.g:12665:2: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? )
{
// InternalSARL.g:12665:2: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? )
// InternalSARL.g:12666:3: this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )?
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0());
}
pushFollow(FOLLOW_119);
this_XMemberFeatureCall_0=ruleXMemberFeatureCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XMemberFeatureCall_0;
afterParserOrEnumRuleCall();
}
// InternalSARL.g:12674:3: ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )?
int alt306=2;
int LA306_0 = input.LA(1);
if ( (LA306_0==120) ) {
int LA306_1 = input.LA(2);
if ( (synpred35_InternalSARL()) ) {
alt306=1;
}
}
else if ( (LA306_0==121) ) {
int LA306_2 = input.LA(2);
if ( (synpred35_InternalSARL()) ) {
alt306=1;
}
}
switch (alt306) {
case 1 :
// InternalSARL.g:12675:4: ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) )
{
// InternalSARL.g:12685:4: ( () ( ( ruleOpPostfix ) ) )
// InternalSARL.g:12686:5: () ( ( ruleOpPostfix ) )
{
// InternalSARL.g:12686:5: ()
// InternalSARL.g:12687:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0(),
current);
}
}
// InternalSARL.g:12693:5: ( ( ruleOpPostfix ) )
// InternalSARL.g:12694:6: ( ruleOpPostfix )
{
// InternalSARL.g:12694:6: ( ruleOpPostfix )
// InternalSARL.g:12695:7: ruleOpPostfix
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXPostfixOperationRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0());
}
pushFollow(FOLLOW_2);
ruleOpPostfix();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXPostfixOperation"
// $ANTLR start "entryRuleOpPostfix"
// InternalSARL.g:12715:1: entryRuleOpPostfix returns [String current=null] : iv_ruleOpPostfix= ruleOpPostfix EOF ;
public final String entryRuleOpPostfix() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpPostfix = null;
try {
// InternalSARL.g:12715:49: (iv_ruleOpPostfix= ruleOpPostfix EOF )
// InternalSARL.g:12716:2: iv_ruleOpPostfix= ruleOpPostfix EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpPostfixRule());
}
pushFollow(FOLLOW_1);
iv_ruleOpPostfix=ruleOpPostfix();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpPostfix.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpPostfix"
// $ANTLR start "ruleOpPostfix"
// InternalSARL.g:12722:1: ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '++' | kw= '--' ) ;
public final AntlrDatatypeRuleToken ruleOpPostfix() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalSARL.g:12728:2: ( (kw= '++' | kw= '--' ) )
// InternalSARL.g:12729:2: (kw= '++' | kw= '--' )
{
// InternalSARL.g:12729:2: (kw= '++' | kw= '--' )
int alt307=2;
int LA307_0 = input.LA(1);
if ( (LA307_0==120) ) {
alt307=1;
}
else if ( (LA307_0==121) ) {
alt307=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 307, 0, input);
throw nvae;
}
switch (alt307) {
case 1 :
// InternalSARL.g:12730:3: kw= '++'
{
kw=(Token)match(input,120,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0());
}
}
break;
case 2 :
// InternalSARL.g:12736:3: kw= '--'
{
kw=(Token)match(input,121,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpPostfix"
// $ANTLR start "entryRuleXMemberFeatureCall"
// InternalSARL.g:12745:1: entryRuleXMemberFeatureCall returns [EObject current=null] : iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ;
public final EObject entryRuleXMemberFeatureCall() throws RecognitionException {
EObject current = null;
EObject iv_ruleXMemberFeatureCall = null;
try {
// InternalSARL.g:12745:59: (iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF )
// InternalSARL.g:12746:2: iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallRule());
}
pushFollow(FOLLOW_1);
iv_ruleXMemberFeatureCall=ruleXMemberFeatureCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXMemberFeatureCall;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXMemberFeatureCall"
// $ANTLR start "ruleXMemberFeatureCall"
// InternalSARL.g:12752:1: ruleXMemberFeatureCall returns [EObject current=null] : (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) ;
public final EObject ruleXMemberFeatureCall() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token lv_explicitStatic_3_0=null;
Token otherlv_8=null;
Token lv_nullSafe_9_0=null;
Token lv_explicitStatic_10_0=null;
Token otherlv_11=null;
Token otherlv_13=null;
Token otherlv_15=null;
Token lv_explicitOperationCall_17_0=null;
Token otherlv_20=null;
Token otherlv_22=null;
EObject this_XPrimaryExpression_0 = null;
EObject lv_value_6_0 = null;
EObject lv_typeArguments_12_0 = null;
EObject lv_typeArguments_14_0 = null;
EObject lv_memberCallArguments_18_0 = null;
EObject lv_memberCallArguments_19_0 = null;
EObject lv_memberCallArguments_21_0 = null;
EObject lv_memberCallArguments_23_0 = null;
enterRule();
try {
// InternalSARL.g:12758:2: ( (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) )
// InternalSARL.g:12759:2: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* )
{
// InternalSARL.g:12759:2: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* )
// InternalSARL.g:12760:3: this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0());
}
pushFollow(FOLLOW_120);
this_XPrimaryExpression_0=ruleXPrimaryExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XPrimaryExpression_0;
afterParserOrEnumRuleCall();
}
// InternalSARL.g:12768:3: ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )*
loop316:
do {
int alt316=3;
switch ( input.LA(1) ) {
case 68:
{
int LA316_2 = input.LA(2);
if ( (synpred36_InternalSARL()) ) {
alt316=1;
}
else if ( (synpred37_InternalSARL()) ) {
alt316=2;
}
}
break;
case 122:
{
int LA316_3 = input.LA(2);
if ( (synpred36_InternalSARL()) ) {
alt316=1;
}
else if ( (synpred37_InternalSARL()) ) {
alt316=2;
}
}
break;
case 123:
{
int LA316_4 = input.LA(2);
if ( (synpred37_InternalSARL()) ) {
alt316=2;
}
}
break;
}
switch (alt316) {
case 1 :
// InternalSARL.g:12769:4: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) )
{
// InternalSARL.g:12769:4: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) )
// InternalSARL.g:12770:5: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) )
{
// InternalSARL.g:12770:5: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )
// InternalSARL.g:12771:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
{
// InternalSARL.g:12791:6: ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
// InternalSARL.g:12792:7: () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign
{
// InternalSARL.g:12792:7: ()
// InternalSARL.g:12793:8:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0(),
current);
}
}
// InternalSARL.g:12799:7: (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) )
int alt308=2;
int LA308_0 = input.LA(1);
if ( (LA308_0==68) ) {
alt308=1;
}
else if ( (LA308_0==122) ) {
alt308=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 308, 0, input);
throw nvae;
}
switch (alt308) {
case 1 :
// InternalSARL.g:12800:8: otherlv_2= '.'
{
otherlv_2=(Token)match(input,68,FOLLOW_121); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0());
}
}
break;
case 2 :
// InternalSARL.g:12805:8: ( (lv_explicitStatic_3_0= '::' ) )
{
// InternalSARL.g:12805:8: ( (lv_explicitStatic_3_0= '::' ) )
// InternalSARL.g:12806:9: (lv_explicitStatic_3_0= '::' )
{
// InternalSARL.g:12806:9: (lv_explicitStatic_3_0= '::' )
// InternalSARL.g:12807:10: lv_explicitStatic_3_0= '::'
{
lv_explicitStatic_3_0=(Token)match(input,122,FOLLOW_121); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_explicitStatic_3_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
}
setWithLastConsumed(current, "explicitStatic", true, "::");
}
}
}
}
break;
}
// InternalSARL.g:12820:7: ( ( ruleFeatureCallID ) )
// InternalSARL.g:12821:8: ( ruleFeatureCallID )
{
// InternalSARL.g:12821:8: ( ruleFeatureCallID )
// InternalSARL.g:12822:9: ruleFeatureCallID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0());
}
pushFollow(FOLLOW_81);
ruleFeatureCallID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3());
}
pushFollow(FOLLOW_45);
ruleOpSingleAssign();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:12845:5: ( (lv_value_6_0= ruleXAssignment ) )
// InternalSARL.g:12846:6: (lv_value_6_0= ruleXAssignment )
{
// InternalSARL.g:12846:6: (lv_value_6_0= ruleXAssignment )
// InternalSARL.g:12847:7: lv_value_6_0= ruleXAssignment
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0());
}
pushFollow(FOLLOW_120);
lv_value_6_0=ruleXAssignment();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
set(
current,
"value",
lv_value_6_0,
"org.eclipse.xtext.xbase.Xbase.XAssignment");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalSARL.g:12866:4: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? )
{
// InternalSARL.g:12866:4: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? )
// InternalSARL.g:12867:5: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?
{
// InternalSARL.g:12867:5: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) )
// InternalSARL.g:12868:6: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) )
{
// InternalSARL.g:12888:6: ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) )
// InternalSARL.g:12889:7: () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) )
{
// InternalSARL.g:12889:7: ()
// InternalSARL.g:12890:8:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(),
current);
}
}
// InternalSARL.g:12896:7: (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) )
int alt309=3;
switch ( input.LA(1) ) {
case 68:
{
alt309=1;
}
break;
case 123:
{
alt309=2;
}
break;
case 122:
{
alt309=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 309, 0, input);
throw nvae;
}
switch (alt309) {
case 1 :
// InternalSARL.g:12897:8: otherlv_8= '.'
{
otherlv_8=(Token)match(input,68,FOLLOW_122); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0());
}
}
break;
case 2 :
// InternalSARL.g:12902:8: ( (lv_nullSafe_9_0= '?.' ) )
{
// InternalSARL.g:12902:8: ( (lv_nullSafe_9_0= '?.' ) )
// InternalSARL.g:12903:9: (lv_nullSafe_9_0= '?.' )
{
// InternalSARL.g:12903:9: (lv_nullSafe_9_0= '?.' )
// InternalSARL.g:12904:10: lv_nullSafe_9_0= '?.'
{
lv_nullSafe_9_0=(Token)match(input,123,FOLLOW_122); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_nullSafe_9_0, grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
}
setWithLastConsumed(current, "nullSafe", true, "?.");
}
}
}
}
break;
case 3 :
// InternalSARL.g:12917:8: ( (lv_explicitStatic_10_0= '::' ) )
{
// InternalSARL.g:12917:8: ( (lv_explicitStatic_10_0= '::' ) )
// InternalSARL.g:12918:9: (lv_explicitStatic_10_0= '::' )
{
// InternalSARL.g:12918:9: (lv_explicitStatic_10_0= '::' )
// InternalSARL.g:12919:10: lv_explicitStatic_10_0= '::'
{
lv_explicitStatic_10_0=(Token)match(input,122,FOLLOW_122); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_explicitStatic_10_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
}
setWithLastConsumed(current, "explicitStatic", true, "::");
}
}
}
}
break;
}
}
}
// InternalSARL.g:12934:5: (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )?
int alt311=2;
int LA311_0 = input.LA(1);
if ( (LA311_0==40) ) {
alt311=1;
}
switch (alt311) {
case 1 :
// InternalSARL.g:12935:6: otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>'
{
otherlv_11=(Token)match(input,40,FOLLOW_88); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0());
}
// InternalSARL.g:12939:6: ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) )
// InternalSARL.g:12940:7: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference )
{
// InternalSARL.g:12940:7: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference )
// InternalSARL.g:12941:8: lv_typeArguments_12_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0());
}
pushFollow(FOLLOW_28);
lv_typeArguments_12_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
add(
current,
"typeArguments",
lv_typeArguments_12_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:12958:6: (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )*
loop310:
do {
int alt310=2;
int LA310_0 = input.LA(1);
if ( (LA310_0==32) ) {
alt310=1;
}
switch (alt310) {
case 1 :
// InternalSARL.g:12959:7: otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) )
{
otherlv_13=(Token)match(input,32,FOLLOW_88); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0());
}
// InternalSARL.g:12963:7: ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) )
// InternalSARL.g:12964:8: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference )
{
// InternalSARL.g:12964:8: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference )
// InternalSARL.g:12965:9: lv_typeArguments_14_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0());
}
pushFollow(FOLLOW_28);
lv_typeArguments_14_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
add(
current,
"typeArguments",
lv_typeArguments_14_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop310;
}
} while (true);
otherlv_15=(Token)match(input,41,FOLLOW_122); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_15, grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3());
}
}
break;
}
// InternalSARL.g:12988:5: ( ( ruleIdOrSuper ) )
// InternalSARL.g:12989:6: ( ruleIdOrSuper )
{
// InternalSARL.g:12989:6: ( ruleIdOrSuper )
// InternalSARL.g:12990:7: ruleIdOrSuper
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0());
}
pushFollow(FOLLOW_123);
ruleIdOrSuper();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:13004:5: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )?
int alt314=2;
alt314 = dfa314.predict(input);
switch (alt314) {
case 1 :
// InternalSARL.g:13005:6: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')'
{
// InternalSARL.g:13005:6: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) )
// InternalSARL.g:13006:7: ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' )
{
// InternalSARL.g:13010:7: (lv_explicitOperationCall_17_0= '(' )
// InternalSARL.g:13011:8: lv_explicitOperationCall_17_0= '('
{
lv_explicitOperationCall_17_0=(Token)match(input,49,FOLLOW_93); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_explicitOperationCall_17_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXMemberFeatureCallRule());
}
setWithLastConsumed(current, "explicitOperationCall", true, "(");
}
}
}
// InternalSARL.g:13023:6: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )?
int alt313=3;
alt313 = dfa313.predict(input);
switch (alt313) {
case 1 :
// InternalSARL.g:13024:7: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) )
{
// InternalSARL.g:13024:7: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) )
// InternalSARL.g:13025:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure )
{
// InternalSARL.g:13050:8: (lv_memberCallArguments_18_0= ruleXShortClosure )
// InternalSARL.g:13051:9: lv_memberCallArguments_18_0= ruleXShortClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0());
}
pushFollow(FOLLOW_78);
lv_memberCallArguments_18_0=ruleXShortClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
add(
current,
"memberCallArguments",
lv_memberCallArguments_18_0,
"org.eclipse.xtext.xbase.Xbase.XShortClosure");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalSARL.g:13069:7: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* )
{
// InternalSARL.g:13069:7: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* )
// InternalSARL.g:13070:8: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )*
{
// InternalSARL.g:13070:8: ( (lv_memberCallArguments_19_0= ruleXExpression ) )
// InternalSARL.g:13071:9: (lv_memberCallArguments_19_0= ruleXExpression )
{
// InternalSARL.g:13071:9: (lv_memberCallArguments_19_0= ruleXExpression )
// InternalSARL.g:13072:10: lv_memberCallArguments_19_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0());
}
pushFollow(FOLLOW_51);
lv_memberCallArguments_19_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
add(
current,
"memberCallArguments",
lv_memberCallArguments_19_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:13089:8: (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )*
loop312:
do {
int alt312=2;
int LA312_0 = input.LA(1);
if ( (LA312_0==32) ) {
alt312=1;
}
switch (alt312) {
case 1 :
// InternalSARL.g:13090:9: otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) )
{
otherlv_20=(Token)match(input,32,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_20, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0());
}
// InternalSARL.g:13094:9: ( (lv_memberCallArguments_21_0= ruleXExpression ) )
// InternalSARL.g:13095:10: (lv_memberCallArguments_21_0= ruleXExpression )
{
// InternalSARL.g:13095:10: (lv_memberCallArguments_21_0= ruleXExpression )
// InternalSARL.g:13096:11: lv_memberCallArguments_21_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0());
}
pushFollow(FOLLOW_51);
lv_memberCallArguments_21_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
add(
current,
"memberCallArguments",
lv_memberCallArguments_21_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop312;
}
} while (true);
}
}
break;
}
otherlv_22=(Token)match(input,50,FOLLOW_124); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_22, grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2());
}
}
break;
}
// InternalSARL.g:13121:5: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?
int alt315=2;
alt315 = dfa315.predict(input);
switch (alt315) {
case 1 :
// InternalSARL.g:13122:6: ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure )
{
// InternalSARL.g:13128:6: (lv_memberCallArguments_23_0= ruleXClosure )
// InternalSARL.g:13129:7: lv_memberCallArguments_23_0= ruleXClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0());
}
pushFollow(FOLLOW_120);
lv_memberCallArguments_23_0=ruleXClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule());
}
add(
current,
"memberCallArguments",
lv_memberCallArguments_23_0,
"org.eclipse.xtext.xbase.Xbase.XClosure");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
break;
default :
break loop316;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXMemberFeatureCall"
// $ANTLR start "entryRuleXLiteral"
// InternalSARL.g:13152:1: entryRuleXLiteral returns [EObject current=null] : iv_ruleXLiteral= ruleXLiteral EOF ;
public final EObject entryRuleXLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXLiteral = null;
try {
// InternalSARL.g:13152:49: (iv_ruleXLiteral= ruleXLiteral EOF )
// InternalSARL.g:13153:2: iv_ruleXLiteral= ruleXLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleXLiteral=ruleXLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXLiteral"
// $ANTLR start "ruleXLiteral"
// InternalSARL.g:13159:1: ruleXLiteral returns [EObject current=null] : (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) ;
public final EObject ruleXLiteral() throws RecognitionException {
EObject current = null;
EObject this_XCollectionLiteral_0 = null;
EObject this_XClosure_1 = null;
EObject this_XBooleanLiteral_2 = null;
EObject this_XNumberLiteral_3 = null;
EObject this_XNullLiteral_4 = null;
EObject this_XStringLiteral_5 = null;
EObject this_XTypeLiteral_6 = null;
enterRule();
try {
// InternalSARL.g:13165:2: ( (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) )
// InternalSARL.g:13166:2: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral )
{
// InternalSARL.g:13166:2: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral )
int alt317=7;
int LA317_0 = input.LA(1);
if ( (LA317_0==95) ) {
alt317=1;
}
else if ( (LA317_0==55) && (synpred41_InternalSARL())) {
alt317=2;
}
else if ( ((LA317_0>=131 && LA317_0<=132)) ) {
alt317=3;
}
else if ( ((LA317_0>=RULE_HEX && LA317_0<=RULE_DECIMAL)) ) {
alt317=4;
}
else if ( (LA317_0==133) ) {
alt317=5;
}
else if ( ((LA317_0>=RULE_STRING && LA317_0<=RULE_RICH_TEXT_START)) ) {
alt317=6;
}
else if ( (LA317_0==134) ) {
alt317=7;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 317, 0, input);
throw nvae;
}
switch (alt317) {
case 1 :
// InternalSARL.g:13167:3: this_XCollectionLiteral_0= ruleXCollectionLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0());
}
pushFollow(FOLLOW_2);
this_XCollectionLiteral_0=ruleXCollectionLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XCollectionLiteral_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalSARL.g:13176:3: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure )
{
// InternalSARL.g:13176:3: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure )
// InternalSARL.g:13177:4: ( ( () '[' ) )=>this_XClosure_1= ruleXClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_XClosure_1=ruleXClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XClosure_1;
afterParserOrEnumRuleCall();
}
}
}
break;
case 3 :
// InternalSARL.g:13193:3: this_XBooleanLiteral_2= ruleXBooleanLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2());
}
pushFollow(FOLLOW_2);
this_XBooleanLiteral_2=ruleXBooleanLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XBooleanLiteral_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalSARL.g:13202:3: this_XNumberLiteral_3= ruleXNumberLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3());
}
pushFollow(FOLLOW_2);
this_XNumberLiteral_3=ruleXNumberLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XNumberLiteral_3;
afterParserOrEnumRuleCall();
}
}
break;
case 5 :
// InternalSARL.g:13211:3: this_XNullLiteral_4= ruleXNullLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4());
}
pushFollow(FOLLOW_2);
this_XNullLiteral_4=ruleXNullLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XNullLiteral_4;
afterParserOrEnumRuleCall();
}
}
break;
case 6 :
// InternalSARL.g:13220:3: this_XStringLiteral_5= ruleXStringLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5());
}
pushFollow(FOLLOW_2);
this_XStringLiteral_5=ruleXStringLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XStringLiteral_5;
afterParserOrEnumRuleCall();
}
}
break;
case 7 :
// InternalSARL.g:13229:3: this_XTypeLiteral_6= ruleXTypeLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6());
}
pushFollow(FOLLOW_2);
this_XTypeLiteral_6=ruleXTypeLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XTypeLiteral_6;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXLiteral"
// $ANTLR start "entryRuleXCollectionLiteral"
// InternalSARL.g:13241:1: entryRuleXCollectionLiteral returns [EObject current=null] : iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ;
public final EObject entryRuleXCollectionLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXCollectionLiteral = null;
try {
// InternalSARL.g:13241:59: (iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF )
// InternalSARL.g:13242:2: iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCollectionLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleXCollectionLiteral=ruleXCollectionLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXCollectionLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXCollectionLiteral"
// $ANTLR start "ruleXCollectionLiteral"
// InternalSARL.g:13248:1: ruleXCollectionLiteral returns [EObject current=null] : (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) ;
public final EObject ruleXCollectionLiteral() throws RecognitionException {
EObject current = null;
EObject this_XSetLiteral_0 = null;
EObject this_XListLiteral_1 = null;
enterRule();
try {
// InternalSARL.g:13254:2: ( (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) )
// InternalSARL.g:13255:2: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral )
{
// InternalSARL.g:13255:2: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral )
int alt318=2;
int LA318_0 = input.LA(1);
if ( (LA318_0==95) ) {
int LA318_1 = input.LA(2);
if ( (LA318_1==55) ) {
alt318=2;
}
else if ( (LA318_1==29) ) {
alt318=1;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 318, 1, input);
throw nvae;
}
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 318, 0, input);
throw nvae;
}
switch (alt318) {
case 1 :
// InternalSARL.g:13256:3: this_XSetLiteral_0= ruleXSetLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0());
}
pushFollow(FOLLOW_2);
this_XSetLiteral_0=ruleXSetLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XSetLiteral_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalSARL.g:13265:3: this_XListLiteral_1= ruleXListLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_XListLiteral_1=ruleXListLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XListLiteral_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXCollectionLiteral"
// $ANTLR start "entryRuleXSetLiteral"
// InternalSARL.g:13277:1: entryRuleXSetLiteral returns [EObject current=null] : iv_ruleXSetLiteral= ruleXSetLiteral EOF ;
public final EObject entryRuleXSetLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXSetLiteral = null;
try {
// InternalSARL.g:13277:52: (iv_ruleXSetLiteral= ruleXSetLiteral EOF )
// InternalSARL.g:13278:2: iv_ruleXSetLiteral= ruleXSetLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSetLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleXSetLiteral=ruleXSetLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXSetLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXSetLiteral"
// $ANTLR start "ruleXSetLiteral"
// InternalSARL.g:13284:1: ruleXSetLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) ;
public final EObject ruleXSetLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
EObject lv_elements_3_0 = null;
EObject lv_elements_5_0 = null;
enterRule();
try {
// InternalSARL.g:13290:2: ( ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) )
// InternalSARL.g:13291:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' )
{
// InternalSARL.g:13291:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' )
// InternalSARL.g:13292:3: () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}'
{
// InternalSARL.g:13292:3: ()
// InternalSARL.g:13293:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0(),
current);
}
}
otherlv_1=(Token)match(input,95,FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1());
}
otherlv_2=(Token)match(input,29,FOLLOW_125); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2());
}
// InternalSARL.g:13307:3: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )?
int alt320=2;
int LA320_0 = input.LA(1);
if ( ((LA320_0>=RULE_ID && LA320_0<=RULE_RICH_TEXT_START)||(LA320_0>=RULE_HEX && LA320_0<=RULE_DECIMAL)||LA320_0==25||(LA320_0>=28 && LA320_0<=29)||LA320_0==36||(LA320_0>=39 && LA320_0<=40)||(LA320_0>=42 && LA320_0<=45)||(LA320_0>=48 && LA320_0<=49)||LA320_0==51||LA320_0==55||LA320_0==60||LA320_0==63||LA320_0==65||(LA320_0>=69 && LA320_0<=87)||LA320_0==95||(LA320_0>=114 && LA320_0<=115)||LA320_0==119||LA320_0==125||(LA320_0>=128 && LA320_0<=137)) ) {
alt320=1;
}
switch (alt320) {
case 1 :
// InternalSARL.g:13308:4: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
{
// InternalSARL.g:13308:4: ( (lv_elements_3_0= ruleXExpression ) )
// InternalSARL.g:13309:5: (lv_elements_3_0= ruleXExpression )
{
// InternalSARL.g:13309:5: (lv_elements_3_0= ruleXExpression )
// InternalSARL.g:13310:6: lv_elements_3_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0());
}
pushFollow(FOLLOW_126);
lv_elements_3_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSetLiteralRule());
}
add(
current,
"elements",
lv_elements_3_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:13327:4: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
loop319:
do {
int alt319=2;
int LA319_0 = input.LA(1);
if ( (LA319_0==32) ) {
alt319=1;
}
switch (alt319) {
case 1 :
// InternalSARL.g:13328:5: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) )
{
otherlv_4=(Token)match(input,32,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0());
}
// InternalSARL.g:13332:5: ( (lv_elements_5_0= ruleXExpression ) )
// InternalSARL.g:13333:6: (lv_elements_5_0= ruleXExpression )
{
// InternalSARL.g:13333:6: (lv_elements_5_0= ruleXExpression )
// InternalSARL.g:13334:7: lv_elements_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0());
}
pushFollow(FOLLOW_126);
lv_elements_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSetLiteralRule());
}
add(
current,
"elements",
lv_elements_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop319;
}
} while (true);
}
break;
}
otherlv_6=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXSetLiteral"
// $ANTLR start "entryRuleXListLiteral"
// InternalSARL.g:13361:1: entryRuleXListLiteral returns [EObject current=null] : iv_ruleXListLiteral= ruleXListLiteral EOF ;
public final EObject entryRuleXListLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXListLiteral = null;
try {
// InternalSARL.g:13361:53: (iv_ruleXListLiteral= ruleXListLiteral EOF )
// InternalSARL.g:13362:2: iv_ruleXListLiteral= ruleXListLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXListLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleXListLiteral=ruleXListLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXListLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXListLiteral"
// $ANTLR start "ruleXListLiteral"
// InternalSARL.g:13368:1: ruleXListLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) ;
public final EObject ruleXListLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
EObject lv_elements_3_0 = null;
EObject lv_elements_5_0 = null;
enterRule();
try {
// InternalSARL.g:13374:2: ( ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) )
// InternalSARL.g:13375:2: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' )
{
// InternalSARL.g:13375:2: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' )
// InternalSARL.g:13376:3: () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']'
{
// InternalSARL.g:13376:3: ()
// InternalSARL.g:13377:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXListLiteralAccess().getXListLiteralAction_0(),
current);
}
}
otherlv_1=(Token)match(input,95,FOLLOW_86); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1());
}
otherlv_2=(Token)match(input,55,FOLLOW_127); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2());
}
// InternalSARL.g:13391:3: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )?
int alt322=2;
int LA322_0 = input.LA(1);
if ( ((LA322_0>=RULE_ID && LA322_0<=RULE_RICH_TEXT_START)||(LA322_0>=RULE_HEX && LA322_0<=RULE_DECIMAL)||LA322_0==25||(LA322_0>=28 && LA322_0<=29)||LA322_0==36||(LA322_0>=39 && LA322_0<=40)||(LA322_0>=42 && LA322_0<=45)||(LA322_0>=48 && LA322_0<=49)||LA322_0==51||LA322_0==55||LA322_0==60||LA322_0==63||LA322_0==65||(LA322_0>=69 && LA322_0<=87)||LA322_0==95||(LA322_0>=114 && LA322_0<=115)||LA322_0==119||LA322_0==125||(LA322_0>=128 && LA322_0<=137)) ) {
alt322=1;
}
switch (alt322) {
case 1 :
// InternalSARL.g:13392:4: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
{
// InternalSARL.g:13392:4: ( (lv_elements_3_0= ruleXExpression ) )
// InternalSARL.g:13393:5: (lv_elements_3_0= ruleXExpression )
{
// InternalSARL.g:13393:5: (lv_elements_3_0= ruleXExpression )
// InternalSARL.g:13394:6: lv_elements_3_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0());
}
pushFollow(FOLLOW_104);
lv_elements_3_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXListLiteralRule());
}
add(
current,
"elements",
lv_elements_3_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:13411:4: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )*
loop321:
do {
int alt321=2;
int LA321_0 = input.LA(1);
if ( (LA321_0==32) ) {
alt321=1;
}
switch (alt321) {
case 1 :
// InternalSARL.g:13412:5: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) )
{
otherlv_4=(Token)match(input,32,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0());
}
// InternalSARL.g:13416:5: ( (lv_elements_5_0= ruleXExpression ) )
// InternalSARL.g:13417:6: (lv_elements_5_0= ruleXExpression )
{
// InternalSARL.g:13417:6: (lv_elements_5_0= ruleXExpression )
// InternalSARL.g:13418:7: lv_elements_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0());
}
pushFollow(FOLLOW_104);
lv_elements_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXListLiteralRule());
}
add(
current,
"elements",
lv_elements_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop321;
}
} while (true);
}
break;
}
otherlv_6=(Token)match(input,56,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXListLiteral"
// $ANTLR start "entryRuleXClosure"
// InternalSARL.g:13445:1: entryRuleXClosure returns [EObject current=null] : iv_ruleXClosure= ruleXClosure EOF ;
public final EObject entryRuleXClosure() throws RecognitionException {
EObject current = null;
EObject iv_ruleXClosure = null;
try {
// InternalSARL.g:13445:49: (iv_ruleXClosure= ruleXClosure EOF )
// InternalSARL.g:13446:2: iv_ruleXClosure= ruleXClosure EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClosureRule());
}
pushFollow(FOLLOW_1);
iv_ruleXClosure=ruleXClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXClosure;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXClosure"
// $ANTLR start "ruleXClosure"
// InternalSARL.g:13452:1: ruleXClosure returns [EObject current=null] : ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) ;
public final EObject ruleXClosure() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token lv_explicitSyntax_5_0=null;
Token otherlv_7=null;
EObject lv_declaredFormalParameters_2_0 = null;
EObject lv_declaredFormalParameters_4_0 = null;
EObject lv_expression_6_0 = null;
enterRule();
try {
// InternalSARL.g:13458:2: ( ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) )
// InternalSARL.g:13459:2: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' )
{
// InternalSARL.g:13459:2: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' )
// InternalSARL.g:13460:3: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']'
{
// InternalSARL.g:13460:3: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) )
// InternalSARL.g:13461:4: ( ( () '[' ) )=> ( () otherlv_1= '[' )
{
// InternalSARL.g:13467:4: ( () otherlv_1= '[' )
// InternalSARL.g:13468:5: () otherlv_1= '['
{
// InternalSARL.g:13468:5: ()
// InternalSARL.g:13469:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXClosureAccess().getXClosureAction_0_0_0(),
current);
}
}
otherlv_1=(Token)match(input,55,FOLLOW_128); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1());
}
}
}
// InternalSARL.g:13481:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )?
int alt325=2;
alt325 = dfa325.predict(input);
switch (alt325) {
case 1 :
// InternalSARL.g:13482:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) )
{
// InternalSARL.g:13505:4: ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) )
// InternalSARL.g:13506:5: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) )
{
// InternalSARL.g:13506:5: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )?
int alt324=2;
int LA324_0 = input.LA(1);
if ( (LA324_0==RULE_ID||(LA324_0>=44 && LA324_0<=45)||(LA324_0>=83 && LA324_0<=86)) ) {
alt324=1;
}
switch (alt324) {
case 1 :
// InternalSARL.g:13507:6: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )*
{
// InternalSARL.g:13507:6: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) )
// InternalSARL.g:13508:7: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter )
{
// InternalSARL.g:13508:7: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter )
// InternalSARL.g:13509:8: lv_declaredFormalParameters_2_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0());
}
pushFollow(FOLLOW_129);
lv_declaredFormalParameters_2_0=ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXClosureRule());
}
add(
current,
"declaredFormalParameters",
lv_declaredFormalParameters_2_0,
"io.sarl.lang.SARL.JvmFormalParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:13526:6: (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )*
loop323:
do {
int alt323=2;
int LA323_0 = input.LA(1);
if ( (LA323_0==32) ) {
alt323=1;
}
switch (alt323) {
case 1 :
// InternalSARL.g:13527:7: otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) )
{
otherlv_3=(Token)match(input,32,FOLLOW_72); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0());
}
// InternalSARL.g:13531:7: ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) )
// InternalSARL.g:13532:8: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter )
{
// InternalSARL.g:13532:8: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter )
// InternalSARL.g:13533:9: lv_declaredFormalParameters_4_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0());
}
pushFollow(FOLLOW_129);
lv_declaredFormalParameters_4_0=ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXClosureRule());
}
add(
current,
"declaredFormalParameters",
lv_declaredFormalParameters_4_0,
"io.sarl.lang.SARL.JvmFormalParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop323;
}
} while (true);
}
break;
}
// InternalSARL.g:13552:5: ( (lv_explicitSyntax_5_0= '|' ) )
// InternalSARL.g:13553:6: (lv_explicitSyntax_5_0= '|' )
{
// InternalSARL.g:13553:6: (lv_explicitSyntax_5_0= '|' )
// InternalSARL.g:13554:7: lv_explicitSyntax_5_0= '|'
{
lv_explicitSyntax_5_0=(Token)match(input,124,FOLLOW_130); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_explicitSyntax_5_0, grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXClosureRule());
}
setWithLastConsumed(current, "explicitSyntax", true, "|");
}
}
}
}
}
break;
}
// InternalSARL.g:13568:3: ( (lv_expression_6_0= ruleXExpressionInClosure ) )
// InternalSARL.g:13569:4: (lv_expression_6_0= ruleXExpressionInClosure )
{
// InternalSARL.g:13569:4: (lv_expression_6_0= ruleXExpressionInClosure )
// InternalSARL.g:13570:5: lv_expression_6_0= ruleXExpressionInClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0());
}
pushFollow(FOLLOW_63);
lv_expression_6_0=ruleXExpressionInClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXClosureRule());
}
set(
current,
"expression",
lv_expression_6_0,
"org.eclipse.xtext.xbase.Xbase.XExpressionInClosure");
afterParserOrEnumRuleCall();
}
}
}
otherlv_7=(Token)match(input,56,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXClosure"
// $ANTLR start "entryRuleXExpressionInClosure"
// InternalSARL.g:13595:1: entryRuleXExpressionInClosure returns [EObject current=null] : iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ;
public final EObject entryRuleXExpressionInClosure() throws RecognitionException {
EObject current = null;
EObject iv_ruleXExpressionInClosure = null;
try {
// InternalSARL.g:13595:61: (iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF )
// InternalSARL.g:13596:2: iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionInClosureRule());
}
pushFollow(FOLLOW_1);
iv_ruleXExpressionInClosure=ruleXExpressionInClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXExpressionInClosure;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXExpressionInClosure"
// $ANTLR start "ruleXExpressionInClosure"
// InternalSARL.g:13602:1: ruleXExpressionInClosure returns [EObject current=null] : ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) ;
public final EObject ruleXExpressionInClosure() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
EObject lv_expressions_1_0 = null;
enterRule();
try {
// InternalSARL.g:13608:2: ( ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) )
// InternalSARL.g:13609:2: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* )
{
// InternalSARL.g:13609:2: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* )
// InternalSARL.g:13610:3: () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )*
{
// InternalSARL.g:13610:3: ()
// InternalSARL.g:13611:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0(),
current);
}
}
// InternalSARL.g:13617:3: ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )*
loop327:
do {
int alt327=2;
int LA327_0 = input.LA(1);
if ( ((LA327_0>=RULE_ID && LA327_0<=RULE_RICH_TEXT_START)||(LA327_0>=RULE_HEX && LA327_0<=RULE_DECIMAL)||LA327_0==25||(LA327_0>=28 && LA327_0<=29)||LA327_0==36||(LA327_0>=39 && LA327_0<=40)||(LA327_0>=42 && LA327_0<=45)||(LA327_0>=48 && LA327_0<=49)||LA327_0==51||LA327_0==55||(LA327_0>=60 && LA327_0<=63)||LA327_0==65||(LA327_0>=69 && LA327_0<=87)||LA327_0==95||(LA327_0>=114 && LA327_0<=115)||LA327_0==119||LA327_0==125||(LA327_0>=128 && LA327_0<=137)) ) {
alt327=1;
}
switch (alt327) {
case 1 :
// InternalSARL.g:13618:4: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )?
{
// InternalSARL.g:13618:4: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) )
// InternalSARL.g:13619:5: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration )
{
// InternalSARL.g:13619:5: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration )
// InternalSARL.g:13620:6: lv_expressions_1_0= ruleXExpressionOrVarDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0());
}
pushFollow(FOLLOW_131);
lv_expressions_1_0=ruleXExpressionOrVarDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXExpressionInClosureRule());
}
add(
current,
"expressions",
lv_expressions_1_0,
"org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:13637:4: (otherlv_2= ';' )?
int alt326=2;
int LA326_0 = input.LA(1);
if ( (LA326_0==26) ) {
alt326=1;
}
switch (alt326) {
case 1 :
// InternalSARL.g:13638:5: otherlv_2= ';'
{
otherlv_2=(Token)match(input,26,FOLLOW_132); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1());
}
}
break;
}
}
break;
default :
break loop327;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXExpressionInClosure"
// $ANTLR start "entryRuleXShortClosure"
// InternalSARL.g:13648:1: entryRuleXShortClosure returns [EObject current=null] : iv_ruleXShortClosure= ruleXShortClosure EOF ;
public final EObject entryRuleXShortClosure() throws RecognitionException {
EObject current = null;
EObject iv_ruleXShortClosure = null;
try {
// InternalSARL.g:13648:54: (iv_ruleXShortClosure= ruleXShortClosure EOF )
// InternalSARL.g:13649:2: iv_ruleXShortClosure= ruleXShortClosure EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXShortClosureRule());
}
pushFollow(FOLLOW_1);
iv_ruleXShortClosure=ruleXShortClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXShortClosure;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXShortClosure"
// $ANTLR start "ruleXShortClosure"
// InternalSARL.g:13655:1: ruleXShortClosure returns [EObject current=null] : ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) ;
public final EObject ruleXShortClosure() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token lv_explicitSyntax_4_0=null;
EObject lv_declaredFormalParameters_1_0 = null;
EObject lv_declaredFormalParameters_3_0 = null;
EObject lv_expression_5_0 = null;
enterRule();
try {
// InternalSARL.g:13661:2: ( ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) )
// InternalSARL.g:13662:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) )
{
// InternalSARL.g:13662:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) )
// InternalSARL.g:13663:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) )
{
// InternalSARL.g:13663:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) )
// InternalSARL.g:13664:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) )
{
// InternalSARL.g:13689:4: ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) )
// InternalSARL.g:13690:5: () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) )
{
// InternalSARL.g:13690:5: ()
// InternalSARL.g:13691:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0(),
current);
}
}
// InternalSARL.g:13697:5: ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )?
int alt329=2;
int LA329_0 = input.LA(1);
if ( (LA329_0==RULE_ID||(LA329_0>=44 && LA329_0<=45)||(LA329_0>=83 && LA329_0<=86)) ) {
alt329=1;
}
switch (alt329) {
case 1 :
// InternalSARL.g:13698:6: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )*
{
// InternalSARL.g:13698:6: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) )
// InternalSARL.g:13699:7: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter )
{
// InternalSARL.g:13699:7: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter )
// InternalSARL.g:13700:8: lv_declaredFormalParameters_1_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0());
}
pushFollow(FOLLOW_129);
lv_declaredFormalParameters_1_0=ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXShortClosureRule());
}
add(
current,
"declaredFormalParameters",
lv_declaredFormalParameters_1_0,
"io.sarl.lang.SARL.JvmFormalParameter");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:13717:6: (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )*
loop328:
do {
int alt328=2;
int LA328_0 = input.LA(1);
if ( (LA328_0==32) ) {
alt328=1;
}
switch (alt328) {
case 1 :
// InternalSARL.g:13718:7: otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) )
{
otherlv_2=(Token)match(input,32,FOLLOW_72); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0());
}
// InternalSARL.g:13722:7: ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) )
// InternalSARL.g:13723:8: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter )
{
// InternalSARL.g:13723:8: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter )
// InternalSARL.g:13724:9: lv_declaredFormalParameters_3_0= ruleJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0());
}
pushFollow(FOLLOW_129);
lv_declaredFormalParameters_3_0=ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXShortClosureRule());
}
add(
current,
"declaredFormalParameters",
lv_declaredFormalParameters_3_0,
"io.sarl.lang.SARL.JvmFormalParameter");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop328;
}
} while (true);
}
break;
}
// InternalSARL.g:13743:5: ( (lv_explicitSyntax_4_0= '|' ) )
// InternalSARL.g:13744:6: (lv_explicitSyntax_4_0= '|' )
{
// InternalSARL.g:13744:6: (lv_explicitSyntax_4_0= '|' )
// InternalSARL.g:13745:7: lv_explicitSyntax_4_0= '|'
{
lv_explicitSyntax_4_0=(Token)match(input,124,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_explicitSyntax_4_0, grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXShortClosureRule());
}
setWithLastConsumed(current, "explicitSyntax", true, "|");
}
}
}
}
}
// InternalSARL.g:13759:3: ( (lv_expression_5_0= ruleXExpression ) )
// InternalSARL.g:13760:4: (lv_expression_5_0= ruleXExpression )
{
// InternalSARL.g:13760:4: (lv_expression_5_0= ruleXExpression )
// InternalSARL.g:13761:5: lv_expression_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0());
}
pushFollow(FOLLOW_2);
lv_expression_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXShortClosureRule());
}
set(
current,
"expression",
lv_expression_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXShortClosure"
// $ANTLR start "entryRuleXParenthesizedExpression"
// InternalSARL.g:13782:1: entryRuleXParenthesizedExpression returns [EObject current=null] : iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ;
public final EObject entryRuleXParenthesizedExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXParenthesizedExpression = null;
try {
// InternalSARL.g:13782:65: (iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF )
// InternalSARL.g:13783:2: iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXParenthesizedExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXParenthesizedExpression=ruleXParenthesizedExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXParenthesizedExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXParenthesizedExpression"
// $ANTLR start "ruleXParenthesizedExpression"
// InternalSARL.g:13789:1: ruleXParenthesizedExpression returns [EObject current=null] : (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) ;
public final EObject ruleXParenthesizedExpression() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
EObject this_XExpression_1 = null;
enterRule();
try {
// InternalSARL.g:13795:2: ( (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) )
// InternalSARL.g:13796:2: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' )
{
// InternalSARL.g:13796:2: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' )
// InternalSARL.g:13797:3: otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')'
{
otherlv_0=(Token)match(input,49,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0());
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1());
}
pushFollow(FOLLOW_78);
this_XExpression_1=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XExpression_1;
afterParserOrEnumRuleCall();
}
otherlv_2=(Token)match(input,50,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXParenthesizedExpression"
// $ANTLR start "entryRuleXIfExpression"
// InternalSARL.g:13817:1: entryRuleXIfExpression returns [EObject current=null] : iv_ruleXIfExpression= ruleXIfExpression EOF ;
public final EObject entryRuleXIfExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXIfExpression = null;
try {
// InternalSARL.g:13817:54: (iv_ruleXIfExpression= ruleXIfExpression EOF )
// InternalSARL.g:13818:2: iv_ruleXIfExpression= ruleXIfExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXIfExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXIfExpression=ruleXIfExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXIfExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXIfExpression"
// $ANTLR start "ruleXIfExpression"
// InternalSARL.g:13824:1: ruleXIfExpression returns [EObject current=null] : ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) ;
public final EObject ruleXIfExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
EObject lv_if_3_0 = null;
EObject lv_then_5_0 = null;
EObject lv_else_7_0 = null;
enterRule();
try {
// InternalSARL.g:13830:2: ( ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) )
// InternalSARL.g:13831:2: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? )
{
// InternalSARL.g:13831:2: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? )
// InternalSARL.g:13832:3: () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )?
{
// InternalSARL.g:13832:3: ()
// InternalSARL.g:13833:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,125,FOLLOW_77); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXIfExpressionAccess().getIfKeyword_1());
}
otherlv_2=(Token)match(input,49,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2());
}
// InternalSARL.g:13847:3: ( (lv_if_3_0= ruleXExpression ) )
// InternalSARL.g:13848:4: (lv_if_3_0= ruleXExpression )
{
// InternalSARL.g:13848:4: (lv_if_3_0= ruleXExpression )
// InternalSARL.g:13849:5: lv_if_3_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0());
}
pushFollow(FOLLOW_78);
lv_if_3_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXIfExpressionRule());
}
set(
current,
"if",
lv_if_3_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
otherlv_4=(Token)match(input,50,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4());
}
// InternalSARL.g:13870:3: ( (lv_then_5_0= ruleXExpression ) )
// InternalSARL.g:13871:4: (lv_then_5_0= ruleXExpression )
{
// InternalSARL.g:13871:4: (lv_then_5_0= ruleXExpression )
// InternalSARL.g:13872:5: lv_then_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0());
}
pushFollow(FOLLOW_133);
lv_then_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXIfExpressionRule());
}
set(
current,
"then",
lv_then_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:13889:3: ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )?
int alt330=2;
int LA330_0 = input.LA(1);
if ( (LA330_0==126) ) {
int LA330_1 = input.LA(2);
if ( (synpred45_InternalSARL()) ) {
alt330=1;
}
}
switch (alt330) {
case 1 :
// InternalSARL.g:13890:4: ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) )
{
// InternalSARL.g:13890:4: ( ( 'else' )=>otherlv_6= 'else' )
// InternalSARL.g:13891:5: ( 'else' )=>otherlv_6= 'else'
{
otherlv_6=(Token)match(input,126,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0());
}
}
// InternalSARL.g:13897:4: ( (lv_else_7_0= ruleXExpression ) )
// InternalSARL.g:13898:5: (lv_else_7_0= ruleXExpression )
{
// InternalSARL.g:13898:5: (lv_else_7_0= ruleXExpression )
// InternalSARL.g:13899:6: lv_else_7_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0());
}
pushFollow(FOLLOW_2);
lv_else_7_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXIfExpressionRule());
}
set(
current,
"else",
lv_else_7_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXIfExpression"
// $ANTLR start "entryRuleXCasePart"
// InternalSARL.g:13921:1: entryRuleXCasePart returns [EObject current=null] : iv_ruleXCasePart= ruleXCasePart EOF ;
public final EObject entryRuleXCasePart() throws RecognitionException {
EObject current = null;
EObject iv_ruleXCasePart = null;
try {
// InternalSARL.g:13921:50: (iv_ruleXCasePart= ruleXCasePart EOF )
// InternalSARL.g:13922:2: iv_ruleXCasePart= ruleXCasePart EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCasePartRule());
}
pushFollow(FOLLOW_1);
iv_ruleXCasePart=ruleXCasePart();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXCasePart;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXCasePart"
// $ANTLR start "ruleXCasePart"
// InternalSARL.g:13928:1: ruleXCasePart returns [EObject current=null] : ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) ;
public final EObject ruleXCasePart() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token otherlv_4=null;
Token lv_fallThrough_6_0=null;
EObject lv_typeGuard_1_0 = null;
EObject lv_case_3_0 = null;
EObject lv_then_5_0 = null;
enterRule();
try {
// InternalSARL.g:13934:2: ( ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) )
// InternalSARL.g:13935:2: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) )
{
// InternalSARL.g:13935:2: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) )
// InternalSARL.g:13936:3: () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) )
{
// InternalSARL.g:13936:3: ()
// InternalSARL.g:13937:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXCasePartAccess().getXCasePartAction_0(),
current);
}
}
// InternalSARL.g:13943:3: ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )?
int alt331=2;
int LA331_0 = input.LA(1);
if ( (LA331_0==RULE_ID||LA331_0==44||LA331_0==49||LA331_0==67||(LA331_0>=83 && LA331_0<=86)) ) {
alt331=1;
}
switch (alt331) {
case 1 :
// InternalSARL.g:13944:4: (lv_typeGuard_1_0= ruleJvmTypeReference )
{
// InternalSARL.g:13944:4: (lv_typeGuard_1_0= ruleJvmTypeReference )
// InternalSARL.g:13945:5: lv_typeGuard_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0());
}
pushFollow(FOLLOW_134);
lv_typeGuard_1_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXCasePartRule());
}
set(
current,
"typeGuard",
lv_typeGuard_1_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
break;
}
// InternalSARL.g:13962:3: (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )?
int alt332=2;
int LA332_0 = input.LA(1);
if ( (LA332_0==127) ) {
alt332=1;
}
switch (alt332) {
case 1 :
// InternalSARL.g:13963:4: otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) )
{
otherlv_2=(Token)match(input,127,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXCasePartAccess().getCaseKeyword_2_0());
}
// InternalSARL.g:13967:4: ( (lv_case_3_0= ruleXExpression ) )
// InternalSARL.g:13968:5: (lv_case_3_0= ruleXExpression )
{
// InternalSARL.g:13968:5: (lv_case_3_0= ruleXExpression )
// InternalSARL.g:13969:6: lv_case_3_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0());
}
pushFollow(FOLLOW_135);
lv_case_3_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXCasePartRule());
}
set(
current,
"case",
lv_case_3_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalSARL.g:13987:3: ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) )
int alt333=2;
int LA333_0 = input.LA(1);
if ( (LA333_0==46) ) {
alt333=1;
}
else if ( (LA333_0==32) ) {
alt333=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 333, 0, input);
throw nvae;
}
switch (alt333) {
case 1 :
// InternalSARL.g:13988:4: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) )
{
// InternalSARL.g:13988:4: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) )
// InternalSARL.g:13989:5: otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) )
{
otherlv_4=(Token)match(input,46,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0());
}
// InternalSARL.g:13993:5: ( (lv_then_5_0= ruleXExpression ) )
// InternalSARL.g:13994:6: (lv_then_5_0= ruleXExpression )
{
// InternalSARL.g:13994:6: (lv_then_5_0= ruleXExpression )
// InternalSARL.g:13995:7: lv_then_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0());
}
pushFollow(FOLLOW_2);
lv_then_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXCasePartRule());
}
set(
current,
"then",
lv_then_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalSARL.g:14014:4: ( (lv_fallThrough_6_0= ',' ) )
{
// InternalSARL.g:14014:4: ( (lv_fallThrough_6_0= ',' ) )
// InternalSARL.g:14015:5: (lv_fallThrough_6_0= ',' )
{
// InternalSARL.g:14015:5: (lv_fallThrough_6_0= ',' )
// InternalSARL.g:14016:6: lv_fallThrough_6_0= ','
{
lv_fallThrough_6_0=(Token)match(input,32,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_fallThrough_6_0, grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXCasePartRule());
}
setWithLastConsumed(current, "fallThrough", true, ",");
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXCasePart"
// $ANTLR start "entryRuleXBasicForLoopExpression"
// InternalSARL.g:14033:1: entryRuleXBasicForLoopExpression returns [EObject current=null] : iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ;
public final EObject entryRuleXBasicForLoopExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXBasicForLoopExpression = null;
try {
// InternalSARL.g:14033:64: (iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF )
// InternalSARL.g:14034:2: iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXBasicForLoopExpression=ruleXBasicForLoopExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXBasicForLoopExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXBasicForLoopExpression"
// $ANTLR start "ruleXBasicForLoopExpression"
// InternalSARL.g:14040:1: ruleXBasicForLoopExpression returns [EObject current=null] : ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) ;
public final EObject ruleXBasicForLoopExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_10=null;
Token otherlv_12=null;
EObject lv_initExpressions_3_0 = null;
EObject lv_initExpressions_5_0 = null;
EObject lv_expression_7_0 = null;
EObject lv_updateExpressions_9_0 = null;
EObject lv_updateExpressions_11_0 = null;
EObject lv_eachExpression_13_0 = null;
enterRule();
try {
// InternalSARL.g:14046:2: ( ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) )
// InternalSARL.g:14047:2: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) )
{
// InternalSARL.g:14047:2: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) )
// InternalSARL.g:14048:3: () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) )
{
// InternalSARL.g:14048:3: ()
// InternalSARL.g:14049:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,63,FOLLOW_77); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1());
}
otherlv_2=(Token)match(input,49,FOLLOW_136); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2());
}
// InternalSARL.g:14063:3: ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )?
int alt335=2;
int LA335_0 = input.LA(1);
if ( ((LA335_0>=RULE_ID && LA335_0<=RULE_RICH_TEXT_START)||(LA335_0>=RULE_HEX && LA335_0<=RULE_DECIMAL)||LA335_0==25||(LA335_0>=28 && LA335_0<=29)||LA335_0==36||(LA335_0>=39 && LA335_0<=40)||(LA335_0>=42 && LA335_0<=45)||(LA335_0>=48 && LA335_0<=49)||LA335_0==51||LA335_0==55||(LA335_0>=60 && LA335_0<=63)||LA335_0==65||(LA335_0>=69 && LA335_0<=87)||LA335_0==95||(LA335_0>=114 && LA335_0<=115)||LA335_0==119||LA335_0==125||(LA335_0>=128 && LA335_0<=137)) ) {
alt335=1;
}
switch (alt335) {
case 1 :
// InternalSARL.g:14064:4: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )*
{
// InternalSARL.g:14064:4: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) )
// InternalSARL.g:14065:5: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration )
{
// InternalSARL.g:14065:5: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration )
// InternalSARL.g:14066:6: lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0());
}
pushFollow(FOLLOW_137);
lv_initExpressions_3_0=ruleXExpressionOrVarDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
}
add(
current,
"initExpressions",
lv_initExpressions_3_0,
"org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:14083:4: (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )*
loop334:
do {
int alt334=2;
int LA334_0 = input.LA(1);
if ( (LA334_0==32) ) {
alt334=1;
}
switch (alt334) {
case 1 :
// InternalSARL.g:14084:5: otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) )
{
otherlv_4=(Token)match(input,32,FOLLOW_138); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0());
}
// InternalSARL.g:14088:5: ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) )
// InternalSARL.g:14089:6: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration )
{
// InternalSARL.g:14089:6: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration )
// InternalSARL.g:14090:7: lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0());
}
pushFollow(FOLLOW_137);
lv_initExpressions_5_0=ruleXExpressionOrVarDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
}
add(
current,
"initExpressions",
lv_initExpressions_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop334;
}
} while (true);
}
break;
}
otherlv_6=(Token)match(input,26,FOLLOW_79); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4());
}
// InternalSARL.g:14113:3: ( (lv_expression_7_0= ruleXExpression ) )?
int alt336=2;
int LA336_0 = input.LA(1);
if ( ((LA336_0>=RULE_ID && LA336_0<=RULE_RICH_TEXT_START)||(LA336_0>=RULE_HEX && LA336_0<=RULE_DECIMAL)||LA336_0==25||(LA336_0>=28 && LA336_0<=29)||LA336_0==36||(LA336_0>=39 && LA336_0<=40)||(LA336_0>=42 && LA336_0<=45)||(LA336_0>=48 && LA336_0<=49)||LA336_0==51||LA336_0==55||LA336_0==60||LA336_0==63||LA336_0==65||(LA336_0>=69 && LA336_0<=87)||LA336_0==95||(LA336_0>=114 && LA336_0<=115)||LA336_0==119||LA336_0==125||(LA336_0>=128 && LA336_0<=137)) ) {
alt336=1;
}
switch (alt336) {
case 1 :
// InternalSARL.g:14114:4: (lv_expression_7_0= ruleXExpression )
{
// InternalSARL.g:14114:4: (lv_expression_7_0= ruleXExpression )
// InternalSARL.g:14115:5: lv_expression_7_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0());
}
pushFollow(FOLLOW_139);
lv_expression_7_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
}
set(
current,
"expression",
lv_expression_7_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_8=(Token)match(input,26,FOLLOW_140); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6());
}
// InternalSARL.g:14136:3: ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )?
int alt338=2;
int LA338_0 = input.LA(1);
if ( ((LA338_0>=RULE_ID && LA338_0<=RULE_RICH_TEXT_START)||(LA338_0>=RULE_HEX && LA338_0<=RULE_DECIMAL)||LA338_0==25||(LA338_0>=28 && LA338_0<=29)||LA338_0==36||(LA338_0>=39 && LA338_0<=40)||(LA338_0>=42 && LA338_0<=45)||(LA338_0>=48 && LA338_0<=49)||LA338_0==51||LA338_0==55||LA338_0==60||LA338_0==63||LA338_0==65||(LA338_0>=69 && LA338_0<=87)||LA338_0==95||(LA338_0>=114 && LA338_0<=115)||LA338_0==119||LA338_0==125||(LA338_0>=128 && LA338_0<=137)) ) {
alt338=1;
}
switch (alt338) {
case 1 :
// InternalSARL.g:14137:4: ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )*
{
// InternalSARL.g:14137:4: ( (lv_updateExpressions_9_0= ruleXExpression ) )
// InternalSARL.g:14138:5: (lv_updateExpressions_9_0= ruleXExpression )
{
// InternalSARL.g:14138:5: (lv_updateExpressions_9_0= ruleXExpression )
// InternalSARL.g:14139:6: lv_updateExpressions_9_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0());
}
pushFollow(FOLLOW_51);
lv_updateExpressions_9_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
}
add(
current,
"updateExpressions",
lv_updateExpressions_9_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:14156:4: (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )*
loop337:
do {
int alt337=2;
int LA337_0 = input.LA(1);
if ( (LA337_0==32) ) {
alt337=1;
}
switch (alt337) {
case 1 :
// InternalSARL.g:14157:5: otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) )
{
otherlv_10=(Token)match(input,32,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0());
}
// InternalSARL.g:14161:5: ( (lv_updateExpressions_11_0= ruleXExpression ) )
// InternalSARL.g:14162:6: (lv_updateExpressions_11_0= ruleXExpression )
{
// InternalSARL.g:14162:6: (lv_updateExpressions_11_0= ruleXExpression )
// InternalSARL.g:14163:7: lv_updateExpressions_11_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0());
}
pushFollow(FOLLOW_51);
lv_updateExpressions_11_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
}
add(
current,
"updateExpressions",
lv_updateExpressions_11_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop337;
}
} while (true);
}
break;
}
otherlv_12=(Token)match(input,50,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8());
}
// InternalSARL.g:14186:3: ( (lv_eachExpression_13_0= ruleXExpression ) )
// InternalSARL.g:14187:4: (lv_eachExpression_13_0= ruleXExpression )
{
// InternalSARL.g:14187:4: (lv_eachExpression_13_0= ruleXExpression )
// InternalSARL.g:14188:5: lv_eachExpression_13_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0());
}
pushFollow(FOLLOW_2);
lv_eachExpression_13_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule());
}
set(
current,
"eachExpression",
lv_eachExpression_13_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXBasicForLoopExpression"
// $ANTLR start "entryRuleXWhileExpression"
// InternalSARL.g:14209:1: entryRuleXWhileExpression returns [EObject current=null] : iv_ruleXWhileExpression= ruleXWhileExpression EOF ;
public final EObject entryRuleXWhileExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXWhileExpression = null;
try {
// InternalSARL.g:14209:57: (iv_ruleXWhileExpression= ruleXWhileExpression EOF )
// InternalSARL.g:14210:2: iv_ruleXWhileExpression= ruleXWhileExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXWhileExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXWhileExpression=ruleXWhileExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXWhileExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXWhileExpression"
// $ANTLR start "ruleXWhileExpression"
// InternalSARL.g:14216:1: ruleXWhileExpression returns [EObject current=null] : ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) ;
public final EObject ruleXWhileExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_predicate_3_0 = null;
EObject lv_body_5_0 = null;
enterRule();
try {
// InternalSARL.g:14222:2: ( ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) )
// InternalSARL.g:14223:2: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) )
{
// InternalSARL.g:14223:2: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) )
// InternalSARL.g:14224:3: () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) )
{
// InternalSARL.g:14224:3: ()
// InternalSARL.g:14225:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,128,FOLLOW_77); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1());
}
otherlv_2=(Token)match(input,49,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2());
}
// InternalSARL.g:14239:3: ( (lv_predicate_3_0= ruleXExpression ) )
// InternalSARL.g:14240:4: (lv_predicate_3_0= ruleXExpression )
{
// InternalSARL.g:14240:4: (lv_predicate_3_0= ruleXExpression )
// InternalSARL.g:14241:5: lv_predicate_3_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0());
}
pushFollow(FOLLOW_78);
lv_predicate_3_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXWhileExpressionRule());
}
set(
current,
"predicate",
lv_predicate_3_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
otherlv_4=(Token)match(input,50,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4());
}
// InternalSARL.g:14262:3: ( (lv_body_5_0= ruleXExpression ) )
// InternalSARL.g:14263:4: (lv_body_5_0= ruleXExpression )
{
// InternalSARL.g:14263:4: (lv_body_5_0= ruleXExpression )
// InternalSARL.g:14264:5: lv_body_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0());
}
pushFollow(FOLLOW_2);
lv_body_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXWhileExpressionRule());
}
set(
current,
"body",
lv_body_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXWhileExpression"
// $ANTLR start "entryRuleXDoWhileExpression"
// InternalSARL.g:14285:1: entryRuleXDoWhileExpression returns [EObject current=null] : iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ;
public final EObject entryRuleXDoWhileExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXDoWhileExpression = null;
try {
// InternalSARL.g:14285:59: (iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF )
// InternalSARL.g:14286:2: iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXDoWhileExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXDoWhileExpression=ruleXDoWhileExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXDoWhileExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXDoWhileExpression"
// $ANTLR start "ruleXDoWhileExpression"
// InternalSARL.g:14292:1: ruleXDoWhileExpression returns [EObject current=null] : ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) ;
public final EObject ruleXDoWhileExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_4=null;
Token otherlv_6=null;
EObject lv_body_2_0 = null;
EObject lv_predicate_5_0 = null;
enterRule();
try {
// InternalSARL.g:14298:2: ( ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) )
// InternalSARL.g:14299:2: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' )
{
// InternalSARL.g:14299:2: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' )
// InternalSARL.g:14300:3: () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')'
{
// InternalSARL.g:14300:3: ()
// InternalSARL.g:14301:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,129,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1());
}
// InternalSARL.g:14311:3: ( (lv_body_2_0= ruleXExpression ) )
// InternalSARL.g:14312:4: (lv_body_2_0= ruleXExpression )
{
// InternalSARL.g:14312:4: (lv_body_2_0= ruleXExpression )
// InternalSARL.g:14313:5: lv_body_2_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0());
}
pushFollow(FOLLOW_141);
lv_body_2_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule());
}
set(
current,
"body",
lv_body_2_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,128,FOLLOW_77); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3());
}
otherlv_4=(Token)match(input,49,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4());
}
// InternalSARL.g:14338:3: ( (lv_predicate_5_0= ruleXExpression ) )
// InternalSARL.g:14339:4: (lv_predicate_5_0= ruleXExpression )
{
// InternalSARL.g:14339:4: (lv_predicate_5_0= ruleXExpression )
// InternalSARL.g:14340:5: lv_predicate_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0());
}
pushFollow(FOLLOW_78);
lv_predicate_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule());
}
set(
current,
"predicate",
lv_predicate_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
otherlv_6=(Token)match(input,50,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXDoWhileExpression"
// $ANTLR start "entryRuleXBlockExpression"
// InternalSARL.g:14365:1: entryRuleXBlockExpression returns [EObject current=null] : iv_ruleXBlockExpression= ruleXBlockExpression EOF ;
public final EObject entryRuleXBlockExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXBlockExpression = null;
try {
// InternalSARL.g:14365:57: (iv_ruleXBlockExpression= ruleXBlockExpression EOF )
// InternalSARL.g:14366:2: iv_ruleXBlockExpression= ruleXBlockExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBlockExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXBlockExpression=ruleXBlockExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXBlockExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXBlockExpression"
// $ANTLR start "ruleXBlockExpression"
// InternalSARL.g:14372:1: ruleXBlockExpression returns [EObject current=null] : ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) ;
public final EObject ruleXBlockExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_4=null;
EObject lv_expressions_2_0 = null;
enterRule();
try {
// InternalSARL.g:14378:2: ( ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) )
// InternalSARL.g:14379:2: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' )
{
// InternalSARL.g:14379:2: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' )
// InternalSARL.g:14380:3: () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}'
{
// InternalSARL.g:14380:3: ()
// InternalSARL.g:14381:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,29,FOLLOW_142); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1());
}
// InternalSARL.g:14391:3: ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )*
loop340:
do {
int alt340=2;
int LA340_0 = input.LA(1);
if ( ((LA340_0>=RULE_ID && LA340_0<=RULE_RICH_TEXT_START)||(LA340_0>=RULE_HEX && LA340_0<=RULE_DECIMAL)||LA340_0==25||(LA340_0>=28 && LA340_0<=29)||LA340_0==36||(LA340_0>=39 && LA340_0<=40)||(LA340_0>=42 && LA340_0<=45)||(LA340_0>=48 && LA340_0<=49)||LA340_0==51||LA340_0==55||(LA340_0>=60 && LA340_0<=63)||LA340_0==65||(LA340_0>=69 && LA340_0<=87)||LA340_0==95||(LA340_0>=114 && LA340_0<=115)||LA340_0==119||LA340_0==125||(LA340_0>=128 && LA340_0<=137)) ) {
alt340=1;
}
switch (alt340) {
case 1 :
// InternalSARL.g:14392:4: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )?
{
// InternalSARL.g:14392:4: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) )
// InternalSARL.g:14393:5: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration )
{
// InternalSARL.g:14393:5: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration )
// InternalSARL.g:14394:6: lv_expressions_2_0= ruleXExpressionOrVarDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0());
}
pushFollow(FOLLOW_143);
lv_expressions_2_0=ruleXExpressionOrVarDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXBlockExpressionRule());
}
add(
current,
"expressions",
lv_expressions_2_0,
"org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:14411:4: (otherlv_3= ';' )?
int alt339=2;
int LA339_0 = input.LA(1);
if ( (LA339_0==26) ) {
alt339=1;
}
switch (alt339) {
case 1 :
// InternalSARL.g:14412:5: otherlv_3= ';'
{
otherlv_3=(Token)match(input,26,FOLLOW_142); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1());
}
}
break;
}
}
break;
default :
break loop340;
}
} while (true);
otherlv_4=(Token)match(input,30,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXBlockExpression"
// $ANTLR start "entryRuleXExpressionOrVarDeclaration"
// InternalSARL.g:14426:1: entryRuleXExpressionOrVarDeclaration returns [EObject current=null] : iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ;
public final EObject entryRuleXExpressionOrVarDeclaration() throws RecognitionException {
EObject current = null;
EObject iv_ruleXExpressionOrVarDeclaration = null;
try {
// InternalSARL.g:14426:68: (iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF )
// InternalSARL.g:14427:2: iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationRule());
}
pushFollow(FOLLOW_1);
iv_ruleXExpressionOrVarDeclaration=ruleXExpressionOrVarDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXExpressionOrVarDeclaration;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXExpressionOrVarDeclaration"
// $ANTLR start "ruleXExpressionOrVarDeclaration"
// InternalSARL.g:14433:1: ruleXExpressionOrVarDeclaration returns [EObject current=null] : ( ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=>this_XVariableDeclaration_0= ruleXVariableDeclaration ) | this_XExpression_1= ruleXExpression ) ;
public final EObject ruleXExpressionOrVarDeclaration() throws RecognitionException {
EObject current = null;
EObject this_XVariableDeclaration_0 = null;
EObject this_XExpression_1 = null;
enterRule();
try {
// InternalSARL.g:14439:2: ( ( ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=>this_XVariableDeclaration_0= ruleXVariableDeclaration ) | this_XExpression_1= ruleXExpression ) )
// InternalSARL.g:14440:2: ( ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=>this_XVariableDeclaration_0= ruleXVariableDeclaration ) | this_XExpression_1= ruleXExpression )
{
// InternalSARL.g:14440:2: ( ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=>this_XVariableDeclaration_0= ruleXVariableDeclaration ) | this_XExpression_1= ruleXExpression )
int alt341=2;
int LA341_0 = input.LA(1);
if ( (LA341_0==61) && (synpred46_InternalSARL())) {
alt341=1;
}
else if ( (LA341_0==62) && (synpred46_InternalSARL())) {
alt341=1;
}
else if ( (LA341_0==45) ) {
switch ( input.LA(2) ) {
case EOF:
case RULE_ID:
case RULE_STRING:
case RULE_RICH_TEXT:
case RULE_RICH_TEXT_START:
case RULE_RICH_TEXT_INBETWEEN:
case RULE_COMMENT_RICH_TEXT_INBETWEEN:
case RULE_RICH_TEXT_END:
case RULE_COMMENT_RICH_TEXT_END:
case RULE_HEX:
case RULE_INT:
case RULE_DECIMAL:
case 25:
case 26:
case 28:
case 29:
case 30:
case 32:
case 36:
case 39:
case 40:
case 41:
case 42:
case 43:
case 44:
case 45:
case 47:
case 48:
case 49:
case 51:
case 55:
case 56:
case 59:
case 60:
case 63:
case 64:
case 65:
case 67:
case 68:
case 69:
case 70:
case 71:
case 72:
case 73:
case 74:
case 75:
case 76:
case 77:
case 78:
case 79:
case 80:
case 81:
case 82:
case 83:
case 84:
case 85:
case 86:
case 87:
case 95:
case 96:
case 97:
case 98:
case 99:
case 100:
case 101:
case 102:
case 103:
case 104:
case 105:
case 106:
case 107:
case 108:
case 109:
case 110:
case 111:
case 112:
case 113:
case 114:
case 115:
case 116:
case 117:
case 118:
case 119:
case 120:
case 121:
case 122:
case 123:
case 125:
case 128:
case 129:
case 130:
case 131:
case 132:
case 133:
case 134:
case 135:
case 136:
case 137:
{
alt341=2;
}
break;
case 61:
{
int LA341_5 = input.LA(3);
if ( (synpred46_InternalSARL()) ) {
alt341=1;
}
else if ( (true) ) {
alt341=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 341, 5, input);
throw nvae;
}
}
break;
case 62:
{
int LA341_6 = input.LA(3);
if ( (synpred46_InternalSARL()) ) {
alt341=1;
}
else if ( (true) ) {
alt341=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 341, 6, input);
throw nvae;
}
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 341, 3, input);
throw nvae;
}
}
else if ( ((LA341_0>=RULE_ID && LA341_0<=RULE_RICH_TEXT_START)||(LA341_0>=RULE_HEX && LA341_0<=RULE_DECIMAL)||LA341_0==25||(LA341_0>=28 && LA341_0<=29)||LA341_0==36||(LA341_0>=39 && LA341_0<=40)||(LA341_0>=42 && LA341_0<=44)||(LA341_0>=48 && LA341_0<=49)||LA341_0==51||LA341_0==55||LA341_0==60||LA341_0==63||LA341_0==65||(LA341_0>=69 && LA341_0<=87)||LA341_0==95||(LA341_0>=114 && LA341_0<=115)||LA341_0==119||LA341_0==125||(LA341_0>=128 && LA341_0<=137)) ) {
alt341=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 341, 0, input);
throw nvae;
}
switch (alt341) {
case 1 :
// InternalSARL.g:14441:3: ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=>this_XVariableDeclaration_0= ruleXVariableDeclaration )
{
// InternalSARL.g:14441:3: ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=>this_XVariableDeclaration_0= ruleXVariableDeclaration )
// InternalSARL.g:14442:4: ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=>this_XVariableDeclaration_0= ruleXVariableDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0());
}
pushFollow(FOLLOW_2);
this_XVariableDeclaration_0=ruleXVariableDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XVariableDeclaration_0;
afterParserOrEnumRuleCall();
}
}
}
break;
case 2 :
// InternalSARL.g:14492:3: this_XExpression_1= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_XExpression_1=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XExpression_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXExpressionOrVarDeclaration"
// $ANTLR start "entryRuleXFeatureCall"
// InternalSARL.g:14504:1: entryRuleXFeatureCall returns [EObject current=null] : iv_ruleXFeatureCall= ruleXFeatureCall EOF ;
public final EObject entryRuleXFeatureCall() throws RecognitionException {
EObject current = null;
EObject iv_ruleXFeatureCall = null;
try {
// InternalSARL.g:14504:53: (iv_ruleXFeatureCall= ruleXFeatureCall EOF )
// InternalSARL.g:14505:2: iv_ruleXFeatureCall= ruleXFeatureCall EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallRule());
}
pushFollow(FOLLOW_1);
iv_ruleXFeatureCall=ruleXFeatureCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXFeatureCall;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXFeatureCall"
// $ANTLR start "ruleXFeatureCall"
// InternalSARL.g:14511:1: ruleXFeatureCall returns [EObject current=null] : ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) ;
public final EObject ruleXFeatureCall() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token lv_explicitOperationCall_7_0=null;
Token otherlv_10=null;
Token otherlv_12=null;
EObject lv_typeArguments_2_0 = null;
EObject lv_typeArguments_4_0 = null;
EObject lv_featureCallArguments_8_0 = null;
EObject lv_featureCallArguments_9_0 = null;
EObject lv_featureCallArguments_11_0 = null;
EObject lv_featureCallArguments_13_0 = null;
enterRule();
try {
// InternalSARL.g:14517:2: ( ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) )
// InternalSARL.g:14518:2: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? )
{
// InternalSARL.g:14518:2: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? )
// InternalSARL.g:14519:3: () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?
{
// InternalSARL.g:14519:3: ()
// InternalSARL.g:14520:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0(),
current);
}
}
// InternalSARL.g:14526:3: (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )?
int alt343=2;
int LA343_0 = input.LA(1);
if ( (LA343_0==40) ) {
alt343=1;
}
switch (alt343) {
case 1 :
// InternalSARL.g:14527:4: otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>'
{
otherlv_1=(Token)match(input,40,FOLLOW_88); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0());
}
// InternalSARL.g:14531:4: ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) )
// InternalSARL.g:14532:5: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference )
{
// InternalSARL.g:14532:5: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference )
// InternalSARL.g:14533:6: lv_typeArguments_2_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_28);
lv_typeArguments_2_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
}
add(
current,
"typeArguments",
lv_typeArguments_2_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:14550:4: (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )*
loop342:
do {
int alt342=2;
int LA342_0 = input.LA(1);
if ( (LA342_0==32) ) {
alt342=1;
}
switch (alt342) {
case 1 :
// InternalSARL.g:14551:5: otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
{
otherlv_3=(Token)match(input,32,FOLLOW_88); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0());
}
// InternalSARL.g:14555:5: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) )
// InternalSARL.g:14556:6: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
{
// InternalSARL.g:14556:6: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference )
// InternalSARL.g:14557:7: lv_typeArguments_4_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0());
}
pushFollow(FOLLOW_28);
lv_typeArguments_4_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
}
add(
current,
"typeArguments",
lv_typeArguments_4_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop342;
}
} while (true);
otherlv_5=(Token)match(input,41,FOLLOW_122); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3());
}
}
break;
}
// InternalSARL.g:14580:3: ( ( ruleIdOrSuper ) )
// InternalSARL.g:14581:4: ( ruleIdOrSuper )
{
// InternalSARL.g:14581:4: ( ruleIdOrSuper )
// InternalSARL.g:14582:5: ruleIdOrSuper
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXFeatureCallRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0());
}
pushFollow(FOLLOW_92);
ruleIdOrSuper();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:14596:3: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )?
int alt346=2;
alt346 = dfa346.predict(input);
switch (alt346) {
case 1 :
// InternalSARL.g:14597:4: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')'
{
// InternalSARL.g:14597:4: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) )
// InternalSARL.g:14598:5: ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' )
{
// InternalSARL.g:14602:5: (lv_explicitOperationCall_7_0= '(' )
// InternalSARL.g:14603:6: lv_explicitOperationCall_7_0= '('
{
lv_explicitOperationCall_7_0=(Token)match(input,49,FOLLOW_93); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_explicitOperationCall_7_0, grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXFeatureCallRule());
}
setWithLastConsumed(current, "explicitOperationCall", true, "(");
}
}
}
// InternalSARL.g:14615:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )?
int alt345=3;
alt345 = dfa345.predict(input);
switch (alt345) {
case 1 :
// InternalSARL.g:14616:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) )
{
// InternalSARL.g:14616:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) )
// InternalSARL.g:14617:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure )
{
// InternalSARL.g:14642:6: (lv_featureCallArguments_8_0= ruleXShortClosure )
// InternalSARL.g:14643:7: lv_featureCallArguments_8_0= ruleXShortClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0());
}
pushFollow(FOLLOW_78);
lv_featureCallArguments_8_0=ruleXShortClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
}
add(
current,
"featureCallArguments",
lv_featureCallArguments_8_0,
"org.eclipse.xtext.xbase.Xbase.XShortClosure");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalSARL.g:14661:5: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* )
{
// InternalSARL.g:14661:5: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* )
// InternalSARL.g:14662:6: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )*
{
// InternalSARL.g:14662:6: ( (lv_featureCallArguments_9_0= ruleXExpression ) )
// InternalSARL.g:14663:7: (lv_featureCallArguments_9_0= ruleXExpression )
{
// InternalSARL.g:14663:7: (lv_featureCallArguments_9_0= ruleXExpression )
// InternalSARL.g:14664:8: lv_featureCallArguments_9_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0());
}
pushFollow(FOLLOW_51);
lv_featureCallArguments_9_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
}
add(
current,
"featureCallArguments",
lv_featureCallArguments_9_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:14681:6: (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )*
loop344:
do {
int alt344=2;
int LA344_0 = input.LA(1);
if ( (LA344_0==32) ) {
alt344=1;
}
switch (alt344) {
case 1 :
// InternalSARL.g:14682:7: otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) )
{
otherlv_10=(Token)match(input,32,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0());
}
// InternalSARL.g:14686:7: ( (lv_featureCallArguments_11_0= ruleXExpression ) )
// InternalSARL.g:14687:8: (lv_featureCallArguments_11_0= ruleXExpression )
{
// InternalSARL.g:14687:8: (lv_featureCallArguments_11_0= ruleXExpression )
// InternalSARL.g:14688:9: lv_featureCallArguments_11_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0());
}
pushFollow(FOLLOW_51);
lv_featureCallArguments_11_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
}
add(
current,
"featureCallArguments",
lv_featureCallArguments_11_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop344;
}
} while (true);
}
}
break;
}
otherlv_12=(Token)match(input,50,FOLLOW_85); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2());
}
}
break;
}
// InternalSARL.g:14713:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?
int alt347=2;
alt347 = dfa347.predict(input);
switch (alt347) {
case 1 :
// InternalSARL.g:14714:4: ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure )
{
// InternalSARL.g:14720:4: (lv_featureCallArguments_13_0= ruleXClosure )
// InternalSARL.g:14721:5: lv_featureCallArguments_13_0= ruleXClosure
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0());
}
pushFollow(FOLLOW_2);
lv_featureCallArguments_13_0=ruleXClosure();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFeatureCallRule());
}
add(
current,
"featureCallArguments",
lv_featureCallArguments_13_0,
"org.eclipse.xtext.xbase.Xbase.XClosure");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXFeatureCall"
// $ANTLR start "entryRuleIdOrSuper"
// InternalSARL.g:14742:1: entryRuleIdOrSuper returns [String current=null] : iv_ruleIdOrSuper= ruleIdOrSuper EOF ;
public final String entryRuleIdOrSuper() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleIdOrSuper = null;
try {
// InternalSARL.g:14742:49: (iv_ruleIdOrSuper= ruleIdOrSuper EOF )
// InternalSARL.g:14743:2: iv_ruleIdOrSuper= ruleIdOrSuper EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIdOrSuperRule());
}
pushFollow(FOLLOW_1);
iv_ruleIdOrSuper=ruleIdOrSuper();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleIdOrSuper.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIdOrSuper"
// $ANTLR start "ruleIdOrSuper"
// InternalSARL.g:14749:1: ruleIdOrSuper returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) ;
public final AntlrDatatypeRuleToken ruleIdOrSuper() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
AntlrDatatypeRuleToken this_FeatureCallID_0 = null;
enterRule();
try {
// InternalSARL.g:14755:2: ( (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) )
// InternalSARL.g:14756:2: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' )
{
// InternalSARL.g:14756:2: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' )
int alt348=2;
int LA348_0 = input.LA(1);
if ( (LA348_0==RULE_ID||LA348_0==25||LA348_0==28||LA348_0==36||LA348_0==39||(LA348_0>=42 && LA348_0<=45)||LA348_0==51||(LA348_0>=69 && LA348_0<=87)) ) {
alt348=1;
}
else if ( (LA348_0==130) ) {
alt348=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 348, 0, input);
throw nvae;
}
switch (alt348) {
case 1 :
// InternalSARL.g:14757:3: this_FeatureCallID_0= ruleFeatureCallID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0());
}
pushFollow(FOLLOW_2);
this_FeatureCallID_0=ruleFeatureCallID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_FeatureCallID_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalSARL.g:14768:3: kw= 'super'
{
kw=(Token)match(input,130,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getIdOrSuperAccess().getSuperKeyword_1());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIdOrSuper"
// $ANTLR start "entryRuleXBooleanLiteral"
// InternalSARL.g:14777:1: entryRuleXBooleanLiteral returns [EObject current=null] : iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ;
public final EObject entryRuleXBooleanLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXBooleanLiteral = null;
try {
// InternalSARL.g:14777:56: (iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF )
// InternalSARL.g:14778:2: iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXBooleanLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleXBooleanLiteral=ruleXBooleanLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXBooleanLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXBooleanLiteral"
// $ANTLR start "ruleXBooleanLiteral"
// InternalSARL.g:14784:1: ruleXBooleanLiteral returns [EObject current=null] : ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ;
public final EObject ruleXBooleanLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token lv_isTrue_2_0=null;
enterRule();
try {
// InternalSARL.g:14790:2: ( ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) )
// InternalSARL.g:14791:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
{
// InternalSARL.g:14791:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
// InternalSARL.g:14792:3: () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
{
// InternalSARL.g:14792:3: ()
// InternalSARL.g:14793:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0(),
current);
}
}
// InternalSARL.g:14799:3: (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
int alt349=2;
int LA349_0 = input.LA(1);
if ( (LA349_0==131) ) {
alt349=1;
}
else if ( (LA349_0==132) ) {
alt349=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 349, 0, input);
throw nvae;
}
switch (alt349) {
case 1 :
// InternalSARL.g:14800:4: otherlv_1= 'false'
{
otherlv_1=(Token)match(input,131,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0());
}
}
break;
case 2 :
// InternalSARL.g:14805:4: ( (lv_isTrue_2_0= 'true' ) )
{
// InternalSARL.g:14805:4: ( (lv_isTrue_2_0= 'true' ) )
// InternalSARL.g:14806:5: (lv_isTrue_2_0= 'true' )
{
// InternalSARL.g:14806:5: (lv_isTrue_2_0= 'true' )
// InternalSARL.g:14807:6: lv_isTrue_2_0= 'true'
{
lv_isTrue_2_0=(Token)match(input,132,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_isTrue_2_0, grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXBooleanLiteralRule());
}
setWithLastConsumed(current, "isTrue", true, "true");
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXBooleanLiteral"
// $ANTLR start "entryRuleXNullLiteral"
// InternalSARL.g:14824:1: entryRuleXNullLiteral returns [EObject current=null] : iv_ruleXNullLiteral= ruleXNullLiteral EOF ;
public final EObject entryRuleXNullLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXNullLiteral = null;
try {
// InternalSARL.g:14824:53: (iv_ruleXNullLiteral= ruleXNullLiteral EOF )
// InternalSARL.g:14825:2: iv_ruleXNullLiteral= ruleXNullLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXNullLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleXNullLiteral=ruleXNullLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXNullLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXNullLiteral"
// $ANTLR start "ruleXNullLiteral"
// InternalSARL.g:14831:1: ruleXNullLiteral returns [EObject current=null] : ( () otherlv_1= 'null' ) ;
public final EObject ruleXNullLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
enterRule();
try {
// InternalSARL.g:14837:2: ( ( () otherlv_1= 'null' ) )
// InternalSARL.g:14838:2: ( () otherlv_1= 'null' )
{
// InternalSARL.g:14838:2: ( () otherlv_1= 'null' )
// InternalSARL.g:14839:3: () otherlv_1= 'null'
{
// InternalSARL.g:14839:3: ()
// InternalSARL.g:14840:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0(),
current);
}
}
otherlv_1=(Token)match(input,133,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXNullLiteralAccess().getNullKeyword_1());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXNullLiteral"
// $ANTLR start "entryRuleXNumberLiteral"
// InternalSARL.g:14854:1: entryRuleXNumberLiteral returns [EObject current=null] : iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ;
public final EObject entryRuleXNumberLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXNumberLiteral = null;
try {
// InternalSARL.g:14854:55: (iv_ruleXNumberLiteral= ruleXNumberLiteral EOF )
// InternalSARL.g:14855:2: iv_ruleXNumberLiteral= ruleXNumberLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXNumberLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleXNumberLiteral=ruleXNumberLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXNumberLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXNumberLiteral"
// $ANTLR start "ruleXNumberLiteral"
// InternalSARL.g:14861:1: ruleXNumberLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= ruleNumber ) ) ) ;
public final EObject ruleXNumberLiteral() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_value_1_0 = null;
enterRule();
try {
// InternalSARL.g:14867:2: ( ( () ( (lv_value_1_0= ruleNumber ) ) ) )
// InternalSARL.g:14868:2: ( () ( (lv_value_1_0= ruleNumber ) ) )
{
// InternalSARL.g:14868:2: ( () ( (lv_value_1_0= ruleNumber ) ) )
// InternalSARL.g:14869:3: () ( (lv_value_1_0= ruleNumber ) )
{
// InternalSARL.g:14869:3: ()
// InternalSARL.g:14870:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0(),
current);
}
}
// InternalSARL.g:14876:3: ( (lv_value_1_0= ruleNumber ) )
// InternalSARL.g:14877:4: (lv_value_1_0= ruleNumber )
{
// InternalSARL.g:14877:4: (lv_value_1_0= ruleNumber )
// InternalSARL.g:14878:5: lv_value_1_0= ruleNumber
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0());
}
pushFollow(FOLLOW_2);
lv_value_1_0=ruleNumber();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXNumberLiteralRule());
}
set(
current,
"value",
lv_value_1_0,
"org.eclipse.xtext.xbase.Xbase.Number");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXNumberLiteral"
// $ANTLR start "entryRuleXTypeLiteral"
// InternalSARL.g:14899:1: entryRuleXTypeLiteral returns [EObject current=null] : iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ;
public final EObject entryRuleXTypeLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleXTypeLiteral = null;
try {
// InternalSARL.g:14899:53: (iv_ruleXTypeLiteral= ruleXTypeLiteral EOF )
// InternalSARL.g:14900:2: iv_ruleXTypeLiteral= ruleXTypeLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTypeLiteralRule());
}
pushFollow(FOLLOW_1);
iv_ruleXTypeLiteral=ruleXTypeLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXTypeLiteral;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXTypeLiteral"
// $ANTLR start "ruleXTypeLiteral"
// InternalSARL.g:14906:1: ruleXTypeLiteral returns [EObject current=null] : ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) ;
public final EObject ruleXTypeLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_5=null;
AntlrDatatypeRuleToken lv_arrayDimensions_4_0 = null;
enterRule();
try {
// InternalSARL.g:14912:2: ( ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) )
// InternalSARL.g:14913:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' )
{
// InternalSARL.g:14913:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' )
// InternalSARL.g:14914:3: () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')'
{
// InternalSARL.g:14914:3: ()
// InternalSARL.g:14915:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0(),
current);
}
}
otherlv_1=(Token)match(input,134,FOLLOW_77); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1());
}
otherlv_2=(Token)match(input,49,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2());
}
// InternalSARL.g:14929:3: ( ( ruleQualifiedName ) )
// InternalSARL.g:14930:4: ( ruleQualifiedName )
{
// InternalSARL.g:14930:4: ( ruleQualifiedName )
// InternalSARL.g:14931:5: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXTypeLiteralRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0());
}
pushFollow(FOLLOW_144);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:14945:3: ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )*
loop350:
do {
int alt350=2;
int LA350_0 = input.LA(1);
if ( (LA350_0==55) ) {
alt350=1;
}
switch (alt350) {
case 1 :
// InternalSARL.g:14946:4: (lv_arrayDimensions_4_0= ruleArrayBrackets )
{
// InternalSARL.g:14946:4: (lv_arrayDimensions_4_0= ruleArrayBrackets )
// InternalSARL.g:14947:5: lv_arrayDimensions_4_0= ruleArrayBrackets
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0());
}
pushFollow(FOLLOW_144);
lv_arrayDimensions_4_0=ruleArrayBrackets();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXTypeLiteralRule());
}
add(
current,
"arrayDimensions",
lv_arrayDimensions_4_0,
"org.eclipse.xtext.xbase.Xtype.ArrayBrackets");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop350;
}
} while (true);
otherlv_5=(Token)match(input,50,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXTypeLiteral"
// $ANTLR start "entryRuleXThrowExpression"
// InternalSARL.g:14972:1: entryRuleXThrowExpression returns [EObject current=null] : iv_ruleXThrowExpression= ruleXThrowExpression EOF ;
public final EObject entryRuleXThrowExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXThrowExpression = null;
try {
// InternalSARL.g:14972:57: (iv_ruleXThrowExpression= ruleXThrowExpression EOF )
// InternalSARL.g:14973:2: iv_ruleXThrowExpression= ruleXThrowExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXThrowExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXThrowExpression=ruleXThrowExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXThrowExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXThrowExpression"
// $ANTLR start "ruleXThrowExpression"
// InternalSARL.g:14979:1: ruleXThrowExpression returns [EObject current=null] : ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) ;
public final EObject ruleXThrowExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_expression_2_0 = null;
enterRule();
try {
// InternalSARL.g:14985:2: ( ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) )
// InternalSARL.g:14986:2: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) )
{
// InternalSARL.g:14986:2: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) )
// InternalSARL.g:14987:3: () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) )
{
// InternalSARL.g:14987:3: ()
// InternalSARL.g:14988:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,135,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1());
}
// InternalSARL.g:14998:3: ( (lv_expression_2_0= ruleXExpression ) )
// InternalSARL.g:14999:4: (lv_expression_2_0= ruleXExpression )
{
// InternalSARL.g:14999:4: (lv_expression_2_0= ruleXExpression )
// InternalSARL.g:15000:5: lv_expression_2_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0());
}
pushFollow(FOLLOW_2);
lv_expression_2_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXThrowExpressionRule());
}
set(
current,
"expression",
lv_expression_2_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXThrowExpression"
// $ANTLR start "entryRuleXReturnExpression"
// InternalSARL.g:15021:1: entryRuleXReturnExpression returns [EObject current=null] : iv_ruleXReturnExpression= ruleXReturnExpression EOF ;
public final EObject entryRuleXReturnExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXReturnExpression = null;
try {
// InternalSARL.g:15021:58: (iv_ruleXReturnExpression= ruleXReturnExpression EOF )
// InternalSARL.g:15022:2: iv_ruleXReturnExpression= ruleXReturnExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXReturnExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXReturnExpression=ruleXReturnExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXReturnExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXReturnExpression"
// $ANTLR start "ruleXReturnExpression"
// InternalSARL.g:15028:1: ruleXReturnExpression returns [EObject current=null] : ( () otherlv_1= 'return' ( ( 'abstract' | 'annotation' | 'class' | 'create' | 'def' | 'dispatch' | 'enum' | 'extends' | 'final' | 'implements' | 'import' | 'interface' | 'override' | 'package' | 'public' | 'private' | 'protected' | 'static' | 'throws' | 'strictfp' | 'native' | 'volatile' | 'synchronized' | 'transient' | 'AFTER' | 'BEFORE' | 'SEPARATOR' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | 'break' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_RICH_TEXT | RULE_RICH_TEXT_START )=> (lv_expression_2_0= ruleXExpression ) )? ) ;
public final EObject ruleXReturnExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_expression_2_0 = null;
enterRule();
try {
// InternalSARL.g:15034:2: ( ( () otherlv_1= 'return' ( ( 'abstract' | 'annotation' | 'class' | 'create' | 'def' | 'dispatch' | 'enum' | 'extends' | 'final' | 'implements' | 'import' | 'interface' | 'override' | 'package' | 'public' | 'private' | 'protected' | 'static' | 'throws' | 'strictfp' | 'native' | 'volatile' | 'synchronized' | 'transient' | 'AFTER' | 'BEFORE' | 'SEPARATOR' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | 'break' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_RICH_TEXT | RULE_RICH_TEXT_START )=> (lv_expression_2_0= ruleXExpression ) )? ) )
// InternalSARL.g:15035:2: ( () otherlv_1= 'return' ( ( 'abstract' | 'annotation' | 'class' | 'create' | 'def' | 'dispatch' | 'enum' | 'extends' | 'final' | 'implements' | 'import' | 'interface' | 'override' | 'package' | 'public' | 'private' | 'protected' | 'static' | 'throws' | 'strictfp' | 'native' | 'volatile' | 'synchronized' | 'transient' | 'AFTER' | 'BEFORE' | 'SEPARATOR' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | 'break' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_RICH_TEXT | RULE_RICH_TEXT_START )=> (lv_expression_2_0= ruleXExpression ) )? )
{
// InternalSARL.g:15035:2: ( () otherlv_1= 'return' ( ( 'abstract' | 'annotation' | 'class' | 'create' | 'def' | 'dispatch' | 'enum' | 'extends' | 'final' | 'implements' | 'import' | 'interface' | 'override' | 'package' | 'public' | 'private' | 'protected' | 'static' | 'throws' | 'strictfp' | 'native' | 'volatile' | 'synchronized' | 'transient' | 'AFTER' | 'BEFORE' | 'SEPARATOR' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | 'break' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_RICH_TEXT | RULE_RICH_TEXT_START )=> (lv_expression_2_0= ruleXExpression ) )? )
// InternalSARL.g:15036:3: () otherlv_1= 'return' ( ( 'abstract' | 'annotation' | 'class' | 'create' | 'def' | 'dispatch' | 'enum' | 'extends' | 'final' | 'implements' | 'import' | 'interface' | 'override' | 'package' | 'public' | 'private' | 'protected' | 'static' | 'throws' | 'strictfp' | 'native' | 'volatile' | 'synchronized' | 'transient' | 'AFTER' | 'BEFORE' | 'SEPARATOR' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | 'break' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_RICH_TEXT | RULE_RICH_TEXT_START )=> (lv_expression_2_0= ruleXExpression ) )?
{
// InternalSARL.g:15036:3: ()
// InternalSARL.g:15037:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,136,FOLLOW_145); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1());
}
// InternalSARL.g:15047:3: ( ( 'abstract' | 'annotation' | 'class' | 'create' | 'def' | 'dispatch' | 'enum' | 'extends' | 'final' | 'implements' | 'import' | 'interface' | 'override' | 'package' | 'public' | 'private' | 'protected' | 'static' | 'throws' | 'strictfp' | 'native' | 'volatile' | 'synchronized' | 'transient' | 'AFTER' | 'BEFORE' | 'SEPARATOR' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | 'break' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_RICH_TEXT | RULE_RICH_TEXT_START )=> (lv_expression_2_0= ruleXExpression ) )?
int alt351=2;
alt351 = dfa351.predict(input);
switch (alt351) {
case 1 :
// InternalSARL.g:15048:4: ( 'abstract' | 'annotation' | 'class' | 'create' | 'def' | 'dispatch' | 'enum' | 'extends' | 'final' | 'implements' | 'import' | 'interface' | 'override' | 'package' | 'public' | 'private' | 'protected' | 'static' | 'throws' | 'strictfp' | 'native' | 'volatile' | 'synchronized' | 'transient' | 'AFTER' | 'BEFORE' | 'SEPARATOR' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | 'break' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_RICH_TEXT | RULE_RICH_TEXT_START )=> (lv_expression_2_0= ruleXExpression )
{
// InternalSARL.g:15049:4: (lv_expression_2_0= ruleXExpression )
// InternalSARL.g:15050:5: lv_expression_2_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0());
}
pushFollow(FOLLOW_2);
lv_expression_2_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXReturnExpressionRule());
}
set(
current,
"expression",
lv_expression_2_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXReturnExpression"
// $ANTLR start "entryRuleXTryCatchFinallyExpression"
// InternalSARL.g:15071:1: entryRuleXTryCatchFinallyExpression returns [EObject current=null] : iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ;
public final EObject entryRuleXTryCatchFinallyExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXTryCatchFinallyExpression = null;
try {
// InternalSARL.g:15071:67: (iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF )
// InternalSARL.g:15072:2: iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXTryCatchFinallyExpression=ruleXTryCatchFinallyExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXTryCatchFinallyExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXTryCatchFinallyExpression"
// $ANTLR start "ruleXTryCatchFinallyExpression"
// InternalSARL.g:15078:1: ruleXTryCatchFinallyExpression returns [EObject current=null] : ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) ;
public final EObject ruleXTryCatchFinallyExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_4=null;
Token otherlv_6=null;
EObject lv_expression_2_0 = null;
EObject lv_catchClauses_3_0 = null;
EObject lv_finallyExpression_5_0 = null;
EObject lv_finallyExpression_7_0 = null;
enterRule();
try {
// InternalSARL.g:15084:2: ( ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) )
// InternalSARL.g:15085:2: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) )
{
// InternalSARL.g:15085:2: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) )
// InternalSARL.g:15086:3: () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) )
{
// InternalSARL.g:15086:3: ()
// InternalSARL.g:15087:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,137,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1());
}
// InternalSARL.g:15097:3: ( (lv_expression_2_0= ruleXExpression ) )
// InternalSARL.g:15098:4: (lv_expression_2_0= ruleXExpression )
{
// InternalSARL.g:15098:4: (lv_expression_2_0= ruleXExpression )
// InternalSARL.g:15099:5: lv_expression_2_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0());
}
pushFollow(FOLLOW_146);
lv_expression_2_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule());
}
set(
current,
"expression",
lv_expression_2_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:15116:3: ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) )
int alt354=2;
int LA354_0 = input.LA(1);
if ( (LA354_0==139) ) {
alt354=1;
}
else if ( (LA354_0==138) ) {
alt354=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 354, 0, input);
throw nvae;
}
switch (alt354) {
case 1 :
// InternalSARL.g:15117:4: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? )
{
// InternalSARL.g:15117:4: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? )
// InternalSARL.g:15118:5: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )?
{
// InternalSARL.g:15118:5: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+
int cnt352=0;
loop352:
do {
int alt352=2;
int LA352_0 = input.LA(1);
if ( (LA352_0==139) ) {
int LA352_2 = input.LA(2);
if ( (synpred51_InternalSARL()) ) {
alt352=1;
}
}
switch (alt352) {
case 1 :
// InternalSARL.g:15119:6: ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause )
{
// InternalSARL.g:15120:6: (lv_catchClauses_3_0= ruleXCatchClause )
// InternalSARL.g:15121:7: lv_catchClauses_3_0= ruleXCatchClause
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0());
}
pushFollow(FOLLOW_147);
lv_catchClauses_3_0=ruleXCatchClause();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule());
}
add(
current,
"catchClauses",
lv_catchClauses_3_0,
"org.eclipse.xtext.xbase.Xbase.XCatchClause");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt352 >= 1 ) break loop352;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(352, input);
throw eee;
}
cnt352++;
} while (true);
// InternalSARL.g:15138:5: ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )?
int alt353=2;
int LA353_0 = input.LA(1);
if ( (LA353_0==138) ) {
int LA353_1 = input.LA(2);
if ( (synpred52_InternalSARL()) ) {
alt353=1;
}
}
switch (alt353) {
case 1 :
// InternalSARL.g:15139:6: ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) )
{
// InternalSARL.g:15139:6: ( ( 'finally' )=>otherlv_4= 'finally' )
// InternalSARL.g:15140:7: ( 'finally' )=>otherlv_4= 'finally'
{
otherlv_4=(Token)match(input,138,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0());
}
}
// InternalSARL.g:15146:6: ( (lv_finallyExpression_5_0= ruleXExpression ) )
// InternalSARL.g:15147:7: (lv_finallyExpression_5_0= ruleXExpression )
{
// InternalSARL.g:15147:7: (lv_finallyExpression_5_0= ruleXExpression )
// InternalSARL.g:15148:8: lv_finallyExpression_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0());
}
pushFollow(FOLLOW_2);
lv_finallyExpression_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule());
}
set(
current,
"finallyExpression",
lv_finallyExpression_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 2 :
// InternalSARL.g:15168:4: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) )
{
// InternalSARL.g:15168:4: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) )
// InternalSARL.g:15169:5: otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) )
{
otherlv_6=(Token)match(input,138,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0());
}
// InternalSARL.g:15173:5: ( (lv_finallyExpression_7_0= ruleXExpression ) )
// InternalSARL.g:15174:6: (lv_finallyExpression_7_0= ruleXExpression )
{
// InternalSARL.g:15174:6: (lv_finallyExpression_7_0= ruleXExpression )
// InternalSARL.g:15175:7: lv_finallyExpression_7_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0());
}
pushFollow(FOLLOW_2);
lv_finallyExpression_7_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule());
}
set(
current,
"finallyExpression",
lv_finallyExpression_7_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXTryCatchFinallyExpression"
// $ANTLR start "entryRuleXSynchronizedExpression"
// InternalSARL.g:15198:1: entryRuleXSynchronizedExpression returns [EObject current=null] : iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ;
public final EObject entryRuleXSynchronizedExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleXSynchronizedExpression = null;
try {
// InternalSARL.g:15198:64: (iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF )
// InternalSARL.g:15199:2: iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSynchronizedExpressionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXSynchronizedExpression=ruleXSynchronizedExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXSynchronizedExpression;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXSynchronizedExpression"
// $ANTLR start "ruleXSynchronizedExpression"
// InternalSARL.g:15205:1: ruleXSynchronizedExpression returns [EObject current=null] : ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) ;
public final EObject ruleXSynchronizedExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_param_3_0 = null;
EObject lv_expression_5_0 = null;
enterRule();
try {
// InternalSARL.g:15211:2: ( ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) )
// InternalSARL.g:15212:2: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) )
{
// InternalSARL.g:15212:2: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) )
// InternalSARL.g:15213:3: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) )
{
// InternalSARL.g:15213:3: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) )
// InternalSARL.g:15214:4: ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' )
{
// InternalSARL.g:15221:4: ( () otherlv_1= 'synchronized' otherlv_2= '(' )
// InternalSARL.g:15222:5: () otherlv_1= 'synchronized' otherlv_2= '('
{
// InternalSARL.g:15222:5: ()
// InternalSARL.g:15223:6:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0(),
current);
}
}
otherlv_1=(Token)match(input,79,FOLLOW_77); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1());
}
otherlv_2=(Token)match(input,49,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2());
}
}
}
// InternalSARL.g:15239:3: ( (lv_param_3_0= ruleXExpression ) )
// InternalSARL.g:15240:4: (lv_param_3_0= ruleXExpression )
{
// InternalSARL.g:15240:4: (lv_param_3_0= ruleXExpression )
// InternalSARL.g:15241:5: lv_param_3_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0());
}
pushFollow(FOLLOW_78);
lv_param_3_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule());
}
set(
current,
"param",
lv_param_3_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
otherlv_4=(Token)match(input,50,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2());
}
// InternalSARL.g:15262:3: ( (lv_expression_5_0= ruleXExpression ) )
// InternalSARL.g:15263:4: (lv_expression_5_0= ruleXExpression )
{
// InternalSARL.g:15263:4: (lv_expression_5_0= ruleXExpression )
// InternalSARL.g:15264:5: lv_expression_5_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0());
}
pushFollow(FOLLOW_2);
lv_expression_5_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule());
}
set(
current,
"expression",
lv_expression_5_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXSynchronizedExpression"
// $ANTLR start "entryRuleXCatchClause"
// InternalSARL.g:15285:1: entryRuleXCatchClause returns [EObject current=null] : iv_ruleXCatchClause= ruleXCatchClause EOF ;
public final EObject entryRuleXCatchClause() throws RecognitionException {
EObject current = null;
EObject iv_ruleXCatchClause = null;
try {
// InternalSARL.g:15285:53: (iv_ruleXCatchClause= ruleXCatchClause EOF )
// InternalSARL.g:15286:2: iv_ruleXCatchClause= ruleXCatchClause EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCatchClauseRule());
}
pushFollow(FOLLOW_1);
iv_ruleXCatchClause=ruleXCatchClause();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXCatchClause;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXCatchClause"
// $ANTLR start "ruleXCatchClause"
// InternalSARL.g:15292:1: ruleXCatchClause returns [EObject current=null] : ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) ;
public final EObject ruleXCatchClause() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
EObject lv_declaredParam_2_0 = null;
EObject lv_expression_4_0 = null;
enterRule();
try {
// InternalSARL.g:15298:2: ( ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) )
// InternalSARL.g:15299:2: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) )
{
// InternalSARL.g:15299:2: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) )
// InternalSARL.g:15300:3: ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) )
{
// InternalSARL.g:15300:3: ( ( 'catch' )=>otherlv_0= 'catch' )
// InternalSARL.g:15301:4: ( 'catch' )=>otherlv_0= 'catch'
{
otherlv_0=(Token)match(input,139,FOLLOW_77); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getXCatchClauseAccess().getCatchKeyword_0());
}
}
otherlv_1=(Token)match(input,49,FOLLOW_72); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1());
}
// InternalSARL.g:15311:3: ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) )
// InternalSARL.g:15312:4: (lv_declaredParam_2_0= ruleFullJvmFormalParameter )
{
// InternalSARL.g:15312:4: (lv_declaredParam_2_0= ruleFullJvmFormalParameter )
// InternalSARL.g:15313:5: lv_declaredParam_2_0= ruleFullJvmFormalParameter
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0());
}
pushFollow(FOLLOW_78);
lv_declaredParam_2_0=ruleFullJvmFormalParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXCatchClauseRule());
}
set(
current,
"declaredParam",
lv_declaredParam_2_0,
"io.sarl.lang.SARL.FullJvmFormalParameter");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,50,FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3());
}
// InternalSARL.g:15334:3: ( (lv_expression_4_0= ruleXExpression ) )
// InternalSARL.g:15335:4: (lv_expression_4_0= ruleXExpression )
{
// InternalSARL.g:15335:4: (lv_expression_4_0= ruleXExpression )
// InternalSARL.g:15336:5: lv_expression_4_0= ruleXExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0());
}
pushFollow(FOLLOW_2);
lv_expression_4_0=ruleXExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXCatchClauseRule());
}
set(
current,
"expression",
lv_expression_4_0,
"org.eclipse.xtext.xbase.Xbase.XExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXCatchClause"
// $ANTLR start "entryRuleQualifiedName"
// InternalSARL.g:15357:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
public final String entryRuleQualifiedName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleQualifiedName = null;
try {
// InternalSARL.g:15357:53: (iv_ruleQualifiedName= ruleQualifiedName EOF )
// InternalSARL.g:15358:2: iv_ruleQualifiedName= ruleQualifiedName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameRule());
}
pushFollow(FOLLOW_1);
iv_ruleQualifiedName=ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleQualifiedName.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleQualifiedName"
// $ANTLR start "ruleQualifiedName"
// InternalSARL.g:15364:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) ;
public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
AntlrDatatypeRuleToken this_ValidID_0 = null;
AntlrDatatypeRuleToken this_ValidID_2 = null;
enterRule();
try {
// InternalSARL.g:15370:2: ( (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) )
// InternalSARL.g:15371:2: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* )
{
// InternalSARL.g:15371:2: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* )
// InternalSARL.g:15372:3: this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0());
}
pushFollow(FOLLOW_89);
this_ValidID_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ValidID_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
// InternalSARL.g:15382:3: ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*
loop355:
do {
int alt355=2;
alt355 = dfa355.predict(input);
switch (alt355) {
case 1 :
// InternalSARL.g:15383:4: ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID
{
// InternalSARL.g:15383:4: ( ( '.' )=>kw= '.' )
// InternalSARL.g:15384:5: ( '.' )=>kw= '.'
{
kw=(Token)match(input,68,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1());
}
pushFollow(FOLLOW_89);
this_ValidID_2=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ValidID_2);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop355;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleQualifiedName"
// $ANTLR start "entryRuleNumber"
// InternalSARL.g:15406:1: entryRuleNumber returns [String current=null] : iv_ruleNumber= ruleNumber EOF ;
public final String entryRuleNumber() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleNumber = null;
HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
try {
// InternalSARL.g:15408:2: (iv_ruleNumber= ruleNumber EOF )
// InternalSARL.g:15409:2: iv_ruleNumber= ruleNumber EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNumberRule());
}
pushFollow(FOLLOW_1);
iv_ruleNumber=ruleNumber();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNumber.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
myHiddenTokenState.restore();
}
return current;
}
// $ANTLR end "entryRuleNumber"
// $ANTLR start "ruleNumber"
// InternalSARL.g:15418:1: ruleNumber returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) ;
public final AntlrDatatypeRuleToken ruleNumber() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_HEX_0=null;
Token this_INT_1=null;
Token this_DECIMAL_2=null;
Token kw=null;
Token this_INT_4=null;
Token this_DECIMAL_5=null;
enterRule();
HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
try {
// InternalSARL.g:15425:2: ( (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) )
// InternalSARL.g:15426:2: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) )
{
// InternalSARL.g:15426:2: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) )
int alt359=2;
int LA359_0 = input.LA(1);
if ( (LA359_0==RULE_HEX) ) {
alt359=1;
}
else if ( ((LA359_0>=RULE_INT && LA359_0<=RULE_DECIMAL)) ) {
alt359=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 359, 0, input);
throw nvae;
}
switch (alt359) {
case 1 :
// InternalSARL.g:15427:3: this_HEX_0= RULE_HEX
{
this_HEX_0=(Token)match(input,RULE_HEX,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_HEX_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_HEX_0, grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0());
}
}
break;
case 2 :
// InternalSARL.g:15435:3: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? )
{
// InternalSARL.g:15435:3: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? )
// InternalSARL.g:15436:4: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )?
{
// InternalSARL.g:15436:4: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL )
int alt356=2;
int LA356_0 = input.LA(1);
if ( (LA356_0==RULE_INT) ) {
alt356=1;
}
else if ( (LA356_0==RULE_DECIMAL) ) {
alt356=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 356, 0, input);
throw nvae;
}
switch (alt356) {
case 1 :
// InternalSARL.g:15437:5: this_INT_1= RULE_INT
{
this_INT_1=(Token)match(input,RULE_INT,FOLLOW_89); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_INT_1);
}
if ( state.backtracking==0 ) {
newLeafNode(this_INT_1, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0());
}
}
break;
case 2 :
// InternalSARL.g:15445:5: this_DECIMAL_2= RULE_DECIMAL
{
this_DECIMAL_2=(Token)match(input,RULE_DECIMAL,FOLLOW_89); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_DECIMAL_2);
}
if ( state.backtracking==0 ) {
newLeafNode(this_DECIMAL_2, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1());
}
}
break;
}
// InternalSARL.g:15453:4: (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )?
int alt358=2;
int LA358_0 = input.LA(1);
if ( (LA358_0==68) ) {
int LA358_1 = input.LA(2);
if ( ((LA358_1>=RULE_INT && LA358_1<=RULE_DECIMAL)) ) {
alt358=1;
}
}
switch (alt358) {
case 1 :
// InternalSARL.g:15454:5: kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL )
{
kw=(Token)match(input,68,FOLLOW_148); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0());
}
// InternalSARL.g:15459:5: (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL )
int alt357=2;
int LA357_0 = input.LA(1);
if ( (LA357_0==RULE_INT) ) {
alt357=1;
}
else if ( (LA357_0==RULE_DECIMAL) ) {
alt357=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 357, 0, input);
throw nvae;
}
switch (alt357) {
case 1 :
// InternalSARL.g:15460:6: this_INT_4= RULE_INT
{
this_INT_4=(Token)match(input,RULE_INT,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_INT_4);
}
if ( state.backtracking==0 ) {
newLeafNode(this_INT_4, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0());
}
}
break;
case 2 :
// InternalSARL.g:15468:6: this_DECIMAL_5= RULE_DECIMAL
{
this_DECIMAL_5=(Token)match(input,RULE_DECIMAL,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_DECIMAL_5);
}
if ( state.backtracking==0 ) {
newLeafNode(this_DECIMAL_5, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1());
}
}
break;
}
}
break;
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
myHiddenTokenState.restore();
}
return current;
}
// $ANTLR end "ruleNumber"
// $ANTLR start "entryRuleJvmTypeReference"
// InternalSARL.g:15485:1: entryRuleJvmTypeReference returns [EObject current=null] : iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ;
public final EObject entryRuleJvmTypeReference() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmTypeReference = null;
try {
// InternalSARL.g:15485:57: (iv_ruleJvmTypeReference= ruleJvmTypeReference EOF )
// InternalSARL.g:15486:2: iv_ruleJvmTypeReference= ruleJvmTypeReference EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmTypeReferenceRule());
}
pushFollow(FOLLOW_1);
iv_ruleJvmTypeReference=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmTypeReference;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmTypeReference"
// $ANTLR start "ruleJvmTypeReference"
// InternalSARL.g:15492:1: ruleJvmTypeReference returns [EObject current=null] : ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) ;
public final EObject ruleJvmTypeReference() throws RecognitionException {
EObject current = null;
EObject this_JvmParameterizedTypeReference_0 = null;
EObject this_XFunctionTypeRef_3 = null;
enterRule();
try {
// InternalSARL.g:15498:2: ( ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) )
// InternalSARL.g:15499:2: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef )
{
// InternalSARL.g:15499:2: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef )
int alt361=2;
int LA361_0 = input.LA(1);
if ( (LA361_0==RULE_ID||LA361_0==44||(LA361_0>=83 && LA361_0<=86)) ) {
alt361=1;
}
else if ( (LA361_0==49||LA361_0==67) ) {
alt361=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 361, 0, input);
throw nvae;
}
switch (alt361) {
case 1 :
// InternalSARL.g:15500:3: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* )
{
// InternalSARL.g:15500:3: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* )
// InternalSARL.g:15501:4: this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0());
}
pushFollow(FOLLOW_85);
this_JvmParameterizedTypeReference_0=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_JvmParameterizedTypeReference_0;
afterParserOrEnumRuleCall();
}
// InternalSARL.g:15509:4: ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )*
loop360:
do {
int alt360=2;
int LA360_0 = input.LA(1);
if ( (LA360_0==55) ) {
int LA360_2 = input.LA(2);
if ( (LA360_2==56) ) {
int LA360_3 = input.LA(3);
if ( (synpred56_InternalSARL()) ) {
alt360=1;
}
}
}
switch (alt360) {
case 1 :
// InternalSARL.g:15510:5: ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets )
{
// InternalSARL.g:15516:5: ( () ruleArrayBrackets )
// InternalSARL.g:15517:6: () ruleArrayBrackets
{
// InternalSARL.g:15517:6: ()
// InternalSARL.g:15518:7:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0(),
current);
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1());
}
pushFollow(FOLLOW_85);
ruleArrayBrackets();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop360;
}
} while (true);
}
}
break;
case 2 :
// InternalSARL.g:15535:3: this_XFunctionTypeRef_3= ruleXFunctionTypeRef
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_XFunctionTypeRef_3=ruleXFunctionTypeRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_XFunctionTypeRef_3;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmTypeReference"
// $ANTLR start "entryRuleArrayBrackets"
// InternalSARL.g:15547:1: entryRuleArrayBrackets returns [String current=null] : iv_ruleArrayBrackets= ruleArrayBrackets EOF ;
public final String entryRuleArrayBrackets() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleArrayBrackets = null;
try {
// InternalSARL.g:15547:53: (iv_ruleArrayBrackets= ruleArrayBrackets EOF )
// InternalSARL.g:15548:2: iv_ruleArrayBrackets= ruleArrayBrackets EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getArrayBracketsRule());
}
pushFollow(FOLLOW_1);
iv_ruleArrayBrackets=ruleArrayBrackets();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleArrayBrackets.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleArrayBrackets"
// $ANTLR start "ruleArrayBrackets"
// InternalSARL.g:15554:1: ruleArrayBrackets returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '[' kw= ']' ) ;
public final AntlrDatatypeRuleToken ruleArrayBrackets() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalSARL.g:15560:2: ( (kw= '[' kw= ']' ) )
// InternalSARL.g:15561:2: (kw= '[' kw= ']' )
{
// InternalSARL.g:15561:2: (kw= '[' kw= ']' )
// InternalSARL.g:15562:3: kw= '[' kw= ']'
{
kw=(Token)match(input,55,FOLLOW_63); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0());
}
kw=(Token)match(input,56,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleArrayBrackets"
// $ANTLR start "entryRuleXFunctionTypeRef"
// InternalSARL.g:15576:1: entryRuleXFunctionTypeRef returns [EObject current=null] : iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ;
public final EObject entryRuleXFunctionTypeRef() throws RecognitionException {
EObject current = null;
EObject iv_ruleXFunctionTypeRef = null;
try {
// InternalSARL.g:15576:57: (iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF )
// InternalSARL.g:15577:2: iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFunctionTypeRefRule());
}
pushFollow(FOLLOW_1);
iv_ruleXFunctionTypeRef=ruleXFunctionTypeRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXFunctionTypeRef;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXFunctionTypeRef"
// $ANTLR start "ruleXFunctionTypeRef"
// InternalSARL.g:15583:1: ruleXFunctionTypeRef returns [EObject current=null] : ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) ;
public final EObject ruleXFunctionTypeRef() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_5=null;
EObject lv_paramTypes_1_0 = null;
EObject lv_paramTypes_3_0 = null;
EObject lv_returnType_6_0 = null;
enterRule();
try {
// InternalSARL.g:15589:2: ( ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) )
// InternalSARL.g:15590:2: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) )
{
// InternalSARL.g:15590:2: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) )
// InternalSARL.g:15591:3: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) )
{
// InternalSARL.g:15591:3: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )?
int alt364=2;
int LA364_0 = input.LA(1);
if ( (LA364_0==49) ) {
alt364=1;
}
switch (alt364) {
case 1 :
// InternalSARL.g:15592:4: otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')'
{
otherlv_0=(Token)match(input,49,FOLLOW_83); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0());
}
// InternalSARL.g:15596:4: ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )?
int alt363=2;
int LA363_0 = input.LA(1);
if ( (LA363_0==RULE_ID||LA363_0==44||LA363_0==49||LA363_0==67||(LA363_0>=83 && LA363_0<=86)) ) {
alt363=1;
}
switch (alt363) {
case 1 :
// InternalSARL.g:15597:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )*
{
// InternalSARL.g:15597:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) )
// InternalSARL.g:15598:6: (lv_paramTypes_1_0= ruleJvmTypeReference )
{
// InternalSARL.g:15598:6: (lv_paramTypes_1_0= ruleJvmTypeReference )
// InternalSARL.g:15599:7: lv_paramTypes_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0());
}
pushFollow(FOLLOW_51);
lv_paramTypes_1_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule());
}
add(
current,
"paramTypes",
lv_paramTypes_1_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:15616:5: (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )*
loop362:
do {
int alt362=2;
int LA362_0 = input.LA(1);
if ( (LA362_0==32) ) {
alt362=1;
}
switch (alt362) {
case 1 :
// InternalSARL.g:15617:6: otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) )
{
otherlv_2=(Token)match(input,32,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0());
}
// InternalSARL.g:15621:6: ( (lv_paramTypes_3_0= ruleJvmTypeReference ) )
// InternalSARL.g:15622:7: (lv_paramTypes_3_0= ruleJvmTypeReference )
{
// InternalSARL.g:15622:7: (lv_paramTypes_3_0= ruleJvmTypeReference )
// InternalSARL.g:15623:8: lv_paramTypes_3_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0());
}
pushFollow(FOLLOW_51);
lv_paramTypes_3_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule());
}
add(
current,
"paramTypes",
lv_paramTypes_3_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop362;
}
} while (true);
}
break;
}
otherlv_4=(Token)match(input,50,FOLLOW_84); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2());
}
}
break;
}
otherlv_5=(Token)match(input,67,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1());
}
// InternalSARL.g:15651:3: ( (lv_returnType_6_0= ruleJvmTypeReference ) )
// InternalSARL.g:15652:4: (lv_returnType_6_0= ruleJvmTypeReference )
{
// InternalSARL.g:15652:4: (lv_returnType_6_0= ruleJvmTypeReference )
// InternalSARL.g:15653:5: lv_returnType_6_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0());
}
pushFollow(FOLLOW_2);
lv_returnType_6_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule());
}
set(
current,
"returnType",
lv_returnType_6_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXFunctionTypeRef"
// $ANTLR start "entryRuleJvmParameterizedTypeReference"
// InternalSARL.g:15674:1: entryRuleJvmParameterizedTypeReference returns [EObject current=null] : iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ;
public final EObject entryRuleJvmParameterizedTypeReference() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmParameterizedTypeReference = null;
try {
// InternalSARL.g:15674:70: (iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF )
// InternalSARL.g:15675:2: iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceRule());
}
pushFollow(FOLLOW_1);
iv_ruleJvmParameterizedTypeReference=ruleJvmParameterizedTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmParameterizedTypeReference;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmParameterizedTypeReference"
// $ANTLR start "ruleJvmParameterizedTypeReference"
// InternalSARL.g:15681:1: ruleJvmParameterizedTypeReference returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) ;
public final EObject ruleJvmParameterizedTypeReference() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_9=null;
Token otherlv_11=null;
Token otherlv_13=null;
EObject lv_arguments_2_0 = null;
EObject lv_arguments_4_0 = null;
EObject lv_arguments_10_0 = null;
EObject lv_arguments_12_0 = null;
enterRule();
try {
// InternalSARL.g:15687:2: ( ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) )
// InternalSARL.g:15688:2: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? )
{
// InternalSARL.g:15688:2: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? )
// InternalSARL.g:15689:3: ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?
{
// InternalSARL.g:15689:3: ( ( ruleQualifiedName ) )
// InternalSARL.g:15690:4: ( ruleQualifiedName )
{
// InternalSARL.g:15690:4: ( ruleQualifiedName )
// InternalSARL.g:15691:5: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0());
}
pushFollow(FOLLOW_149);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:15705:3: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?
int alt369=2;
alt369 = dfa369.predict(input);
switch (alt369) {
case 1 :
// InternalSARL.g:15706:4: ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )*
{
// InternalSARL.g:15706:4: ( ( '<' )=>otherlv_1= '<' )
// InternalSARL.g:15707:5: ( '<' )=>otherlv_1= '<'
{
otherlv_1=(Token)match(input,40,FOLLOW_88); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0());
}
}
// InternalSARL.g:15713:4: ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) )
// InternalSARL.g:15714:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference )
{
// InternalSARL.g:15714:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference )
// InternalSARL.g:15715:6: lv_arguments_2_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_28);
lv_arguments_2_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule());
}
add(
current,
"arguments",
lv_arguments_2_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:15732:4: (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )*
loop365:
do {
int alt365=2;
int LA365_0 = input.LA(1);
if ( (LA365_0==32) ) {
alt365=1;
}
switch (alt365) {
case 1 :
// InternalSARL.g:15733:5: otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) )
{
otherlv_3=(Token)match(input,32,FOLLOW_88); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0());
}
// InternalSARL.g:15737:5: ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) )
// InternalSARL.g:15738:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference )
{
// InternalSARL.g:15738:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference )
// InternalSARL.g:15739:7: lv_arguments_4_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0());
}
pushFollow(FOLLOW_28);
lv_arguments_4_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule());
}
add(
current,
"arguments",
lv_arguments_4_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop365;
}
} while (true);
otherlv_5=(Token)match(input,41,FOLLOW_89); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3());
}
// InternalSARL.g:15761:4: ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )*
loop368:
do {
int alt368=2;
alt368 = dfa368.predict(input);
switch (alt368) {
case 1 :
// InternalSARL.g:15762:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?
{
// InternalSARL.g:15762:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) )
// InternalSARL.g:15763:6: ( ( () '.' ) )=> ( () otherlv_7= '.' )
{
// InternalSARL.g:15769:6: ( () otherlv_7= '.' )
// InternalSARL.g:15770:7: () otherlv_7= '.'
{
// InternalSARL.g:15770:7: ()
// InternalSARL.g:15771:8:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0(),
current);
}
}
otherlv_7=(Token)match(input,68,FOLLOW_3); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1());
}
}
}
// InternalSARL.g:15783:5: ( ( ruleValidID ) )
// InternalSARL.g:15784:6: ( ruleValidID )
{
// InternalSARL.g:15784:6: ( ruleValidID )
// InternalSARL.g:15785:7: ruleValidID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0());
}
pushFollow(FOLLOW_90);
ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:15799:5: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?
int alt367=2;
alt367 = dfa367.predict(input);
switch (alt367) {
case 1 :
// InternalSARL.g:15800:6: ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>'
{
// InternalSARL.g:15800:6: ( ( '<' )=>otherlv_9= '<' )
// InternalSARL.g:15801:7: ( '<' )=>otherlv_9= '<'
{
otherlv_9=(Token)match(input,40,FOLLOW_88); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0());
}
}
// InternalSARL.g:15807:6: ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) )
// InternalSARL.g:15808:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference )
{
// InternalSARL.g:15808:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference )
// InternalSARL.g:15809:8: lv_arguments_10_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0());
}
pushFollow(FOLLOW_28);
lv_arguments_10_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule());
}
add(
current,
"arguments",
lv_arguments_10_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:15826:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )*
loop366:
do {
int alt366=2;
int LA366_0 = input.LA(1);
if ( (LA366_0==32) ) {
alt366=1;
}
switch (alt366) {
case 1 :
// InternalSARL.g:15827:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) )
{
otherlv_11=(Token)match(input,32,FOLLOW_88); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0());
}
// InternalSARL.g:15831:7: ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) )
// InternalSARL.g:15832:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference )
{
// InternalSARL.g:15832:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference )
// InternalSARL.g:15833:9: lv_arguments_12_0= ruleJvmArgumentTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0());
}
pushFollow(FOLLOW_28);
lv_arguments_12_0=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule());
}
add(
current,
"arguments",
lv_arguments_12_0,
"org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop366;
}
} while (true);
otherlv_13=(Token)match(input,41,FOLLOW_89); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3());
}
}
break;
}
}
break;
default :
break loop368;
}
} while (true);
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmParameterizedTypeReference"
// $ANTLR start "entryRuleJvmArgumentTypeReference"
// InternalSARL.g:15862:1: entryRuleJvmArgumentTypeReference returns [EObject current=null] : iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ;
public final EObject entryRuleJvmArgumentTypeReference() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmArgumentTypeReference = null;
try {
// InternalSARL.g:15862:65: (iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF )
// InternalSARL.g:15863:2: iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceRule());
}
pushFollow(FOLLOW_1);
iv_ruleJvmArgumentTypeReference=ruleJvmArgumentTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmArgumentTypeReference;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmArgumentTypeReference"
// $ANTLR start "ruleJvmArgumentTypeReference"
// InternalSARL.g:15869:1: ruleJvmArgumentTypeReference returns [EObject current=null] : (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) ;
public final EObject ruleJvmArgumentTypeReference() throws RecognitionException {
EObject current = null;
EObject this_JvmTypeReference_0 = null;
EObject this_JvmWildcardTypeReference_1 = null;
enterRule();
try {
// InternalSARL.g:15875:2: ( (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) )
// InternalSARL.g:15876:2: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference )
{
// InternalSARL.g:15876:2: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference )
int alt370=2;
int LA370_0 = input.LA(1);
if ( (LA370_0==RULE_ID||LA370_0==44||LA370_0==49||LA370_0==67||(LA370_0>=83 && LA370_0<=86)) ) {
alt370=1;
}
else if ( (LA370_0==140) ) {
alt370=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 370, 0, input);
throw nvae;
}
switch (alt370) {
case 1 :
// InternalSARL.g:15877:3: this_JvmTypeReference_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0());
}
pushFollow(FOLLOW_2);
this_JvmTypeReference_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_JvmTypeReference_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalSARL.g:15886:3: this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1());
}
pushFollow(FOLLOW_2);
this_JvmWildcardTypeReference_1=ruleJvmWildcardTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_JvmWildcardTypeReference_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmArgumentTypeReference"
// $ANTLR start "entryRuleJvmWildcardTypeReference"
// InternalSARL.g:15898:1: entryRuleJvmWildcardTypeReference returns [EObject current=null] : iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ;
public final EObject entryRuleJvmWildcardTypeReference() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmWildcardTypeReference = null;
try {
// InternalSARL.g:15898:65: (iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF )
// InternalSARL.g:15899:2: iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceRule());
}
pushFollow(FOLLOW_1);
iv_ruleJvmWildcardTypeReference=ruleJvmWildcardTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmWildcardTypeReference;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmWildcardTypeReference"
// $ANTLR start "ruleJvmWildcardTypeReference"
// InternalSARL.g:15905:1: ruleJvmWildcardTypeReference returns [EObject current=null] : ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) ;
public final EObject ruleJvmWildcardTypeReference() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
EObject lv_constraints_2_0 = null;
EObject lv_constraints_3_0 = null;
EObject lv_constraints_4_0 = null;
EObject lv_constraints_5_0 = null;
enterRule();
try {
// InternalSARL.g:15911:2: ( ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) )
// InternalSARL.g:15912:2: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? )
{
// InternalSARL.g:15912:2: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? )
// InternalSARL.g:15913:3: () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )?
{
// InternalSARL.g:15913:3: ()
// InternalSARL.g:15914:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0(),
current);
}
}
otherlv_1=(Token)match(input,140,FOLLOW_150); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1());
}
// InternalSARL.g:15924:3: ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )?
int alt373=3;
int LA373_0 = input.LA(1);
if ( (LA373_0==28) ) {
alt373=1;
}
else if ( (LA373_0==130) ) {
alt373=2;
}
switch (alt373) {
case 1 :
// InternalSARL.g:15925:4: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* )
{
// InternalSARL.g:15925:4: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* )
// InternalSARL.g:15926:5: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )*
{
// InternalSARL.g:15926:5: ( (lv_constraints_2_0= ruleJvmUpperBound ) )
// InternalSARL.g:15927:6: (lv_constraints_2_0= ruleJvmUpperBound )
{
// InternalSARL.g:15927:6: (lv_constraints_2_0= ruleJvmUpperBound )
// InternalSARL.g:15928:7: lv_constraints_2_0= ruleJvmUpperBound
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0());
}
pushFollow(FOLLOW_151);
lv_constraints_2_0=ruleJvmUpperBound();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule());
}
add(
current,
"constraints",
lv_constraints_2_0,
"org.eclipse.xtext.xbase.Xtype.JvmUpperBound");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:15945:5: ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )*
loop371:
do {
int alt371=2;
int LA371_0 = input.LA(1);
if ( (LA371_0==141) ) {
alt371=1;
}
switch (alt371) {
case 1 :
// InternalSARL.g:15946:6: (lv_constraints_3_0= ruleJvmUpperBoundAnded )
{
// InternalSARL.g:15946:6: (lv_constraints_3_0= ruleJvmUpperBoundAnded )
// InternalSARL.g:15947:7: lv_constraints_3_0= ruleJvmUpperBoundAnded
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0());
}
pushFollow(FOLLOW_151);
lv_constraints_3_0=ruleJvmUpperBoundAnded();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule());
}
add(
current,
"constraints",
lv_constraints_3_0,
"org.eclipse.xtext.xbase.Xtype.JvmUpperBoundAnded");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop371;
}
} while (true);
}
}
break;
case 2 :
// InternalSARL.g:15966:4: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* )
{
// InternalSARL.g:15966:4: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* )
// InternalSARL.g:15967:5: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )*
{
// InternalSARL.g:15967:5: ( (lv_constraints_4_0= ruleJvmLowerBound ) )
// InternalSARL.g:15968:6: (lv_constraints_4_0= ruleJvmLowerBound )
{
// InternalSARL.g:15968:6: (lv_constraints_4_0= ruleJvmLowerBound )
// InternalSARL.g:15969:7: lv_constraints_4_0= ruleJvmLowerBound
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0());
}
pushFollow(FOLLOW_151);
lv_constraints_4_0=ruleJvmLowerBound();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule());
}
add(
current,
"constraints",
lv_constraints_4_0,
"org.eclipse.xtext.xbase.Xtype.JvmLowerBound");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:15986:5: ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )*
loop372:
do {
int alt372=2;
int LA372_0 = input.LA(1);
if ( (LA372_0==141) ) {
alt372=1;
}
switch (alt372) {
case 1 :
// InternalSARL.g:15987:6: (lv_constraints_5_0= ruleJvmLowerBoundAnded )
{
// InternalSARL.g:15987:6: (lv_constraints_5_0= ruleJvmLowerBoundAnded )
// InternalSARL.g:15988:7: lv_constraints_5_0= ruleJvmLowerBoundAnded
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0());
}
pushFollow(FOLLOW_151);
lv_constraints_5_0=ruleJvmLowerBoundAnded();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule());
}
add(
current,
"constraints",
lv_constraints_5_0,
"org.eclipse.xtext.xbase.Xtype.JvmLowerBoundAnded");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop372;
}
} while (true);
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmWildcardTypeReference"
// $ANTLR start "entryRuleJvmUpperBound"
// InternalSARL.g:16011:1: entryRuleJvmUpperBound returns [EObject current=null] : iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ;
public final EObject entryRuleJvmUpperBound() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmUpperBound = null;
try {
// InternalSARL.g:16011:54: (iv_ruleJvmUpperBound= ruleJvmUpperBound EOF )
// InternalSARL.g:16012:2: iv_ruleJvmUpperBound= ruleJvmUpperBound EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmUpperBoundRule());
}
pushFollow(FOLLOW_1);
iv_ruleJvmUpperBound=ruleJvmUpperBound();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmUpperBound;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmUpperBound"
// $ANTLR start "ruleJvmUpperBound"
// InternalSARL.g:16018:1: ruleJvmUpperBound returns [EObject current=null] : (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
public final EObject ruleJvmUpperBound() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
EObject lv_typeReference_1_0 = null;
enterRule();
try {
// InternalSARL.g:16024:2: ( (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
// InternalSARL.g:16025:2: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
{
// InternalSARL.g:16025:2: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
// InternalSARL.g:16026:3: otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
{
otherlv_0=(Token)match(input,28,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0());
}
// InternalSARL.g:16030:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
// InternalSARL.g:16031:4: (lv_typeReference_1_0= ruleJvmTypeReference )
{
// InternalSARL.g:16031:4: (lv_typeReference_1_0= ruleJvmTypeReference )
// InternalSARL.g:16032:5: lv_typeReference_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0());
}
pushFollow(FOLLOW_2);
lv_typeReference_1_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmUpperBoundRule());
}
set(
current,
"typeReference",
lv_typeReference_1_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmUpperBound"
// $ANTLR start "entryRuleJvmUpperBoundAnded"
// InternalSARL.g:16053:1: entryRuleJvmUpperBoundAnded returns [EObject current=null] : iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ;
public final EObject entryRuleJvmUpperBoundAnded() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmUpperBoundAnded = null;
try {
// InternalSARL.g:16053:59: (iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF )
// InternalSARL.g:16054:2: iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmUpperBoundAndedRule());
}
pushFollow(FOLLOW_1);
iv_ruleJvmUpperBoundAnded=ruleJvmUpperBoundAnded();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmUpperBoundAnded;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmUpperBoundAnded"
// $ANTLR start "ruleJvmUpperBoundAnded"
// InternalSARL.g:16060:1: ruleJvmUpperBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
public final EObject ruleJvmUpperBoundAnded() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
EObject lv_typeReference_1_0 = null;
enterRule();
try {
// InternalSARL.g:16066:2: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
// InternalSARL.g:16067:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
{
// InternalSARL.g:16067:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
// InternalSARL.g:16068:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
{
otherlv_0=(Token)match(input,141,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0());
}
// InternalSARL.g:16072:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
// InternalSARL.g:16073:4: (lv_typeReference_1_0= ruleJvmTypeReference )
{
// InternalSARL.g:16073:4: (lv_typeReference_1_0= ruleJvmTypeReference )
// InternalSARL.g:16074:5: lv_typeReference_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0());
}
pushFollow(FOLLOW_2);
lv_typeReference_1_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmUpperBoundAndedRule());
}
set(
current,
"typeReference",
lv_typeReference_1_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmUpperBoundAnded"
// $ANTLR start "entryRuleJvmLowerBound"
// InternalSARL.g:16095:1: entryRuleJvmLowerBound returns [EObject current=null] : iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ;
public final EObject entryRuleJvmLowerBound() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmLowerBound = null;
try {
// InternalSARL.g:16095:54: (iv_ruleJvmLowerBound= ruleJvmLowerBound EOF )
// InternalSARL.g:16096:2: iv_ruleJvmLowerBound= ruleJvmLowerBound EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmLowerBoundRule());
}
pushFollow(FOLLOW_1);
iv_ruleJvmLowerBound=ruleJvmLowerBound();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmLowerBound;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmLowerBound"
// $ANTLR start "ruleJvmLowerBound"
// InternalSARL.g:16102:1: ruleJvmLowerBound returns [EObject current=null] : (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
public final EObject ruleJvmLowerBound() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
EObject lv_typeReference_1_0 = null;
enterRule();
try {
// InternalSARL.g:16108:2: ( (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
// InternalSARL.g:16109:2: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
{
// InternalSARL.g:16109:2: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
// InternalSARL.g:16110:3: otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
{
otherlv_0=(Token)match(input,130,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0());
}
// InternalSARL.g:16114:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
// InternalSARL.g:16115:4: (lv_typeReference_1_0= ruleJvmTypeReference )
{
// InternalSARL.g:16115:4: (lv_typeReference_1_0= ruleJvmTypeReference )
// InternalSARL.g:16116:5: lv_typeReference_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0());
}
pushFollow(FOLLOW_2);
lv_typeReference_1_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmLowerBoundRule());
}
set(
current,
"typeReference",
lv_typeReference_1_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmLowerBound"
// $ANTLR start "entryRuleJvmLowerBoundAnded"
// InternalSARL.g:16137:1: entryRuleJvmLowerBoundAnded returns [EObject current=null] : iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ;
public final EObject entryRuleJvmLowerBoundAnded() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmLowerBoundAnded = null;
try {
// InternalSARL.g:16137:59: (iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF )
// InternalSARL.g:16138:2: iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmLowerBoundAndedRule());
}
pushFollow(FOLLOW_1);
iv_ruleJvmLowerBoundAnded=ruleJvmLowerBoundAnded();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmLowerBoundAnded;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmLowerBoundAnded"
// $ANTLR start "ruleJvmLowerBoundAnded"
// InternalSARL.g:16144:1: ruleJvmLowerBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ;
public final EObject ruleJvmLowerBoundAnded() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
EObject lv_typeReference_1_0 = null;
enterRule();
try {
// InternalSARL.g:16150:2: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) )
// InternalSARL.g:16151:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
{
// InternalSARL.g:16151:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) )
// InternalSARL.g:16152:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
{
otherlv_0=(Token)match(input,141,FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0());
}
// InternalSARL.g:16156:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) )
// InternalSARL.g:16157:4: (lv_typeReference_1_0= ruleJvmTypeReference )
{
// InternalSARL.g:16157:4: (lv_typeReference_1_0= ruleJvmTypeReference )
// InternalSARL.g:16158:5: lv_typeReference_1_0= ruleJvmTypeReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0());
}
pushFollow(FOLLOW_2);
lv_typeReference_1_0=ruleJvmTypeReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmLowerBoundAndedRule());
}
set(
current,
"typeReference",
lv_typeReference_1_0,
"org.eclipse.xtext.xbase.Xtype.JvmTypeReference");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmLowerBoundAnded"
// $ANTLR start "entryRuleJvmTypeParameter"
// InternalSARL.g:16179:1: entryRuleJvmTypeParameter returns [EObject current=null] : iv_ruleJvmTypeParameter= ruleJvmTypeParameter EOF ;
public final EObject entryRuleJvmTypeParameter() throws RecognitionException {
EObject current = null;
EObject iv_ruleJvmTypeParameter = null;
try {
// InternalSARL.g:16179:57: (iv_ruleJvmTypeParameter= ruleJvmTypeParameter EOF )
// InternalSARL.g:16180:2: iv_ruleJvmTypeParameter= ruleJvmTypeParameter EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmTypeParameterRule());
}
pushFollow(FOLLOW_1);
iv_ruleJvmTypeParameter=ruleJvmTypeParameter();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJvmTypeParameter;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJvmTypeParameter"
// $ANTLR start "ruleJvmTypeParameter"
// InternalSARL.g:16186:1: ruleJvmTypeParameter returns [EObject current=null] : ( ( (lv_name_0_0= ruleValidID ) ) ( ( (lv_constraints_1_0= ruleJvmUpperBound ) ) ( (lv_constraints_2_0= ruleJvmUpperBoundAnded ) )* )? ) ;
public final EObject ruleJvmTypeParameter() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_name_0_0 = null;
EObject lv_constraints_1_0 = null;
EObject lv_constraints_2_0 = null;
enterRule();
try {
// InternalSARL.g:16192:2: ( ( ( (lv_name_0_0= ruleValidID ) ) ( ( (lv_constraints_1_0= ruleJvmUpperBound ) ) ( (lv_constraints_2_0= ruleJvmUpperBoundAnded ) )* )? ) )
// InternalSARL.g:16193:2: ( ( (lv_name_0_0= ruleValidID ) ) ( ( (lv_constraints_1_0= ruleJvmUpperBound ) ) ( (lv_constraints_2_0= ruleJvmUpperBoundAnded ) )* )? )
{
// InternalSARL.g:16193:2: ( ( (lv_name_0_0= ruleValidID ) ) ( ( (lv_constraints_1_0= ruleJvmUpperBound ) ) ( (lv_constraints_2_0= ruleJvmUpperBoundAnded ) )* )? )
// InternalSARL.g:16194:3: ( (lv_name_0_0= ruleValidID ) ) ( ( (lv_constraints_1_0= ruleJvmUpperBound ) ) ( (lv_constraints_2_0= ruleJvmUpperBoundAnded ) )* )?
{
// InternalSARL.g:16194:3: ( (lv_name_0_0= ruleValidID ) )
// InternalSARL.g:16195:4: (lv_name_0_0= ruleValidID )
{
// InternalSARL.g:16195:4: (lv_name_0_0= ruleValidID )
// InternalSARL.g:16196:5: lv_name_0_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmTypeParameterAccess().getNameValidIDParserRuleCall_0_0());
}
pushFollow(FOLLOW_152);
lv_name_0_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmTypeParameterRule());
}
set(
current,
"name",
lv_name_0_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:16213:3: ( ( (lv_constraints_1_0= ruleJvmUpperBound ) ) ( (lv_constraints_2_0= ruleJvmUpperBoundAnded ) )* )?
int alt375=2;
int LA375_0 = input.LA(1);
if ( (LA375_0==28) ) {
alt375=1;
}
switch (alt375) {
case 1 :
// InternalSARL.g:16214:4: ( (lv_constraints_1_0= ruleJvmUpperBound ) ) ( (lv_constraints_2_0= ruleJvmUpperBoundAnded ) )*
{
// InternalSARL.g:16214:4: ( (lv_constraints_1_0= ruleJvmUpperBound ) )
// InternalSARL.g:16215:5: (lv_constraints_1_0= ruleJvmUpperBound )
{
// InternalSARL.g:16215:5: (lv_constraints_1_0= ruleJvmUpperBound )
// InternalSARL.g:16216:6: lv_constraints_1_0= ruleJvmUpperBound
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmTypeParameterAccess().getConstraintsJvmUpperBoundParserRuleCall_1_0_0());
}
pushFollow(FOLLOW_151);
lv_constraints_1_0=ruleJvmUpperBound();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmTypeParameterRule());
}
add(
current,
"constraints",
lv_constraints_1_0,
"org.eclipse.xtext.xbase.Xtype.JvmUpperBound");
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:16233:4: ( (lv_constraints_2_0= ruleJvmUpperBoundAnded ) )*
loop374:
do {
int alt374=2;
int LA374_0 = input.LA(1);
if ( (LA374_0==141) ) {
alt374=1;
}
switch (alt374) {
case 1 :
// InternalSARL.g:16234:5: (lv_constraints_2_0= ruleJvmUpperBoundAnded )
{
// InternalSARL.g:16234:5: (lv_constraints_2_0= ruleJvmUpperBoundAnded )
// InternalSARL.g:16235:6: lv_constraints_2_0= ruleJvmUpperBoundAnded
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJvmTypeParameterAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_1_1_0());
}
pushFollow(FOLLOW_151);
lv_constraints_2_0=ruleJvmUpperBoundAnded();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getJvmTypeParameterRule());
}
add(
current,
"constraints",
lv_constraints_2_0,
"org.eclipse.xtext.xbase.Xtype.JvmUpperBoundAnded");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop374;
}
} while (true);
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleJvmTypeParameter"
// $ANTLR start "entryRuleQualifiedNameWithWildcard"
// InternalSARL.g:16257:1: entryRuleQualifiedNameWithWildcard returns [String current=null] : iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ;
public final String entryRuleQualifiedNameWithWildcard() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleQualifiedNameWithWildcard = null;
try {
// InternalSARL.g:16257:65: (iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF )
// InternalSARL.g:16258:2: iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule());
}
pushFollow(FOLLOW_1);
iv_ruleQualifiedNameWithWildcard=ruleQualifiedNameWithWildcard();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleQualifiedNameWithWildcard.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleQualifiedNameWithWildcard"
// $ANTLR start "ruleQualifiedNameWithWildcard"
// InternalSARL.g:16264:1: ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) ;
public final AntlrDatatypeRuleToken ruleQualifiedNameWithWildcard() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
AntlrDatatypeRuleToken this_QualifiedName_0 = null;
enterRule();
try {
// InternalSARL.g:16270:2: ( (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) )
// InternalSARL.g:16271:2: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' )
{
// InternalSARL.g:16271:2: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' )
// InternalSARL.g:16272:3: this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*'
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0());
}
pushFollow(FOLLOW_153);
this_QualifiedName_0=ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_QualifiedName_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
kw=(Token)match(input,68,FOLLOW_154); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1());
}
kw=(Token)match(input,59,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleQualifiedNameWithWildcard"
// $ANTLR start "entryRuleXImportSection"
// InternalSARL.g:16296:1: entryRuleXImportSection returns [EObject current=null] : iv_ruleXImportSection= ruleXImportSection EOF ;
public final EObject entryRuleXImportSection() throws RecognitionException {
EObject current = null;
EObject iv_ruleXImportSection = null;
try {
// InternalSARL.g:16296:55: (iv_ruleXImportSection= ruleXImportSection EOF )
// InternalSARL.g:16297:2: iv_ruleXImportSection= ruleXImportSection EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportSectionRule());
}
pushFollow(FOLLOW_1);
iv_ruleXImportSection=ruleXImportSection();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXImportSection;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXImportSection"
// $ANTLR start "ruleXImportSection"
// InternalSARL.g:16303:1: ruleXImportSection returns [EObject current=null] : ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ ;
public final EObject ruleXImportSection() throws RecognitionException {
EObject current = null;
EObject lv_importDeclarations_0_0 = null;
enterRule();
try {
// InternalSARL.g:16309:2: ( ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ )
// InternalSARL.g:16310:2: ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+
{
// InternalSARL.g:16310:2: ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+
int cnt376=0;
loop376:
do {
int alt376=2;
int LA376_0 = input.LA(1);
if ( (LA376_0==87) ) {
alt376=1;
}
switch (alt376) {
case 1 :
// InternalSARL.g:16311:3: (lv_importDeclarations_0_0= ruleXImportDeclaration )
{
// InternalSARL.g:16311:3: (lv_importDeclarations_0_0= ruleXImportDeclaration )
// InternalSARL.g:16312:4: lv_importDeclarations_0_0= ruleXImportDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportSectionAccess().getImportDeclarationsXImportDeclarationParserRuleCall_0());
}
pushFollow(FOLLOW_155);
lv_importDeclarations_0_0=ruleXImportDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXImportSectionRule());
}
add(
current,
"importDeclarations",
lv_importDeclarations_0_0,
"org.eclipse.xtext.xbase.Xtype.XImportDeclaration");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt376 >= 1 ) break loop376;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(376, input);
throw eee;
}
cnt376++;
} while (true);
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXImportSection"
// $ANTLR start "entryRuleXImportDeclaration"
// InternalSARL.g:16332:1: entryRuleXImportDeclaration returns [EObject current=null] : iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ;
public final EObject entryRuleXImportDeclaration() throws RecognitionException {
EObject current = null;
EObject iv_ruleXImportDeclaration = null;
try {
// InternalSARL.g:16332:59: (iv_ruleXImportDeclaration= ruleXImportDeclaration EOF )
// InternalSARL.g:16333:2: iv_ruleXImportDeclaration= ruleXImportDeclaration EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportDeclarationRule());
}
pushFollow(FOLLOW_1);
iv_ruleXImportDeclaration=ruleXImportDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleXImportDeclaration;
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleXImportDeclaration"
// $ANTLR start "ruleXImportDeclaration"
// InternalSARL.g:16339:1: ruleXImportDeclaration returns [EObject current=null] : (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) ;
public final EObject ruleXImportDeclaration() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_static_1_0=null;
Token lv_extension_2_0=null;
Token lv_wildcard_4_0=null;
Token otherlv_8=null;
AntlrDatatypeRuleToken lv_memberName_5_0 = null;
AntlrDatatypeRuleToken lv_importedNamespace_7_0 = null;
enterRule();
try {
// InternalSARL.g:16345:2: ( (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) )
// InternalSARL.g:16346:2: (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? )
{
// InternalSARL.g:16346:2: (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? )
// InternalSARL.g:16347:3: otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )?
{
otherlv_0=(Token)match(input,87,FOLLOW_156); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getXImportDeclarationAccess().getImportKeyword_0());
}
// InternalSARL.g:16351:3: ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) )
int alt379=3;
alt379 = dfa379.predict(input);
switch (alt379) {
case 1 :
// InternalSARL.g:16352:4: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) )
{
// InternalSARL.g:16352:4: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) )
// InternalSARL.g:16353:5: ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) )
{
// InternalSARL.g:16353:5: ( (lv_static_1_0= 'static' ) )
// InternalSARL.g:16354:6: (lv_static_1_0= 'static' )
{
// InternalSARL.g:16354:6: (lv_static_1_0= 'static' )
// InternalSARL.g:16355:7: lv_static_1_0= 'static'
{
lv_static_1_0=(Token)match(input,73,FOLLOW_72); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_static_1_0, grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXImportDeclarationRule());
}
setWithLastConsumed(current, "static", true, "static");
}
}
}
// InternalSARL.g:16367:5: ( (lv_extension_2_0= 'extension' ) )?
int alt377=2;
int LA377_0 = input.LA(1);
if ( (LA377_0==45) ) {
alt377=1;
}
switch (alt377) {
case 1 :
// InternalSARL.g:16368:6: (lv_extension_2_0= 'extension' )
{
// InternalSARL.g:16368:6: (lv_extension_2_0= 'extension' )
// InternalSARL.g:16369:7: lv_extension_2_0= 'extension'
{
lv_extension_2_0=(Token)match(input,45,FOLLOW_72); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_extension_2_0, grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXImportDeclarationRule());
}
setWithLastConsumed(current, "extension", true, "extension");
}
}
}
break;
}
// InternalSARL.g:16381:5: ( ( ruleQualifiedNameInStaticImport ) )
// InternalSARL.g:16382:6: ( ruleQualifiedNameInStaticImport )
{
// InternalSARL.g:16382:6: ( ruleQualifiedNameInStaticImport )
// InternalSARL.g:16383:7: ruleQualifiedNameInStaticImport
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXImportDeclarationRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0());
}
pushFollow(FOLLOW_157);
ruleQualifiedNameInStaticImport();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalSARL.g:16397:5: ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) )
int alt378=2;
int LA378_0 = input.LA(1);
if ( (LA378_0==59) ) {
alt378=1;
}
else if ( (LA378_0==RULE_ID||LA378_0==44||(LA378_0>=83 && LA378_0<=86)) ) {
alt378=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 378, 0, input);
throw nvae;
}
switch (alt378) {
case 1 :
// InternalSARL.g:16398:6: ( (lv_wildcard_4_0= '*' ) )
{
// InternalSARL.g:16398:6: ( (lv_wildcard_4_0= '*' ) )
// InternalSARL.g:16399:7: (lv_wildcard_4_0= '*' )
{
// InternalSARL.g:16399:7: (lv_wildcard_4_0= '*' )
// InternalSARL.g:16400:8: lv_wildcard_4_0= '*'
{
lv_wildcard_4_0=(Token)match(input,59,FOLLOW_46); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_wildcard_4_0, grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXImportDeclarationRule());
}
setWithLastConsumed(current, "wildcard", true, "*");
}
}
}
}
break;
case 2 :
// InternalSARL.g:16413:6: ( (lv_memberName_5_0= ruleValidID ) )
{
// InternalSARL.g:16413:6: ( (lv_memberName_5_0= ruleValidID ) )
// InternalSARL.g:16414:7: (lv_memberName_5_0= ruleValidID )
{
// InternalSARL.g:16414:7: (lv_memberName_5_0= ruleValidID )
// InternalSARL.g:16415:8: lv_memberName_5_0= ruleValidID
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0());
}
pushFollow(FOLLOW_46);
lv_memberName_5_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXImportDeclarationRule());
}
set(
current,
"memberName",
lv_memberName_5_0,
"org.eclipse.xtend.core.Xtend.ValidID");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 2 :
// InternalSARL.g:16435:4: ( ( ruleQualifiedName ) )
{
// InternalSARL.g:16435:4: ( ( ruleQualifiedName ) )
// InternalSARL.g:16436:5: ( ruleQualifiedName )
{
// InternalSARL.g:16436:5: ( ruleQualifiedName )
// InternalSARL.g:16437:6: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getXImportDeclarationRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0());
}
pushFollow(FOLLOW_46);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 3 :
// InternalSARL.g:16452:4: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) )
{
// InternalSARL.g:16452:4: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) )
// InternalSARL.g:16453:5: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard )
{
// InternalSARL.g:16453:5: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard )
// InternalSARL.g:16454:6: lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0());
}
pushFollow(FOLLOW_46);
lv_importedNamespace_7_0=ruleQualifiedNameWithWildcard();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getXImportDeclarationRule());
}
set(
current,
"importedNamespace",
lv_importedNamespace_7_0,
"org.eclipse.xtext.xbase.Xtype.QualifiedNameWithWildcard");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
// InternalSARL.g:16472:3: (otherlv_8= ';' )?
int alt380=2;
int LA380_0 = input.LA(1);
if ( (LA380_0==26) ) {
alt380=1;
}
switch (alt380) {
case 1 :
// InternalSARL.g:16473:4: otherlv_8= ';'
{
otherlv_8=(Token)match(input,26,FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleXImportDeclaration"
// $ANTLR start "entryRuleQualifiedNameInStaticImport"
// InternalSARL.g:16482:1: entryRuleQualifiedNameInStaticImport returns [String current=null] : iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ;
public final String entryRuleQualifiedNameInStaticImport() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleQualifiedNameInStaticImport = null;
try {
// InternalSARL.g:16482:67: (iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF )
// InternalSARL.g:16483:2: iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameInStaticImportRule());
}
pushFollow(FOLLOW_1);
iv_ruleQualifiedNameInStaticImport=ruleQualifiedNameInStaticImport();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleQualifiedNameInStaticImport.getText();
}
match(input,EOF,FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleQualifiedNameInStaticImport"
// $ANTLR start "ruleQualifiedNameInStaticImport"
// InternalSARL.g:16489:1: ruleQualifiedNameInStaticImport returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID kw= '.' )+ ;
public final AntlrDatatypeRuleToken ruleQualifiedNameInStaticImport() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
AntlrDatatypeRuleToken this_ValidID_0 = null;
enterRule();
try {
// InternalSARL.g:16495:2: ( (this_ValidID_0= ruleValidID kw= '.' )+ )
// InternalSARL.g:16496:2: (this_ValidID_0= ruleValidID kw= '.' )+
{
// InternalSARL.g:16496:2: (this_ValidID_0= ruleValidID kw= '.' )+
int cnt381=0;
loop381:
do {
int alt381=2;
switch ( input.LA(1) ) {
case RULE_ID:
{
int LA381_2 = input.LA(2);
if ( (LA381_2==68) ) {
alt381=1;
}
}
break;
case 83:
{
int LA381_3 = input.LA(2);
if ( (LA381_3==68) ) {
alt381=1;
}
}
break;
case 44:
{
int LA381_4 = input.LA(2);
if ( (LA381_4==68) ) {
alt381=1;
}
}
break;
case 84:
{
int LA381_5 = input.LA(2);
if ( (LA381_5==68) ) {
alt381=1;
}
}
break;
case 85:
{
int LA381_6 = input.LA(2);
if ( (LA381_6==68) ) {
alt381=1;
}
}
break;
case 86:
{
int LA381_7 = input.LA(2);
if ( (LA381_7==68) ) {
alt381=1;
}
}
break;
}
switch (alt381) {
case 1 :
// InternalSARL.g:16497:3: this_ValidID_0= ruleValidID kw= '.'
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0());
}
pushFollow(FOLLOW_153);
this_ValidID_0=ruleValidID();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ValidID_0);
}
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
kw=(Token)match(input,68,FOLLOW_158); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1());
}
}
break;
default :
if ( cnt381 >= 1 ) break loop381;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(381, input);
throw eee;
}
cnt381++;
} while (true);
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleQualifiedNameInStaticImport"
// $ANTLR start synpred1_InternalSARL
public final void synpred1_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:7522:4: ( ( () 'synchronized' '(' ) )
// InternalSARL.g:7522:5: ( () 'synchronized' '(' )
{
// InternalSARL.g:7522:5: ( () 'synchronized' '(' )
// InternalSARL.g:7523:5: () 'synchronized' '('
{
// InternalSARL.g:7523:5: ()
// InternalSARL.g:7524:5:
{
}
match(input,79,FOLLOW_77); if (state.failed) return ;
match(input,49,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred1_InternalSARL
// $ANTLR start synpred2_InternalSARL
public final void synpred2_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:7567:4: ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )
// InternalSARL.g:7567:5: ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' )
{
// InternalSARL.g:7567:5: ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' )
// InternalSARL.g:7568:5: () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':'
{
// InternalSARL.g:7568:5: ()
// InternalSARL.g:7569:5:
{
}
match(input,63,FOLLOW_77); if (state.failed) return ;
match(input,49,FOLLOW_72); if (state.failed) return ;
// InternalSARL.g:7572:5: ( ( ruleSarlXLoopFormalParameter ) )
// InternalSARL.g:7573:6: ( ruleSarlXLoopFormalParameter )
{
// InternalSARL.g:7573:6: ( ruleSarlXLoopFormalParameter )
// InternalSARL.g:7574:7: ruleSarlXLoopFormalParameter
{
pushFollow(FOLLOW_40);
ruleSarlXLoopFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
match(input,46,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred2_InternalSARL
// $ANTLR start synpred4_InternalSARL
public final void synpred4_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:7931:5: ( ':' )
// InternalSARL.g:7931:6: ':'
{
match(input,46,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred4_InternalSARL
// $ANTLR start synpred6_InternalSARL
public final void synpred6_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:8272:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )
// InternalSARL.g:8272:7: ( '(' ( ( ruleJvmFormalParameter ) ) '=' )
{
// InternalSARL.g:8272:7: ( '(' ( ( ruleJvmFormalParameter ) ) '=' )
// InternalSARL.g:8273:7: '(' ( ( ruleJvmFormalParameter ) ) '='
{
match(input,49,FOLLOW_72); if (state.failed) return ;
// InternalSARL.g:8274:7: ( ( ruleJvmFormalParameter ) )
// InternalSARL.g:8275:8: ( ruleJvmFormalParameter )
{
// InternalSARL.g:8275:8: ( ruleJvmFormalParameter )
// InternalSARL.g:8276:9: ruleJvmFormalParameter
{
pushFollow(FOLLOW_81);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
match(input,47,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred6_InternalSARL
// $ANTLR start synpred7_InternalSARL
public final void synpred7_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:8339:6: ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )
// InternalSARL.g:8339:7: ( ( ( ruleJvmFormalParameter ) ) '=' )
{
// InternalSARL.g:8339:7: ( ( ( ruleJvmFormalParameter ) ) '=' )
// InternalSARL.g:8340:7: ( ( ruleJvmFormalParameter ) ) '='
{
// InternalSARL.g:8340:7: ( ( ruleJvmFormalParameter ) )
// InternalSARL.g:8341:8: ( ruleJvmFormalParameter )
{
// InternalSARL.g:8341:8: ( ruleJvmFormalParameter )
// InternalSARL.g:8342:9: ruleJvmFormalParameter
{
pushFollow(FOLLOW_81);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
match(input,47,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred7_InternalSARL
// $ANTLR start synpred8_InternalSARL
public final void synpred8_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:8621:5: ( ( () ruleArrayBrackets ) )
// InternalSARL.g:8621:6: ( () ruleArrayBrackets )
{
// InternalSARL.g:8621:6: ( () ruleArrayBrackets )
// InternalSARL.g:8622:6: () ruleArrayBrackets
{
// InternalSARL.g:8622:6: ()
// InternalSARL.g:8623:6:
{
}
pushFollow(FOLLOW_2);
ruleArrayBrackets();
state._fsp--;
if (state.failed) return ;
}
}
}
// $ANTLR end synpred8_InternalSARL
// $ANTLR start synpred9_InternalSARL
public final void synpred9_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:8656:5: ( ( () ruleArrayBrackets ) )
// InternalSARL.g:8656:6: ( () ruleArrayBrackets )
{
// InternalSARL.g:8656:6: ( () ruleArrayBrackets )
// InternalSARL.g:8657:6: () ruleArrayBrackets
{
// InternalSARL.g:8657:6: ()
// InternalSARL.g:8658:6:
{
}
pushFollow(FOLLOW_2);
ruleArrayBrackets();
state._fsp--;
if (state.failed) return ;
}
}
}
// $ANTLR end synpred9_InternalSARL
// $ANTLR start synpred10_InternalSARL
public final void synpred10_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:8779:6: ( ( () '.' ) )
// InternalSARL.g:8779:7: ( () '.' )
{
// InternalSARL.g:8779:7: ( () '.' )
// InternalSARL.g:8780:7: () '.'
{
// InternalSARL.g:8780:7: ()
// InternalSARL.g:8781:7:
{
}
match(input,68,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred10_InternalSARL
// $ANTLR start synpred11_InternalSARL
public final void synpred11_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:8817:7: ( '<' )
// InternalSARL.g:8817:8: '<'
{
match(input,40,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred11_InternalSARL
// $ANTLR start synpred12_InternalSARL
public final void synpred12_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:9495:5: ( ( () '{' ) )
// InternalSARL.g:9495:6: ( () '{' )
{
// InternalSARL.g:9495:6: ( () '{' )
// InternalSARL.g:9496:6: () '{'
{
// InternalSARL.g:9496:6: ()
// InternalSARL.g:9497:6:
{
}
match(input,29,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred12_InternalSARL
// $ANTLR start synpred13_InternalSARL
public final void synpred13_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:9587:5: ( '<' )
// InternalSARL.g:9587:6: '<'
{
match(input,40,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred13_InternalSARL
// $ANTLR start synpred14_InternalSARL
public final void synpred14_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:9644:5: ( ( '(' ) )
// InternalSARL.g:9644:6: ( '(' )
{
// InternalSARL.g:9644:6: ( '(' )
// InternalSARL.g:9645:6: '('
{
match(input,49,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred14_InternalSARL
// $ANTLR start synpred15_InternalSARL
public final void synpred15_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:9663:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
// InternalSARL.g:9663:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
{
// InternalSARL.g:9663:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
// InternalSARL.g:9664:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
{
// InternalSARL.g:9664:7: ()
// InternalSARL.g:9665:7:
{
}
// InternalSARL.g:9666:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
int alt387=2;
int LA387_0 = input.LA(1);
if ( (LA387_0==RULE_ID||(LA387_0>=44 && LA387_0<=45)||(LA387_0>=83 && LA387_0<=86)) ) {
alt387=1;
}
switch (alt387) {
case 1 :
// InternalSARL.g:9667:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
{
// InternalSARL.g:9667:8: ( ( ruleJvmFormalParameter ) )
// InternalSARL.g:9668:9: ( ruleJvmFormalParameter )
{
// InternalSARL.g:9668:9: ( ruleJvmFormalParameter )
// InternalSARL.g:9669:10: ruleJvmFormalParameter
{
pushFollow(FOLLOW_129);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
// InternalSARL.g:9672:8: ( ',' ( ( ruleJvmFormalParameter ) ) )*
loop386:
do {
int alt386=2;
int LA386_0 = input.LA(1);
if ( (LA386_0==32) ) {
alt386=1;
}
switch (alt386) {
case 1 :
// InternalSARL.g:9673:9: ',' ( ( ruleJvmFormalParameter ) )
{
match(input,32,FOLLOW_72); if (state.failed) return ;
// InternalSARL.g:9674:9: ( ( ruleJvmFormalParameter ) )
// InternalSARL.g:9675:10: ( ruleJvmFormalParameter )
{
// InternalSARL.g:9675:10: ( ruleJvmFormalParameter )
// InternalSARL.g:9676:11: ruleJvmFormalParameter
{
pushFollow(FOLLOW_129);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
default :
break loop386;
}
} while (true);
}
break;
}
// InternalSARL.g:9681:7: ( ( '|' ) )
// InternalSARL.g:9682:8: ( '|' )
{
// InternalSARL.g:9682:8: ( '|' )
// InternalSARL.g:9683:9: '|'
{
match(input,124,FOLLOW_2); if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred15_InternalSARL
// $ANTLR start synpred16_InternalSARL
public final void synpred16_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:9760:4: ( ( () '[' ) )
// InternalSARL.g:9760:5: ( () '[' )
{
// InternalSARL.g:9760:5: ( () '[' )
// InternalSARL.g:9761:5: () '['
{
// InternalSARL.g:9761:5: ()
// InternalSARL.g:9762:5:
{
}
match(input,55,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred16_InternalSARL
// $ANTLR start synpred17_InternalSARL
public final void synpred17_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:10756:5: ( '(' )
// InternalSARL.g:10756:6: '('
{
match(input,49,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred17_InternalSARL
// $ANTLR start synpred18_InternalSARL
public final void synpred18_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:10765:7: ( ( ( ( ruleValidID ) ) '=' ) )
// InternalSARL.g:10765:8: ( ( ( ruleValidID ) ) '=' )
{
// InternalSARL.g:10765:8: ( ( ( ruleValidID ) ) '=' )
// InternalSARL.g:10766:8: ( ( ruleValidID ) ) '='
{
// InternalSARL.g:10766:8: ( ( ruleValidID ) )
// InternalSARL.g:10767:9: ( ruleValidID )
{
// InternalSARL.g:10767:9: ( ruleValidID )
// InternalSARL.g:10768:10: ruleValidID
{
pushFollow(FOLLOW_81);
ruleValidID();
state._fsp--;
if (state.failed) return ;
}
}
match(input,47,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred18_InternalSARL
// $ANTLR start synpred21_InternalSARL
public final void synpred21_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:10945:5: ( ( () '#' '[' ) )
// InternalSARL.g:10945:6: ( () '#' '[' )
{
// InternalSARL.g:10945:6: ( () '#' '[' )
// InternalSARL.g:10946:6: () '#' '['
{
// InternalSARL.g:10946:6: ()
// InternalSARL.g:10947:6:
{
}
match(input,95,FOLLOW_86); if (state.failed) return ;
match(input,55,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred21_InternalSARL
// $ANTLR start synpred22_InternalSARL
public final void synpred22_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:11087:5: ( ( () '#' '[' ) )
// InternalSARL.g:11087:6: ( () '#' '[' )
{
// InternalSARL.g:11087:6: ( () '#' '[' )
// InternalSARL.g:11088:6: () '#' '['
{
// InternalSARL.g:11088:6: ()
// InternalSARL.g:11089:6:
{
}
match(input,95,FOLLOW_86); if (state.failed) return ;
match(input,55,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred22_InternalSARL
// $ANTLR start synpred23_InternalSARL
public final void synpred23_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:11315:6: ( ( () ( ( ruleOpMultiAssign ) ) ) )
// InternalSARL.g:11315:7: ( () ( ( ruleOpMultiAssign ) ) )
{
// InternalSARL.g:11315:7: ( () ( ( ruleOpMultiAssign ) ) )
// InternalSARL.g:11316:7: () ( ( ruleOpMultiAssign ) )
{
// InternalSARL.g:11316:7: ()
// InternalSARL.g:11317:7:
{
}
// InternalSARL.g:11318:7: ( ( ruleOpMultiAssign ) )
// InternalSARL.g:11319:8: ( ruleOpMultiAssign )
{
// InternalSARL.g:11319:8: ( ruleOpMultiAssign )
// InternalSARL.g:11320:9: ruleOpMultiAssign
{
pushFollow(FOLLOW_2);
ruleOpMultiAssign();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred23_InternalSARL
// $ANTLR start synpred24_InternalSARL
public final void synpred24_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:11509:5: ( ( () ( ( ruleOpOr ) ) ) )
// InternalSARL.g:11509:6: ( () ( ( ruleOpOr ) ) )
{
// InternalSARL.g:11509:6: ( () ( ( ruleOpOr ) ) )
// InternalSARL.g:11510:6: () ( ( ruleOpOr ) )
{
// InternalSARL.g:11510:6: ()
// InternalSARL.g:11511:6:
{
}
// InternalSARL.g:11512:6: ( ( ruleOpOr ) )
// InternalSARL.g:11513:7: ( ruleOpOr )
{
// InternalSARL.g:11513:7: ( ruleOpOr )
// InternalSARL.g:11514:8: ruleOpOr
{
pushFollow(FOLLOW_2);
ruleOpOr();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred24_InternalSARL
// $ANTLR start synpred25_InternalSARL
public final void synpred25_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:11616:5: ( ( () ( ( ruleOpAnd ) ) ) )
// InternalSARL.g:11616:6: ( () ( ( ruleOpAnd ) ) )
{
// InternalSARL.g:11616:6: ( () ( ( ruleOpAnd ) ) )
// InternalSARL.g:11617:6: () ( ( ruleOpAnd ) )
{
// InternalSARL.g:11617:6: ()
// InternalSARL.g:11618:6:
{
}
// InternalSARL.g:11619:6: ( ( ruleOpAnd ) )
// InternalSARL.g:11620:7: ( ruleOpAnd )
{
// InternalSARL.g:11620:7: ( ruleOpAnd )
// InternalSARL.g:11621:8: ruleOpAnd
{
pushFollow(FOLLOW_2);
ruleOpAnd();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred25_InternalSARL
// $ANTLR start synpred26_InternalSARL
public final void synpred26_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:11723:5: ( ( () ( ( ruleOpEquality ) ) ) )
// InternalSARL.g:11723:6: ( () ( ( ruleOpEquality ) ) )
{
// InternalSARL.g:11723:6: ( () ( ( ruleOpEquality ) ) )
// InternalSARL.g:11724:6: () ( ( ruleOpEquality ) )
{
// InternalSARL.g:11724:6: ()
// InternalSARL.g:11725:6:
{
}
// InternalSARL.g:11726:6: ( ( ruleOpEquality ) )
// InternalSARL.g:11727:7: ( ruleOpEquality )
{
// InternalSARL.g:11727:7: ( ruleOpEquality )
// InternalSARL.g:11728:8: ruleOpEquality
{
pushFollow(FOLLOW_2);
ruleOpEquality();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred26_InternalSARL
// $ANTLR start synpred27_InternalSARL
public final void synpred27_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:11851:6: ( ( () 'instanceof' ) )
// InternalSARL.g:11851:7: ( () 'instanceof' )
{
// InternalSARL.g:11851:7: ( () 'instanceof' )
// InternalSARL.g:11852:7: () 'instanceof'
{
// InternalSARL.g:11852:7: ()
// InternalSARL.g:11853:7:
{
}
match(input,108,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred27_InternalSARL
// $ANTLR start synpred28_InternalSARL
public final void synpred28_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:11894:6: ( ( () ( ( ruleOpCompare ) ) ) )
// InternalSARL.g:11894:7: ( () ( ( ruleOpCompare ) ) )
{
// InternalSARL.g:11894:7: ( () ( ( ruleOpCompare ) ) )
// InternalSARL.g:11895:7: () ( ( ruleOpCompare ) )
{
// InternalSARL.g:11895:7: ()
// InternalSARL.g:11896:7:
{
}
// InternalSARL.g:11897:7: ( ( ruleOpCompare ) )
// InternalSARL.g:11898:8: ( ruleOpCompare )
{
// InternalSARL.g:11898:8: ( ruleOpCompare )
// InternalSARL.g:11899:9: ruleOpCompare
{
pushFollow(FOLLOW_2);
ruleOpCompare();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred28_InternalSARL
// $ANTLR start synpred29_InternalSARL
public final void synpred29_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:12029:5: ( ( () ( ( ruleOpOther ) ) ) )
// InternalSARL.g:12029:6: ( () ( ( ruleOpOther ) ) )
{
// InternalSARL.g:12029:6: ( () ( ( ruleOpOther ) ) )
// InternalSARL.g:12030:6: () ( ( ruleOpOther ) )
{
// InternalSARL.g:12030:6: ()
// InternalSARL.g:12031:6:
{
}
// InternalSARL.g:12032:6: ( ( ruleOpOther ) )
// InternalSARL.g:12033:7: ( ruleOpOther )
{
// InternalSARL.g:12033:7: ( ruleOpOther )
// InternalSARL.g:12034:8: ruleOpOther
{
pushFollow(FOLLOW_2);
ruleOpOther();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred29_InternalSARL
// $ANTLR start synpred30_InternalSARL
public final void synpred30_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:12149:6: ( ( '>' '>' ) )
// InternalSARL.g:12149:7: ( '>' '>' )
{
// InternalSARL.g:12149:7: ( '>' '>' )
// InternalSARL.g:12150:7: '>' '>'
{
match(input,41,FOLLOW_115); if (state.failed) return ;
match(input,41,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred30_InternalSARL
// $ANTLR start synpred31_InternalSARL
public final void synpred31_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:12184:6: ( ( '<' '<' ) )
// InternalSARL.g:12184:7: ( '<' '<' )
{
// InternalSARL.g:12184:7: ( '<' '<' )
// InternalSARL.g:12185:7: '<' '<'
{
match(input,40,FOLLOW_87); if (state.failed) return ;
match(input,40,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred31_InternalSARL
// $ANTLR start synpred32_InternalSARL
public final void synpred32_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:12257:5: ( ( () ( ( ruleOpAdd ) ) ) )
// InternalSARL.g:12257:6: ( () ( ( ruleOpAdd ) ) )
{
// InternalSARL.g:12257:6: ( () ( ( ruleOpAdd ) ) )
// InternalSARL.g:12258:6: () ( ( ruleOpAdd ) )
{
// InternalSARL.g:12258:6: ()
// InternalSARL.g:12259:6:
{
}
// InternalSARL.g:12260:6: ( ( ruleOpAdd ) )
// InternalSARL.g:12261:7: ( ruleOpAdd )
{
// InternalSARL.g:12261:7: ( ruleOpAdd )
// InternalSARL.g:12262:8: ruleOpAdd
{
pushFollow(FOLLOW_2);
ruleOpAdd();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred32_InternalSARL
// $ANTLR start synpred33_InternalSARL
public final void synpred33_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:12372:5: ( ( () ( ( ruleOpMulti ) ) ) )
// InternalSARL.g:12372:6: ( () ( ( ruleOpMulti ) ) )
{
// InternalSARL.g:12372:6: ( () ( ( ruleOpMulti ) ) )
// InternalSARL.g:12373:6: () ( ( ruleOpMulti ) )
{
// InternalSARL.g:12373:6: ()
// InternalSARL.g:12374:6:
{
}
// InternalSARL.g:12375:6: ( ( ruleOpMulti ) )
// InternalSARL.g:12376:7: ( ruleOpMulti )
{
// InternalSARL.g:12376:7: ( ruleOpMulti )
// InternalSARL.g:12377:8: ruleOpMulti
{
pushFollow(FOLLOW_2);
ruleOpMulti();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred33_InternalSARL
// $ANTLR start synpred34_InternalSARL
public final void synpred34_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:12607:5: ( ( () 'as' ) )
// InternalSARL.g:12607:6: ( () 'as' )
{
// InternalSARL.g:12607:6: ( () 'as' )
// InternalSARL.g:12608:6: () 'as'
{
// InternalSARL.g:12608:6: ()
// InternalSARL.g:12609:6:
{
}
match(input,64,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred34_InternalSARL
// $ANTLR start synpred35_InternalSARL
public final void synpred35_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:12675:4: ( ( () ( ( ruleOpPostfix ) ) ) )
// InternalSARL.g:12675:5: ( () ( ( ruleOpPostfix ) ) )
{
// InternalSARL.g:12675:5: ( () ( ( ruleOpPostfix ) ) )
// InternalSARL.g:12676:5: () ( ( ruleOpPostfix ) )
{
// InternalSARL.g:12676:5: ()
// InternalSARL.g:12677:5:
{
}
// InternalSARL.g:12678:5: ( ( ruleOpPostfix ) )
// InternalSARL.g:12679:6: ( ruleOpPostfix )
{
// InternalSARL.g:12679:6: ( ruleOpPostfix )
// InternalSARL.g:12680:7: ruleOpPostfix
{
pushFollow(FOLLOW_2);
ruleOpPostfix();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred35_InternalSARL
// $ANTLR start synpred36_InternalSARL
public final void synpred36_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:12771:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )
// InternalSARL.g:12771:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
{
// InternalSARL.g:12771:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign )
// InternalSARL.g:12772:7: () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign
{
// InternalSARL.g:12772:7: ()
// InternalSARL.g:12773:7:
{
}
// InternalSARL.g:12774:7: ( '.' | ( ( '::' ) ) )
int alt388=2;
int LA388_0 = input.LA(1);
if ( (LA388_0==68) ) {
alt388=1;
}
else if ( (LA388_0==122) ) {
alt388=2;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 388, 0, input);
throw nvae;
}
switch (alt388) {
case 1 :
// InternalSARL.g:12775:8: '.'
{
match(input,68,FOLLOW_121); if (state.failed) return ;
}
break;
case 2 :
// InternalSARL.g:12777:8: ( ( '::' ) )
{
// InternalSARL.g:12777:8: ( ( '::' ) )
// InternalSARL.g:12778:9: ( '::' )
{
// InternalSARL.g:12778:9: ( '::' )
// InternalSARL.g:12779:10: '::'
{
match(input,122,FOLLOW_121); if (state.failed) return ;
}
}
}
break;
}
// InternalSARL.g:12783:7: ( ( ruleFeatureCallID ) )
// InternalSARL.g:12784:8: ( ruleFeatureCallID )
{
// InternalSARL.g:12784:8: ( ruleFeatureCallID )
// InternalSARL.g:12785:9: ruleFeatureCallID
{
pushFollow(FOLLOW_81);
ruleFeatureCallID();
state._fsp--;
if (state.failed) return ;
}
}
pushFollow(FOLLOW_2);
ruleOpSingleAssign();
state._fsp--;
if (state.failed) return ;
}
}
}
// $ANTLR end synpred36_InternalSARL
// $ANTLR start synpred37_InternalSARL
public final void synpred37_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:12868:6: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )
// InternalSARL.g:12868:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) )
{
// InternalSARL.g:12868:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) )
// InternalSARL.g:12869:7: () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) )
{
// InternalSARL.g:12869:7: ()
// InternalSARL.g:12870:7:
{
}
// InternalSARL.g:12871:7: ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) )
int alt389=3;
switch ( input.LA(1) ) {
case 68:
{
alt389=1;
}
break;
case 123:
{
alt389=2;
}
break;
case 122:
{
alt389=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 389, 0, input);
throw nvae;
}
switch (alt389) {
case 1 :
// InternalSARL.g:12872:8: '.'
{
match(input,68,FOLLOW_2); if (state.failed) return ;
}
break;
case 2 :
// InternalSARL.g:12874:8: ( ( '?.' ) )
{
// InternalSARL.g:12874:8: ( ( '?.' ) )
// InternalSARL.g:12875:9: ( '?.' )
{
// InternalSARL.g:12875:9: ( '?.' )
// InternalSARL.g:12876:10: '?.'
{
match(input,123,FOLLOW_2); if (state.failed) return ;
}
}
}
break;
case 3 :
// InternalSARL.g:12880:8: ( ( '::' ) )
{
// InternalSARL.g:12880:8: ( ( '::' ) )
// InternalSARL.g:12881:9: ( '::' )
{
// InternalSARL.g:12881:9: ( '::' )
// InternalSARL.g:12882:10: '::'
{
match(input,122,FOLLOW_2); if (state.failed) return ;
}
}
}
break;
}
}
}
}
// $ANTLR end synpred37_InternalSARL
// $ANTLR start synpred38_InternalSARL
public final void synpred38_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:13006:7: ( ( '(' ) )
// InternalSARL.g:13006:8: ( '(' )
{
// InternalSARL.g:13006:8: ( '(' )
// InternalSARL.g:13007:8: '('
{
match(input,49,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred38_InternalSARL
// $ANTLR start synpred39_InternalSARL
public final void synpred39_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:13025:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
// InternalSARL.g:13025:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
{
// InternalSARL.g:13025:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
// InternalSARL.g:13026:9: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
{
// InternalSARL.g:13026:9: ()
// InternalSARL.g:13027:9:
{
}
// InternalSARL.g:13028:9: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
int alt391=2;
int LA391_0 = input.LA(1);
if ( (LA391_0==RULE_ID||(LA391_0>=44 && LA391_0<=45)||(LA391_0>=83 && LA391_0<=86)) ) {
alt391=1;
}
switch (alt391) {
case 1 :
// InternalSARL.g:13029:10: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
{
// InternalSARL.g:13029:10: ( ( ruleJvmFormalParameter ) )
// InternalSARL.g:13030:11: ( ruleJvmFormalParameter )
{
// InternalSARL.g:13030:11: ( ruleJvmFormalParameter )
// InternalSARL.g:13031:12: ruleJvmFormalParameter
{
pushFollow(FOLLOW_129);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
// InternalSARL.g:13034:10: ( ',' ( ( ruleJvmFormalParameter ) ) )*
loop390:
do {
int alt390=2;
int LA390_0 = input.LA(1);
if ( (LA390_0==32) ) {
alt390=1;
}
switch (alt390) {
case 1 :
// InternalSARL.g:13035:11: ',' ( ( ruleJvmFormalParameter ) )
{
match(input,32,FOLLOW_72); if (state.failed) return ;
// InternalSARL.g:13036:11: ( ( ruleJvmFormalParameter ) )
// InternalSARL.g:13037:12: ( ruleJvmFormalParameter )
{
// InternalSARL.g:13037:12: ( ruleJvmFormalParameter )
// InternalSARL.g:13038:13: ruleJvmFormalParameter
{
pushFollow(FOLLOW_129);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
default :
break loop390;
}
} while (true);
}
break;
}
// InternalSARL.g:13043:9: ( ( '|' ) )
// InternalSARL.g:13044:10: ( '|' )
{
// InternalSARL.g:13044:10: ( '|' )
// InternalSARL.g:13045:11: '|'
{
match(input,124,FOLLOW_2); if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred39_InternalSARL
// $ANTLR start synpred40_InternalSARL
public final void synpred40_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:13122:6: ( ( () '[' ) )
// InternalSARL.g:13122:7: ( () '[' )
{
// InternalSARL.g:13122:7: ( () '[' )
// InternalSARL.g:13123:7: () '['
{
// InternalSARL.g:13123:7: ()
// InternalSARL.g:13124:7:
{
}
match(input,55,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred40_InternalSARL
// $ANTLR start synpred41_InternalSARL
public final void synpred41_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:13177:4: ( ( () '[' ) )
// InternalSARL.g:13177:5: ( () '[' )
{
// InternalSARL.g:13177:5: ( () '[' )
// InternalSARL.g:13178:5: () '['
{
// InternalSARL.g:13178:5: ()
// InternalSARL.g:13179:5:
{
}
match(input,55,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred41_InternalSARL
// $ANTLR start synpred43_InternalSARL
public final void synpred43_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:13482:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
// InternalSARL.g:13482:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
{
// InternalSARL.g:13482:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
// InternalSARL.g:13483:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
{
// InternalSARL.g:13483:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
int alt393=2;
int LA393_0 = input.LA(1);
if ( (LA393_0==RULE_ID||(LA393_0>=44 && LA393_0<=45)||(LA393_0>=83 && LA393_0<=86)) ) {
alt393=1;
}
switch (alt393) {
case 1 :
// InternalSARL.g:13484:6: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
{
// InternalSARL.g:13484:6: ( ( ruleJvmFormalParameter ) )
// InternalSARL.g:13485:7: ( ruleJvmFormalParameter )
{
// InternalSARL.g:13485:7: ( ruleJvmFormalParameter )
// InternalSARL.g:13486:8: ruleJvmFormalParameter
{
pushFollow(FOLLOW_129);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
// InternalSARL.g:13489:6: ( ',' ( ( ruleJvmFormalParameter ) ) )*
loop392:
do {
int alt392=2;
int LA392_0 = input.LA(1);
if ( (LA392_0==32) ) {
alt392=1;
}
switch (alt392) {
case 1 :
// InternalSARL.g:13490:7: ',' ( ( ruleJvmFormalParameter ) )
{
match(input,32,FOLLOW_72); if (state.failed) return ;
// InternalSARL.g:13491:7: ( ( ruleJvmFormalParameter ) )
// InternalSARL.g:13492:8: ( ruleJvmFormalParameter )
{
// InternalSARL.g:13492:8: ( ruleJvmFormalParameter )
// InternalSARL.g:13493:9: ruleJvmFormalParameter
{
pushFollow(FOLLOW_129);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
default :
break loop392;
}
} while (true);
}
break;
}
// InternalSARL.g:13498:5: ( ( '|' ) )
// InternalSARL.g:13499:6: ( '|' )
{
// InternalSARL.g:13499:6: ( '|' )
// InternalSARL.g:13500:7: '|'
{
match(input,124,FOLLOW_2); if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred43_InternalSARL
// $ANTLR start synpred45_InternalSARL
public final void synpred45_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:13891:5: ( 'else' )
// InternalSARL.g:13891:6: 'else'
{
match(input,126,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred45_InternalSARL
// $ANTLR start synpred46_InternalSARL
public final void synpred46_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:14442:4: ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )
// InternalSARL.g:14442:5: ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) )
{
// InternalSARL.g:14442:5: ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) )
// InternalSARL.g:14443:5: () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) )
{
// InternalSARL.g:14443:5: ()
// InternalSARL.g:14444:5:
{
}
// InternalSARL.g:14445:5: ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) )
int alt399=2;
int LA399_0 = input.LA(1);
if ( ((LA399_0>=61 && LA399_0<=62)) ) {
alt399=1;
}
else if ( (LA399_0==45) ) {
alt399=2;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 399, 0, input);
throw nvae;
}
switch (alt399) {
case 1 :
// InternalSARL.g:14446:6: ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? )
{
// InternalSARL.g:14446:6: ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? )
// InternalSARL.g:14447:7: ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )?
{
// InternalSARL.g:14447:7: ( ( ( 'var' ) ) | 'val' )
int alt396=2;
int LA396_0 = input.LA(1);
if ( (LA396_0==61) ) {
alt396=1;
}
else if ( (LA396_0==62) ) {
alt396=2;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 396, 0, input);
throw nvae;
}
switch (alt396) {
case 1 :
// InternalSARL.g:14448:8: ( ( 'var' ) )
{
// InternalSARL.g:14448:8: ( ( 'var' ) )
// InternalSARL.g:14449:9: ( 'var' )
{
// InternalSARL.g:14449:9: ( 'var' )
// InternalSARL.g:14450:10: 'var'
{
match(input,61,FOLLOW_159); if (state.failed) return ;
}
}
}
break;
case 2 :
// InternalSARL.g:14454:8: 'val'
{
match(input,62,FOLLOW_159); if (state.failed) return ;
}
break;
}
// InternalSARL.g:14456:7: ( ( 'extension' ) )?
int alt397=2;
int LA397_0 = input.LA(1);
if ( (LA397_0==45) ) {
alt397=1;
}
switch (alt397) {
case 1 :
// InternalSARL.g:14457:8: ( 'extension' )
{
// InternalSARL.g:14457:8: ( 'extension' )
// InternalSARL.g:14458:9: 'extension'
{
match(input,45,FOLLOW_2); if (state.failed) return ;
}
}
break;
}
}
}
break;
case 2 :
// InternalSARL.g:14463:6: ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) )
{
// InternalSARL.g:14463:6: ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) )
// InternalSARL.g:14464:7: ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' )
{
// InternalSARL.g:14464:7: ( ( 'extension' ) )
// InternalSARL.g:14465:8: ( 'extension' )
{
// InternalSARL.g:14465:8: ( 'extension' )
// InternalSARL.g:14466:9: 'extension'
{
match(input,45,FOLLOW_73); if (state.failed) return ;
}
}
// InternalSARL.g:14469:7: ( ( ( 'var' ) ) | 'val' )
int alt398=2;
int LA398_0 = input.LA(1);
if ( (LA398_0==61) ) {
alt398=1;
}
else if ( (LA398_0==62) ) {
alt398=2;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
NoViableAltException nvae =
new NoViableAltException("", 398, 0, input);
throw nvae;
}
switch (alt398) {
case 1 :
// InternalSARL.g:14470:8: ( ( 'var' ) )
{
// InternalSARL.g:14470:8: ( ( 'var' ) )
// InternalSARL.g:14471:9: ( 'var' )
{
// InternalSARL.g:14471:9: ( 'var' )
// InternalSARL.g:14472:10: 'var'
{
match(input,61,FOLLOW_2); if (state.failed) return ;
}
}
}
break;
case 2 :
// InternalSARL.g:14476:8: 'val'
{
match(input,62,FOLLOW_2); if (state.failed) return ;
}
break;
}
}
}
break;
}
}
}
}
// $ANTLR end synpred46_InternalSARL
// $ANTLR start synpred47_InternalSARL
public final void synpred47_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:14598:5: ( ( '(' ) )
// InternalSARL.g:14598:6: ( '(' )
{
// InternalSARL.g:14598:6: ( '(' )
// InternalSARL.g:14599:6: '('
{
match(input,49,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred47_InternalSARL
// $ANTLR start synpred48_InternalSARL
public final void synpred48_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:14617:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
// InternalSARL.g:14617:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
{
// InternalSARL.g:14617:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
// InternalSARL.g:14618:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
{
// InternalSARL.g:14618:7: ()
// InternalSARL.g:14619:7:
{
}
// InternalSARL.g:14620:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
int alt401=2;
int LA401_0 = input.LA(1);
if ( (LA401_0==RULE_ID||(LA401_0>=44 && LA401_0<=45)||(LA401_0>=83 && LA401_0<=86)) ) {
alt401=1;
}
switch (alt401) {
case 1 :
// InternalSARL.g:14621:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
{
// InternalSARL.g:14621:8: ( ( ruleJvmFormalParameter ) )
// InternalSARL.g:14622:9: ( ruleJvmFormalParameter )
{
// InternalSARL.g:14622:9: ( ruleJvmFormalParameter )
// InternalSARL.g:14623:10: ruleJvmFormalParameter
{
pushFollow(FOLLOW_129);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
// InternalSARL.g:14626:8: ( ',' ( ( ruleJvmFormalParameter ) ) )*
loop400:
do {
int alt400=2;
int LA400_0 = input.LA(1);
if ( (LA400_0==32) ) {
alt400=1;
}
switch (alt400) {
case 1 :
// InternalSARL.g:14627:9: ',' ( ( ruleJvmFormalParameter ) )
{
match(input,32,FOLLOW_72); if (state.failed) return ;
// InternalSARL.g:14628:9: ( ( ruleJvmFormalParameter ) )
// InternalSARL.g:14629:10: ( ruleJvmFormalParameter )
{
// InternalSARL.g:14629:10: ( ruleJvmFormalParameter )
// InternalSARL.g:14630:11: ruleJvmFormalParameter
{
pushFollow(FOLLOW_129);
ruleJvmFormalParameter();
state._fsp--;
if (state.failed) return ;
}
}
}
break;
default :
break loop400;
}
} while (true);
}
break;
}
// InternalSARL.g:14635:7: ( ( '|' ) )
// InternalSARL.g:14636:8: ( '|' )
{
// InternalSARL.g:14636:8: ( '|' )
// InternalSARL.g:14637:9: '|'
{
match(input,124,FOLLOW_2); if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred48_InternalSARL
// $ANTLR start synpred49_InternalSARL
public final void synpred49_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:14714:4: ( ( () '[' ) )
// InternalSARL.g:14714:5: ( () '[' )
{
// InternalSARL.g:14714:5: ( () '[' )
// InternalSARL.g:14715:5: () '['
{
// InternalSARL.g:14715:5: ()
// InternalSARL.g:14716:5:
{
}
match(input,55,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred49_InternalSARL
// $ANTLR start synpred50_InternalSARL
public final void synpred50_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:15048:4: ( 'abstract' | 'annotation' | 'class' | 'create' | 'def' | 'dispatch' | 'enum' | 'extends' | 'final' | 'implements' | 'import' | 'interface' | 'override' | 'package' | 'public' | 'private' | 'protected' | 'static' | 'throws' | 'strictfp' | 'native' | 'volatile' | 'synchronized' | 'transient' | 'AFTER' | 'BEFORE' | 'SEPARATOR' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | 'break' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_RICH_TEXT | RULE_RICH_TEXT_START )
// InternalSARL.g:
{
if ( (input.LA(1)>=RULE_ID && input.LA(1)<=RULE_RICH_TEXT_START)||(input.LA(1)>=RULE_HEX && input.LA(1)<=RULE_DECIMAL)||input.LA(1)==25||(input.LA(1)>=28 && input.LA(1)<=29)||input.LA(1)==36||(input.LA(1)>=39 && input.LA(1)<=40)||(input.LA(1)>=42 && input.LA(1)<=45)||(input.LA(1)>=48 && input.LA(1)<=49)||input.LA(1)==51||input.LA(1)==55||input.LA(1)==60||input.LA(1)==63||input.LA(1)==65||(input.LA(1)>=69 && input.LA(1)<=87)||input.LA(1)==95||(input.LA(1)>=114 && input.LA(1)<=115)||input.LA(1)==119||input.LA(1)==125||(input.LA(1)>=128 && input.LA(1)<=137) ) {
input.consume();
state.errorRecovery=false;state.failed=false;
}
else {
if (state.backtracking>0) {state.failed=true; return ;}
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
}
}
// $ANTLR end synpred50_InternalSARL
// $ANTLR start synpred51_InternalSARL
public final void synpred51_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:15119:6: ( 'catch' )
// InternalSARL.g:15119:7: 'catch'
{
match(input,139,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred51_InternalSARL
// $ANTLR start synpred52_InternalSARL
public final void synpred52_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:15140:7: ( 'finally' )
// InternalSARL.g:15140:8: 'finally'
{
match(input,138,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred52_InternalSARL
// $ANTLR start synpred55_InternalSARL
public final void synpred55_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:15384:5: ( '.' )
// InternalSARL.g:15384:6: '.'
{
match(input,68,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred55_InternalSARL
// $ANTLR start synpred56_InternalSARL
public final void synpred56_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:15510:5: ( ( () ruleArrayBrackets ) )
// InternalSARL.g:15510:6: ( () ruleArrayBrackets )
{
// InternalSARL.g:15510:6: ( () ruleArrayBrackets )
// InternalSARL.g:15511:6: () ruleArrayBrackets
{
// InternalSARL.g:15511:6: ()
// InternalSARL.g:15512:6:
{
}
pushFollow(FOLLOW_2);
ruleArrayBrackets();
state._fsp--;
if (state.failed) return ;
}
}
}
// $ANTLR end synpred56_InternalSARL
// $ANTLR start synpred57_InternalSARL
public final void synpred57_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:15707:5: ( '<' )
// InternalSARL.g:15707:6: '<'
{
match(input,40,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred57_InternalSARL
// $ANTLR start synpred58_InternalSARL
public final void synpred58_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:15763:6: ( ( () '.' ) )
// InternalSARL.g:15763:7: ( () '.' )
{
// InternalSARL.g:15763:7: ( () '.' )
// InternalSARL.g:15764:7: () '.'
{
// InternalSARL.g:15764:7: ()
// InternalSARL.g:15765:7:
{
}
match(input,68,FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred58_InternalSARL
// $ANTLR start synpred59_InternalSARL
public final void synpred59_InternalSARL_fragment() throws RecognitionException {
// InternalSARL.g:15801:7: ( '<' )
// InternalSARL.g:15801:8: '<'
{
match(input,40,FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred59_InternalSARL
// Delegated rules
public final boolean synpred21_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred21_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred23_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred23_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred27_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred27_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred40_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred40_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred25_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred25_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred46_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred46_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred50_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred50_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred48_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred48_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred11_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred11_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred29_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred29_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred31_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred31_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred30_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred30_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred34_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred34_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred35_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred35_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred32_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred32_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred33_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred33_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred39_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred39_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred36_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred36_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred37_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred37_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred38_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred38_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred22_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred22_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred26_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred26_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred59_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred59_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred41_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred41_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred43_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred43_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred24_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred24_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred45_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred45_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred49_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred49_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred10_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred10_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred12_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred12_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred28_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred28_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred47_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred47_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred2_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred2_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred1_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred1_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred16_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred16_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred17_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred17_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred14_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred14_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred13_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred13_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred6_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred6_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred7_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred7_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred18_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred18_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred15_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred15_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred4_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred4_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred51_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred51_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred52_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred52_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred58_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred58_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred8_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred8_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred57_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred57_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred55_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred55_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred56_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred56_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred9_InternalSARL() {
state.backtracking++;
int start = input.mark();
try {
synpred9_InternalSARL_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
protected DFA44 dfa44 = new DFA44(this);
protected DFA63 dfa63 = new DFA63(this);
protected DFA72 dfa72 = new DFA72(this);
protected DFA134 dfa134 = new DFA134(this);
protected DFA109 dfa109 = new DFA109(this);
protected DFA185 dfa185 = new DFA185(this);
protected DFA160 dfa160 = new DFA160(this);
protected DFA210 dfa210 = new DFA210(this);
protected DFA215 dfa215 = new DFA215(this);
protected DFA229 dfa229 = new DFA229(this);
protected DFA228 dfa228 = new DFA228(this);
protected DFA237 dfa237 = new DFA237(this);
protected DFA243 dfa243 = new DFA243(this);
protected DFA251 dfa251 = new DFA251(this);
protected DFA253 dfa253 = new DFA253(this);
protected DFA256 dfa256 = new DFA256(this);
protected DFA255 dfa255 = new DFA255(this);
protected DFA257 dfa257 = new DFA257(this);
protected DFA274 dfa274 = new DFA274(this);
protected DFA280 dfa280 = new DFA280(this);
protected DFA283 dfa283 = new DFA283(this);
protected DFA286 dfa286 = new DFA286(this);
protected DFA285 dfa285 = new DFA285(this);
protected DFA295 dfa295 = new DFA295(this);
protected DFA298 dfa298 = new DFA298(this);
protected DFA314 dfa314 = new DFA314(this);
protected DFA313 dfa313 = new DFA313(this);
protected DFA315 dfa315 = new DFA315(this);
protected DFA325 dfa325 = new DFA325(this);
protected DFA346 dfa346 = new DFA346(this);
protected DFA345 dfa345 = new DFA345(this);
protected DFA347 dfa347 = new DFA347(this);
protected DFA351 dfa351 = new DFA351(this);
protected DFA355 dfa355 = new DFA355(this);
protected DFA369 dfa369 = new DFA369(this);
protected DFA368 dfa368 = new DFA368(this);
protected DFA367 dfa367 = new DFA367(this);
protected DFA379 dfa379 = new DFA379(this);
static final String dfa_1s = "\31\uffff";
static final String dfa_2s = "\16\31\13\uffff";
static final String dfa_3s = "\16\120\13\uffff";
static final String dfa_4s = "\16\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13";
static final String dfa_5s = "\31\uffff}>";
static final String[] dfa_6s = {
"\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s);
static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s);
static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s);
static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s);
class DFA44 extends DFA {
public DFA44(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 44;
this.eot = dfa_1;
this.eof = dfa_1;
this.min = dfa_2;
this.max = dfa_3;
this.accept = dfa_4;
this.special = dfa_5;
this.transition = dfa_6;
}
public String getDescription() {
return "220:3: ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? ) | ( () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}' ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}' ) | ( () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}' ) | ( () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}' ) | ( () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}' ) | ( () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}' ) | ( () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}' ) | ( () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}' ) | ( () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}' ) )";
}
}
static final String dfa_7s = "\20\uffff";
static final String dfa_8s = "\16\31\2\uffff";
static final String dfa_9s = "\16\120\2\uffff";
static final String dfa_10s = "\16\uffff\1\1\1\2";
static final String dfa_11s = "\20\uffff}>";
static final String[] dfa_12s = {
"\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"",
""
};
static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s);
static final char[] dfa_8 = DFA.unpackEncodedStringToUnsignedChars(dfa_8s);
static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s);
static final short[] dfa_10 = DFA.unpackEncodedString(dfa_10s);
static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s);
static final short[][] dfa_12 = unpackEncodedStringArray(dfa_12s);
class DFA63 extends DFA {
public DFA63(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 63;
this.eot = dfa_7;
this.eof = dfa_7;
this.min = dfa_8;
this.max = dfa_9;
this.accept = dfa_10;
this.special = dfa_11;
this.transition = dfa_12;
}
public String getDescription() {
return "1629:3: ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) )";
}
}
static final String dfa_13s = "\1\uffff\6\11\3\uffff\6\11";
static final String dfa_14s = "\1\4\6\31\1\uffff\1\4\1\uffff\6\31";
static final String dfa_15s = "\1\126\6\136\1\uffff\1\126\1\uffff\6\136";
static final String dfa_16s = "\7\uffff\1\1\1\uffff\1\2\6\uffff";
static final String[] dfa_17s = {
"\1\1\47\uffff\1\3\4\uffff\1\7\21\uffff\1\7\17\uffff\1\2\1\4\1\5\1\6",
"\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11",
"",
"\1\12\47\uffff\1\14\46\uffff\1\13\1\15\1\16\1\17",
"",
"\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11"
};
static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s);
static final char[] dfa_14 = DFA.unpackEncodedStringToUnsignedChars(dfa_14s);
static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s);
static final short[] dfa_16 = DFA.unpackEncodedString(dfa_16s);
static final short[][] dfa_17 = unpackEncodedStringArray(dfa_17s);
class DFA72 extends DFA {
public DFA72(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 72;
this.eot = dfa_7;
this.eof = dfa_13;
this.min = dfa_14;
this.max = dfa_15;
this.accept = dfa_16;
this.special = dfa_11;
this.transition = dfa_17;
}
public String getDescription() {
return "2476:4: ( ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) )";
}
}
static final String dfa_18s = "\30\uffff";
static final String dfa_19s = "\1\31\3\uffff\15\31\7\uffff";
static final String dfa_20s = "\1\122\3\uffff\15\122\7\uffff";
static final String dfa_21s = "\1\uffff\1\1\1\2\1\3\15\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12";
static final String dfa_22s = "\30\uffff}>";
static final String[] dfa_23s = {
"\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\5\uffff\1\1\2\uffff\1\2\1\3\2\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23",
"",
"",
"",
"\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23",
"\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23",
"\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23",
"\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23",
"\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23",
"\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23",
"\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23",
"\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23",
"\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23",
"\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23",
"\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23",
"\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23",
"\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s);
static final char[] dfa_19 = DFA.unpackEncodedStringToUnsignedChars(dfa_19s);
static final char[] dfa_20 = DFA.unpackEncodedStringToUnsignedChars(dfa_20s);
static final short[] dfa_21 = DFA.unpackEncodedString(dfa_21s);
static final short[] dfa_22 = DFA.unpackEncodedString(dfa_22s);
static final short[][] dfa_23 = unpackEncodedStringArray(dfa_23s);
class DFA134 extends DFA {
public DFA134(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 134;
this.eot = dfa_18;
this.eof = dfa_18;
this.min = dfa_19;
this.max = dfa_20;
this.accept = dfa_21;
this.special = dfa_22;
this.transition = dfa_23;
}
public String getDescription() {
return "2780:3: ( ( () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) ) ) | ( () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )? ) | ( () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )? ) | ( () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )? ) | ( () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}' ) | ( () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}' ) | ( () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}' ) | ( () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}' ) )";
}
}
static final String[] dfa_24s = {
"\1\1\47\uffff\1\3\4\uffff\1\7\21\uffff\1\7\17\uffff\1\2\1\4\1\5\1\6",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"",
"\1\12\47\uffff\1\14\46\uffff\1\13\1\15\1\16\1\17",
"",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11"
};
static final short[][] dfa_24 = unpackEncodedStringArray(dfa_24s);
class DFA109 extends DFA {
public DFA109(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 109;
this.eot = dfa_7;
this.eof = dfa_13;
this.min = dfa_14;
this.max = dfa_15;
this.accept = dfa_16;
this.special = dfa_11;
this.transition = dfa_24;
}
public String getDescription() {
return "3814:6: ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) )";
}
}
static final String dfa_25s = "\25\uffff";
static final String dfa_26s = "\16\31\7\uffff";
static final String dfa_27s = "\16\122\7\uffff";
static final String dfa_28s = "\16\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7";
static final String dfa_29s = "\25\uffff}>";
static final String[] dfa_30s = {
"\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20",
"\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20",
"\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20",
"\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20",
"\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20",
"\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20",
"\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20",
"\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20",
"\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20",
"\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20",
"\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20",
"\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20",
"\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20",
"\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_25 = DFA.unpackEncodedString(dfa_25s);
static final char[] dfa_26 = DFA.unpackEncodedStringToUnsignedChars(dfa_26s);
static final char[] dfa_27 = DFA.unpackEncodedStringToUnsignedChars(dfa_27s);
static final short[] dfa_28 = DFA.unpackEncodedString(dfa_28s);
static final short[] dfa_29 = DFA.unpackEncodedString(dfa_29s);
static final short[][] dfa_30 = unpackEncodedStringArray(dfa_30s);
class DFA185 extends DFA {
public DFA185(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 185;
this.eot = dfa_25;
this.eof = dfa_25;
this.min = dfa_26;
this.max = dfa_27;
this.accept = dfa_28;
this.special = dfa_29;
this.transition = dfa_30;
}
public String getDescription() {
return "4734:3: ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? ) | ( () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}' ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}' ) | ( () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}' ) | ( () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}' ) )";
}
}
static final String[] dfa_31s = {
"\1\1\47\uffff\1\3\4\uffff\1\7\21\uffff\1\7\17\uffff\1\2\1\4\1\5\1\6",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"",
"\1\12\47\uffff\1\14\46\uffff\1\13\1\15\1\16\1\17",
"",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11",
"\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11"
};
static final short[][] dfa_31 = unpackEncodedStringArray(dfa_31s);
class DFA160 extends DFA {
public DFA160(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 160;
this.eot = dfa_7;
this.eof = dfa_13;
this.min = dfa_14;
this.max = dfa_15;
this.accept = dfa_16;
this.special = dfa_11;
this.transition = dfa_31;
}
public String getDescription() {
return "5559:6: ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) )";
}
}
static final String dfa_32s = "\23\uffff";
static final String dfa_33s = "\16\31\5\uffff";
static final String dfa_34s = "\16\120\5\uffff";
static final String dfa_35s = "\16\uffff\1\1\1\2\1\3\1\4\1\5";
static final String dfa_36s = "\23\uffff}>";
static final String[] dfa_37s = {
"\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15",
"",
"",
"",
"",
""
};
static final short[] dfa_32 = DFA.unpackEncodedString(dfa_32s);
static final char[] dfa_33 = DFA.unpackEncodedStringToUnsignedChars(dfa_33s);
static final char[] dfa_34 = DFA.unpackEncodedStringToUnsignedChars(dfa_34s);
static final short[] dfa_35 = DFA.unpackEncodedString(dfa_35s);
static final short[] dfa_36 = DFA.unpackEncodedString(dfa_36s);
static final short[][] dfa_37 = unpackEncodedStringArray(dfa_37s);
class DFA210 extends DFA {
public DFA210(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 210;
this.eot = dfa_32;
this.eof = dfa_32;
this.min = dfa_33;
this.max = dfa_34;
this.accept = dfa_35;
this.special = dfa_36;
this.transition = dfa_37;
}
public String getDescription() {
return "6479:3: ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )? ) | ( () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}' ) | ( () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}' ) | ( () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}' ) )";
}
}
static final String dfa_38s = "\73\uffff";
static final String dfa_39s = "\1\4\3\uffff\1\0\53\uffff\1\0\12\uffff";
static final String dfa_40s = "\1\u0089\3\uffff\1\0\53\uffff\1\0\12\uffff";
static final String dfa_41s = "\1\uffff\1\1\1\2\1\3\1\uffff\1\5\35\uffff\1\6\13\uffff\1\7\1\uffff\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\4\1\10\1\11";
static final String dfa_42s = "\4\uffff\1\0\53\uffff\1\1\12\uffff}>";
static final String[] dfa_43s = {
"\1\5\3\43\4\uffff\3\43\12\uffff\1\5\2\uffff\1\5\1\2\6\uffff\1\5\2\uffff\2\5\1\uffff\4\5\2\uffff\1\1\1\66\1\uffff\1\5\3\uffff\1\43\4\uffff\1\67\2\uffff\1\60\1\uffff\1\3\3\uffff\12\5\1\4\10\5\7\uffff\1\43\35\uffff\1\57\2\uffff\1\61\1\62\1\5\4\43\1\63\1\64\1\65",
"",
"",
"",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_38 = DFA.unpackEncodedString(dfa_38s);
static final char[] dfa_39 = DFA.unpackEncodedStringToUnsignedChars(dfa_39s);
static final char[] dfa_40 = DFA.unpackEncodedStringToUnsignedChars(dfa_40s);
static final short[] dfa_41 = DFA.unpackEncodedString(dfa_41s);
static final short[] dfa_42 = DFA.unpackEncodedString(dfa_42s);
static final short[][] dfa_43 = unpackEncodedStringArray(dfa_43s);
class DFA215 extends DFA {
public DFA215(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 215;
this.eot = dfa_38;
this.eof = dfa_38;
this.min = dfa_39;
this.max = dfa_40;
this.accept = dfa_41;
this.special = dfa_42;
this.transition = dfa_43;
}
public String getDescription() {
return "7493:2: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression | this_BreakExpression_15= ruleBreakExpression )";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA215_4 = input.LA(1);
int index215_4 = input.index();
input.rewind();
s = -1;
if ( (synpred1_InternalSARL()) ) {s = 56;}
else if ( (true) ) {s = 5;}
input.seek(index215_4);
if ( s>=0 ) return s;
break;
case 1 :
int LA215_48 = input.LA(1);
int index215_48 = input.index();
input.rewind();
s = -1;
if ( (synpred2_InternalSARL()) ) {s = 57;}
else if ( (true) ) {s = 58;}
input.seek(index215_48);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 215, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_44s = "\74\uffff";
static final String dfa_45s = "\1\4\1\0\72\uffff";
static final String dfa_46s = "\1\u0089\1\0\72\uffff";
static final String dfa_47s = "\2\uffff\1\2\70\uffff\1\1";
static final String dfa_48s = "\1\uffff\1\0\72\uffff}>";
static final String[] dfa_49s = {
"\4\2\4\uffff\3\2\12\uffff\1\2\2\uffff\2\2\6\uffff\1\2\2\uffff\2\2\1\uffff\4\2\2\uffff\1\2\1\1\1\uffff\1\2\3\uffff\1\2\4\uffff\1\2\2\uffff\1\2\1\uffff\1\2\3\uffff\23\2\7\uffff\1\2\22\uffff\2\2\3\uffff\1\2\5\uffff\1\2\2\uffff\12\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_44 = DFA.unpackEncodedString(dfa_44s);
static final char[] dfa_45 = DFA.unpackEncodedStringToUnsignedChars(dfa_45s);
static final char[] dfa_46 = DFA.unpackEncodedStringToUnsignedChars(dfa_46s);
static final short[] dfa_47 = DFA.unpackEncodedString(dfa_47s);
static final short[] dfa_48 = DFA.unpackEncodedString(dfa_48s);
static final short[][] dfa_49 = unpackEncodedStringArray(dfa_49s);
class DFA229 extends DFA {
public DFA229(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 229;
this.eot = dfa_44;
this.eof = dfa_44;
this.min = dfa_45;
this.max = dfa_46;
this.accept = dfa_47;
this.special = dfa_48;
this.transition = dfa_49;
}
public String getDescription() {
return "8269:3: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) )";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA229_1 = input.LA(1);
int index229_1 = input.index();
input.rewind();
s = -1;
if ( (synpred6_InternalSARL()) ) {s = 59;}
else if ( (true) ) {s = 2;}
input.seek(index229_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 229, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_50s = "\1\4\7\0\64\uffff";
static final String dfa_51s = "\1\u0089\7\0\64\uffff";
static final String dfa_52s = "\10\uffff\1\2\62\uffff\1\1";
static final String dfa_53s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\64\uffff}>";
static final String[] dfa_54s = {
"\1\2\3\10\4\uffff\3\10\12\uffff\1\10\2\uffff\2\10\6\uffff\1\10\2\uffff\2\10\1\uffff\2\10\1\4\1\1\2\uffff\2\10\1\uffff\1\10\3\uffff\1\10\4\uffff\1\10\2\uffff\1\10\1\uffff\1\10\3\uffff\16\10\1\3\1\5\1\6\1\7\1\10\7\uffff\1\10\22\uffff\2\10\3\uffff\1\10\5\uffff\1\10\2\uffff\12\10",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final char[] dfa_50 = DFA.unpackEncodedStringToUnsignedChars(dfa_50s);
static final char[] dfa_51 = DFA.unpackEncodedStringToUnsignedChars(dfa_51s);
static final short[] dfa_52 = DFA.unpackEncodedString(dfa_52s);
static final short[] dfa_53 = DFA.unpackEncodedString(dfa_53s);
static final short[][] dfa_54 = unpackEncodedStringArray(dfa_54s);
class DFA228 extends DFA {
public DFA228(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 228;
this.eot = dfa_44;
this.eof = dfa_44;
this.min = dfa_50;
this.max = dfa_51;
this.accept = dfa_52;
this.special = dfa_53;
this.transition = dfa_54;
}
public String getDescription() {
return "8338:5: ( ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA228_1 = input.LA(1);
int index228_1 = input.index();
input.rewind();
s = -1;
if ( (synpred7_InternalSARL()) ) {s = 59;}
else if ( (true) ) {s = 8;}
input.seek(index228_1);
if ( s>=0 ) return s;
break;
case 1 :
int LA228_2 = input.LA(1);
int index228_2 = input.index();
input.rewind();
s = -1;
if ( (synpred7_InternalSARL()) ) {s = 59;}
else if ( (true) ) {s = 8;}
input.seek(index228_2);
if ( s>=0 ) return s;
break;
case 2 :
int LA228_3 = input.LA(1);
int index228_3 = input.index();
input.rewind();
s = -1;
if ( (synpred7_InternalSARL()) ) {s = 59;}
else if ( (true) ) {s = 8;}
input.seek(index228_3);
if ( s>=0 ) return s;
break;
case 3 :
int LA228_4 = input.LA(1);
int index228_4 = input.index();
input.rewind();
s = -1;
if ( (synpred7_InternalSARL()) ) {s = 59;}
else if ( (true) ) {s = 8;}
input.seek(index228_4);
if ( s>=0 ) return s;
break;
case 4 :
int LA228_5 = input.LA(1);
int index228_5 = input.index();
input.rewind();
s = -1;
if ( (synpred7_InternalSARL()) ) {s = 59;}
else if ( (true) ) {s = 8;}
input.seek(index228_5);
if ( s>=0 ) return s;
break;
case 5 :
int LA228_6 = input.LA(1);
int index228_6 = input.index();
input.rewind();
s = -1;
if ( (synpred7_InternalSARL()) ) {s = 59;}
else if ( (true) ) {s = 8;}
input.seek(index228_6);
if ( s>=0 ) return s;
break;
case 6 :
int LA228_7 = input.LA(1);
int index228_7 = input.index();
input.rewind();
s = -1;
if ( (synpred7_InternalSARL()) ) {s = 59;}
else if ( (true) ) {s = 8;}
input.seek(index228_7);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 228, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_55s = "\21\uffff";
static final String dfa_56s = "\1\4\6\50\1\uffff\1\4\2\uffff\6\50";
static final String dfa_57s = "\1\126\6\104\1\uffff\1\126\2\uffff\6\104";
static final String dfa_58s = "\7\uffff\1\3\1\uffff\1\2\1\1\6\uffff";
static final String dfa_59s = "\21\uffff}>";
static final String[] dfa_60s = {
"\1\1\47\uffff\1\3\4\uffff\1\7\21\uffff\1\7\17\uffff\1\2\1\4\1\5\1\6",
"\1\12\16\uffff\1\11\14\uffff\1\10",
"\1\12\16\uffff\1\11\14\uffff\1\10",
"\1\12\16\uffff\1\11\14\uffff\1\10",
"\1\12\16\uffff\1\11\14\uffff\1\10",
"\1\12\16\uffff\1\11\14\uffff\1\10",
"\1\12\16\uffff\1\11\14\uffff\1\10",
"",
"\1\13\47\uffff\1\15\46\uffff\1\14\1\16\1\17\1\20",
"",
"",
"\1\12\16\uffff\1\11\14\uffff\1\10",
"\1\12\16\uffff\1\11\14\uffff\1\10",
"\1\12\16\uffff\1\11\14\uffff\1\10",
"\1\12\16\uffff\1\11\14\uffff\1\10",
"\1\12\16\uffff\1\11\14\uffff\1\10",
"\1\12\16\uffff\1\11\14\uffff\1\10"
};
static final short[] dfa_55 = DFA.unpackEncodedString(dfa_55s);
static final char[] dfa_56 = DFA.unpackEncodedStringToUnsignedChars(dfa_56s);
static final char[] dfa_57 = DFA.unpackEncodedStringToUnsignedChars(dfa_57s);
static final short[] dfa_58 = DFA.unpackEncodedString(dfa_58s);
static final short[] dfa_59 = DFA.unpackEncodedString(dfa_59s);
static final short[][] dfa_60 = unpackEncodedStringArray(dfa_60s);
class DFA237 extends DFA {
public DFA237(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 237;
this.eot = dfa_55;
this.eof = dfa_55;
this.min = dfa_56;
this.max = dfa_57;
this.accept = dfa_58;
this.special = dfa_59;
this.transition = dfa_60;
}
public String getDescription() {
return "8610:2: ( (this_ParameterizedTypeReferenceWithTypeArgs_0= ruleParameterizedTypeReferenceWithTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | (this_TypeReferenceNoTypeArgs_3= ruleTypeReferenceNoTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )+ ) | this_XFunctionTypeRef_6= ruleXFunctionTypeRef )";
}
}
static final String dfa_61s = "\16\uffff";
static final String dfa_62s = "\2\uffff\2\7\10\uffff\2\10";
static final String dfa_63s = "\1\50\1\uffff\2\31\10\uffff\2\31";
static final String dfa_64s = "\1\171\1\uffff\1\136\1\157\10\uffff\1\136\1\145";
static final String dfa_65s = "\1\uffff\1\1\2\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\2\uffff";
static final String dfa_66s = "\16\uffff}>";
static final String[] dfa_67s = {
"\1\2\1\3\21\uffff\1\11\7\uffff\1\10\34\uffff\5\1\1\7\1\4\1\5\4\6\1\uffff\5\10\2\12\3\11\1\12\2\13",
"",
"\2\7\2\uffff\2\7\10\uffff\1\7\1\14\1\uffff\10\7\1\uffff\4\7\2\uffff\2\7\2\uffff\2\7\4\uffff\1\10\1\uffff\16\7\13\uffff\1\7",
"\2\7\2\uffff\2\7\10\uffff\1\7\1\uffff\1\15\5\7\1\uffff\2\7\1\uffff\4\7\2\uffff\2\7\2\uffff\2\7\6\uffff\16\7\13\uffff\1\7\6\uffff\1\1\11\uffff\1\10",
"",
"",
"",
"",
"",
"",
"",
"",
"\2\10\2\uffff\2\10\10\uffff\2\10\1\uffff\5\10\1\1\2\10\1\uffff\4\10\2\uffff\2\10\2\uffff\2\10\6\uffff\16\10\13\uffff\1\10",
"\2\10\2\uffff\2\10\10\uffff\1\10\1\uffff\6\10\1\uffff\2\10\1\uffff\4\10\2\uffff\2\10\2\uffff\2\10\6\uffff\16\10\13\uffff\1\10\6\uffff\1\1"
};
static final short[] dfa_61 = DFA.unpackEncodedString(dfa_61s);
static final short[] dfa_62 = DFA.unpackEncodedString(dfa_62s);
static final char[] dfa_63 = DFA.unpackEncodedStringToUnsignedChars(dfa_63s);
static final char[] dfa_64 = DFA.unpackEncodedStringToUnsignedChars(dfa_64s);
static final short[] dfa_65 = DFA.unpackEncodedString(dfa_65s);
static final short[] dfa_66 = DFA.unpackEncodedString(dfa_66s);
static final short[][] dfa_67 = unpackEncodedStringArray(dfa_67s);
class DFA243 extends DFA {
public DFA243(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 243;
this.eot = dfa_61;
this.eof = dfa_62;
this.min = dfa_63;
this.max = dfa_64;
this.accept = dfa_65;
this.special = dfa_66;
this.transition = dfa_67;
}
public String getDescription() {
return "8932:2: (this_OpMultiAssign_0= ruleOpMultiAssign | this_OpOr_1= ruleOpOr | this_OpAnd_2= ruleOpAnd | this_OpEquality_3= ruleOpEquality | this_OpCompare_4= ruleOpCompare | this_OpOther_5= ruleOpOther | this_OpMulti_6= ruleOpMulti | this_OpUnary_7= ruleOpUnary | this_OpPostfix_8= ruleOpPostfix )";
}
}
static final String dfa_68s = "\160\uffff";
static final String dfa_69s = "\1\2\157\uffff";
static final String dfa_70s = "\1\4\1\0\156\uffff";
static final String dfa_71s = "\1\u008b\1\0\156\uffff";
static final String dfa_72s = "\2\uffff\1\2\154\uffff\1\1";
static final String dfa_73s = "\1\uffff\1\0\156\uffff}>";
static final String[] dfa_74s = {
"\13\2\12\uffff\2\2\1\uffff\1\2\1\1\1\2\1\uffff\1\2\3\uffff\1\2\2\uffff\10\2\1\uffff\4\2\2\uffff\42\2\6\uffff\36\2\1\uffff\17\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_68 = DFA.unpackEncodedString(dfa_68s);
static final short[] dfa_69 = DFA.unpackEncodedString(dfa_69s);
static final char[] dfa_70 = DFA.unpackEncodedStringToUnsignedChars(dfa_70s);
static final char[] dfa_71 = DFA.unpackEncodedStringToUnsignedChars(dfa_71s);
static final short[] dfa_72 = DFA.unpackEncodedString(dfa_72s);
static final short[] dfa_73 = DFA.unpackEncodedString(dfa_73s);
static final short[][] dfa_74 = unpackEncodedStringArray(dfa_74s);
class DFA251 extends DFA {
public DFA251(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 251;
this.eot = dfa_68;
this.eof = dfa_69;
this.min = dfa_70;
this.max = dfa_71;
this.accept = dfa_72;
this.special = dfa_73;
this.transition = dfa_74;
}
public String getDescription() {
return "9493:3: ( ( ( ( () '{' ) )=> ( () otherlv_2= '{' ) ) ( (lv_members_3_0= ruleMember ) )* otherlv_4= '}' )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA251_1 = input.LA(1);
int index251_1 = input.index();
input.rewind();
s = -1;
if ( (synpred12_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 2;}
input.seek(index251_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 251, _s, input);
error(nvae);
throw nvae;
}
}
static final String[] dfa_75s = {
"\13\2\12\uffff\2\2\1\uffff\3\2\1\uffff\1\2\3\uffff\1\2\2\uffff\1\2\1\1\6\2\1\uffff\4\2\2\uffff\42\2\6\uffff\36\2\1\uffff\17\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[][] dfa_75 = unpackEncodedStringArray(dfa_75s);
class DFA253 extends DFA {
public DFA253(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 253;
this.eot = dfa_68;
this.eof = dfa_69;
this.min = dfa_70;
this.max = dfa_71;
this.accept = dfa_72;
this.special = dfa_73;
this.transition = dfa_75;
}
public String getDescription() {
return "9585:3: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA253_1 = input.LA(1);
int index253_1 = input.index();
input.rewind();
s = -1;
if ( (synpred13_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 2;}
input.seek(index253_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 253, _s, input);
error(nvae);
throw nvae;
}
}
static final String[] dfa_76s = {
"\13\2\12\uffff\2\2\1\uffff\3\2\1\uffff\1\2\3\uffff\1\2\2\uffff\10\2\1\uffff\1\2\1\1\2\2\2\uffff\42\2\6\uffff\36\2\1\uffff\17\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[][] dfa_76 = unpackEncodedStringArray(dfa_76s);
class DFA256 extends DFA {
public DFA256(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 256;
this.eot = dfa_68;
this.eof = dfa_69;
this.min = dfa_70;
this.max = dfa_71;
this.accept = dfa_72;
this.special = dfa_73;
this.transition = dfa_76;
}
public String getDescription() {
return "9642:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA256_1 = input.LA(1);
int index256_1 = input.index();
input.rewind();
s = -1;
if ( (synpred14_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 2;}
input.seek(index256_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 256, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_77s = "\41\uffff";
static final String dfa_78s = "\2\4\6\40\12\uffff\1\4\6\40\1\4\7\uffff";
static final String dfa_79s = "\1\u0089\1\173\6\174\12\uffff\1\u0089\6\174\1\173\7\uffff";
static final String dfa_80s = "\10\uffff\1\1\1\2\1\3\7\1\10\uffff\7\1";
static final String dfa_81s = "\1\14\1\0\1\13\1\11\1\5\1\3\1\7\1\15\13\uffff\1\16\1\4\1\10\1\2\1\6\1\12\1\1\7\uffff}>";
static final String[] dfa_82s = {
"\1\2\3\11\4\uffff\3\11\12\uffff\1\11\2\uffff\2\11\6\uffff\1\11\2\uffff\2\11\1\uffff\2\11\1\4\1\1\2\uffff\2\11\1\12\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\1\11\1\uffff\1\11\3\uffff\16\11\1\3\1\5\1\6\1\7\1\11\7\uffff\1\11\22\uffff\2\11\3\uffff\1\11\4\uffff\1\10\1\11\2\uffff\12\11",
"\1\13\33\uffff\1\11\7\uffff\2\11\2\uffff\1\15\2\uffff\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\16\uffff\1\14\1\16\1\17\1\20\11\uffff\27\11\1\uffff\4\11",
"\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"\1\23\3\11\4\uffff\3\11\12\uffff\1\11\2\uffff\2\11\6\uffff\1\11\2\uffff\2\11\1\uffff\2\11\1\24\1\31\2\uffff\2\11\1\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\1\11\1\uffff\1\11\3\uffff\16\11\1\25\1\26\1\27\1\30\1\11\7\uffff\1\11\22\uffff\2\11\3\uffff\1\11\5\uffff\1\11\2\uffff\12\11",
"\1\22\7\uffff\2\11\4\uffff\1\32\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\32\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\32\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\32\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\32\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\32\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\33\33\uffff\1\11\7\uffff\2\11\2\uffff\1\35\2\uffff\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\16\uffff\1\34\1\36\1\37\1\40\11\uffff\27\11\1\uffff\4\11",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_77 = DFA.unpackEncodedString(dfa_77s);
static final char[] dfa_78 = DFA.unpackEncodedStringToUnsignedChars(dfa_78s);
static final char[] dfa_79 = DFA.unpackEncodedStringToUnsignedChars(dfa_79s);
static final short[] dfa_80 = DFA.unpackEncodedString(dfa_80s);
static final short[] dfa_81 = DFA.unpackEncodedString(dfa_81s);
static final short[][] dfa_82 = unpackEncodedStringArray(dfa_82s);
class DFA255 extends DFA {
public DFA255(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 255;
this.eot = dfa_77;
this.eof = dfa_77;
this.min = dfa_78;
this.max = dfa_79;
this.accept = dfa_80;
this.special = dfa_81;
this.transition = dfa_82;
}
public String getDescription() {
return "9661:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA255_1 = input.LA(1);
int index255_1 = input.index();
input.rewind();
s = -1;
if ( (LA255_1==32||(LA255_1>=40 && LA255_1<=41)||LA255_1==47||(LA255_1>=49 && LA255_1<=50)||LA255_1==55||LA255_1==59||LA255_1==64||(LA255_1>=67 && LA255_1<=68)||(LA255_1>=96 && LA255_1<=118)||(LA255_1>=120 && LA255_1<=123)) ) {s = 9;}
else if ( (LA255_1==RULE_ID) && (synpred15_InternalSARL())) {s = 11;}
else if ( (LA255_1==83) && (synpred15_InternalSARL())) {s = 12;}
else if ( (LA255_1==44) && (synpred15_InternalSARL())) {s = 13;}
else if ( (LA255_1==84) && (synpred15_InternalSARL())) {s = 14;}
else if ( (LA255_1==85) && (synpred15_InternalSARL())) {s = 15;}
else if ( (LA255_1==86) && (synpred15_InternalSARL())) {s = 16;}
input.seek(index255_1);
if ( s>=0 ) return s;
break;
case 1 :
int LA255_25 = input.LA(1);
int index255_25 = input.index();
input.rewind();
s = -1;
if ( (LA255_25==32||(LA255_25>=40 && LA255_25<=41)||LA255_25==47||(LA255_25>=49 && LA255_25<=50)||LA255_25==55||LA255_25==59||LA255_25==64||(LA255_25>=67 && LA255_25<=68)||(LA255_25>=96 && LA255_25<=118)||(LA255_25>=120 && LA255_25<=123)) ) {s = 9;}
else if ( (LA255_25==RULE_ID) && (synpred15_InternalSARL())) {s = 27;}
else if ( (LA255_25==83) && (synpred15_InternalSARL())) {s = 28;}
else if ( (LA255_25==44) && (synpred15_InternalSARL())) {s = 29;}
else if ( (LA255_25==84) && (synpred15_InternalSARL())) {s = 30;}
else if ( (LA255_25==85) && (synpred15_InternalSARL())) {s = 31;}
else if ( (LA255_25==86) && (synpred15_InternalSARL())) {s = 32;}
input.seek(index255_25);
if ( s>=0 ) return s;
break;
case 2 :
int LA255_22 = input.LA(1);
int index255_22 = input.index();
input.rewind();
s = -1;
if ( ((LA255_22>=40 && LA255_22<=41)||LA255_22==47||(LA255_22>=49 && LA255_22<=50)||LA255_22==55||LA255_22==59||LA255_22==64||(LA255_22>=67 && LA255_22<=68)||(LA255_22>=96 && LA255_22<=118)||(LA255_22>=120 && LA255_22<=123)) ) {s = 9;}
else if ( (LA255_22==32) ) {s = 18;}
else if ( (LA255_22==46) && (synpred15_InternalSARL())) {s = 26;}
else if ( (LA255_22==124) && (synpred15_InternalSARL())) {s = 8;}
input.seek(index255_22);
if ( s>=0 ) return s;
break;
case 3 :
int LA255_5 = input.LA(1);
int index255_5 = input.index();
input.rewind();
s = -1;
if ( ((LA255_5>=40 && LA255_5<=41)||LA255_5==47||(LA255_5>=49 && LA255_5<=50)||LA255_5==55||LA255_5==59||LA255_5==64||(LA255_5>=67 && LA255_5<=68)||(LA255_5>=96 && LA255_5<=118)||(LA255_5>=120 && LA255_5<=123)) ) {s = 9;}
else if ( (LA255_5==32) ) {s = 18;}
else if ( (LA255_5==46) && (synpred15_InternalSARL())) {s = 17;}
else if ( (LA255_5==124) && (synpred15_InternalSARL())) {s = 8;}
input.seek(index255_5);
if ( s>=0 ) return s;
break;
case 4 :
int LA255_20 = input.LA(1);
int index255_20 = input.index();
input.rewind();
s = -1;
if ( ((LA255_20>=40 && LA255_20<=41)||LA255_20==47||(LA255_20>=49 && LA255_20<=50)||LA255_20==55||LA255_20==59||LA255_20==64||(LA255_20>=67 && LA255_20<=68)||(LA255_20>=96 && LA255_20<=118)||(LA255_20>=120 && LA255_20<=123)) ) {s = 9;}
else if ( (LA255_20==32) ) {s = 18;}
else if ( (LA255_20==46) && (synpred15_InternalSARL())) {s = 26;}
else if ( (LA255_20==124) && (synpred15_InternalSARL())) {s = 8;}
input.seek(index255_20);
if ( s>=0 ) return s;
break;
case 5 :
int LA255_4 = input.LA(1);
int index255_4 = input.index();
input.rewind();
s = -1;
if ( ((LA255_4>=40 && LA255_4<=41)||LA255_4==47||(LA255_4>=49 && LA255_4<=50)||LA255_4==55||LA255_4==59||LA255_4==64||(LA255_4>=67 && LA255_4<=68)||(LA255_4>=96 && LA255_4<=118)||(LA255_4>=120 && LA255_4<=123)) ) {s = 9;}
else if ( (LA255_4==46) && (synpred15_InternalSARL())) {s = 17;}
else if ( (LA255_4==32) ) {s = 18;}
else if ( (LA255_4==124) && (synpred15_InternalSARL())) {s = 8;}
input.seek(index255_4);
if ( s>=0 ) return s;
break;
case 6 :
int LA255_23 = input.LA(1);
int index255_23 = input.index();
input.rewind();
s = -1;
if ( (LA255_23==46) && (synpred15_InternalSARL())) {s = 26;}
else if ( (LA255_23==124) && (synpred15_InternalSARL())) {s = 8;}
else if ( (LA255_23==32) ) {s = 18;}
else if ( ((LA255_23>=40 && LA255_23<=41)||LA255_23==47||(LA255_23>=49 && LA255_23<=50)||LA255_23==55||LA255_23==59||LA255_23==64||(LA255_23>=67 && LA255_23<=68)||(LA255_23>=96 && LA255_23<=118)||(LA255_23>=120 && LA255_23<=123)) ) {s = 9;}
input.seek(index255_23);
if ( s>=0 ) return s;
break;
case 7 :
int LA255_6 = input.LA(1);
int index255_6 = input.index();
input.rewind();
s = -1;
if ( ((LA255_6>=40 && LA255_6<=41)||LA255_6==47||(LA255_6>=49 && LA255_6<=50)||LA255_6==55||LA255_6==59||LA255_6==64||(LA255_6>=67 && LA255_6<=68)||(LA255_6>=96 && LA255_6<=118)||(LA255_6>=120 && LA255_6<=123)) ) {s = 9;}
else if ( (LA255_6==46) && (synpred15_InternalSARL())) {s = 17;}
else if ( (LA255_6==32) ) {s = 18;}
else if ( (LA255_6==124) && (synpred15_InternalSARL())) {s = 8;}
input.seek(index255_6);
if ( s>=0 ) return s;
break;
case 8 :
int LA255_21 = input.LA(1);
int index255_21 = input.index();
input.rewind();
s = -1;
if ( ((LA255_21>=40 && LA255_21<=41)||LA255_21==47||(LA255_21>=49 && LA255_21<=50)||LA255_21==55||LA255_21==59||LA255_21==64||(LA255_21>=67 && LA255_21<=68)||(LA255_21>=96 && LA255_21<=118)||(LA255_21>=120 && LA255_21<=123)) ) {s = 9;}
else if ( (LA255_21==32) ) {s = 18;}
else if ( (LA255_21==46) && (synpred15_InternalSARL())) {s = 26;}
else if ( (LA255_21==124) && (synpred15_InternalSARL())) {s = 8;}
input.seek(index255_21);
if ( s>=0 ) return s;
break;
case 9 :
int LA255_3 = input.LA(1);
int index255_3 = input.index();
input.rewind();
s = -1;
if ( (LA255_3==46) && (synpred15_InternalSARL())) {s = 17;}
else if ( (LA255_3==32) ) {s = 18;}
else if ( (LA255_3==124) && (synpred15_InternalSARL())) {s = 8;}
else if ( ((LA255_3>=40 && LA255_3<=41)||LA255_3==47||(LA255_3>=49 && LA255_3<=50)||LA255_3==55||LA255_3==59||LA255_3==64||(LA255_3>=67 && LA255_3<=68)||(LA255_3>=96 && LA255_3<=118)||(LA255_3>=120 && LA255_3<=123)) ) {s = 9;}
input.seek(index255_3);
if ( s>=0 ) return s;
break;
case 10 :
int LA255_24 = input.LA(1);
int index255_24 = input.index();
input.rewind();
s = -1;
if ( ((LA255_24>=40 && LA255_24<=41)||LA255_24==47||(LA255_24>=49 && LA255_24<=50)||LA255_24==55||LA255_24==59||LA255_24==64||(LA255_24>=67 && LA255_24<=68)||(LA255_24>=96 && LA255_24<=118)||(LA255_24>=120 && LA255_24<=123)) ) {s = 9;}
else if ( (LA255_24==46) && (synpred15_InternalSARL())) {s = 26;}
else if ( (LA255_24==124) && (synpred15_InternalSARL())) {s = 8;}
else if ( (LA255_24==32) ) {s = 18;}
input.seek(index255_24);
if ( s>=0 ) return s;
break;
case 11 :
int LA255_2 = input.LA(1);
int index255_2 = input.index();
input.rewind();
s = -1;
if ( (LA255_2==46) && (synpred15_InternalSARL())) {s = 17;}
else if ( (LA255_2==32) ) {s = 18;}
else if ( (LA255_2==124) && (synpred15_InternalSARL())) {s = 8;}
else if ( ((LA255_2>=40 && LA255_2<=41)||LA255_2==47||(LA255_2>=49 && LA255_2<=50)||LA255_2==55||LA255_2==59||LA255_2==64||(LA255_2>=67 && LA255_2<=68)||(LA255_2>=96 && LA255_2<=118)||(LA255_2>=120 && LA255_2<=123)) ) {s = 9;}
input.seek(index255_2);
if ( s>=0 ) return s;
break;
case 12 :
int LA255_0 = input.LA(1);
int index255_0 = input.index();
input.rewind();
s = -1;
if ( (LA255_0==45) ) {s = 1;}
else if ( (LA255_0==RULE_ID) ) {s = 2;}
else if ( (LA255_0==83) ) {s = 3;}
else if ( (LA255_0==44) ) {s = 4;}
else if ( (LA255_0==84) ) {s = 5;}
else if ( (LA255_0==85) ) {s = 6;}
else if ( (LA255_0==86) ) {s = 7;}
else if ( (LA255_0==124) && (synpred15_InternalSARL())) {s = 8;}
else if ( ((LA255_0>=RULE_STRING && LA255_0<=RULE_RICH_TEXT_START)||(LA255_0>=RULE_HEX && LA255_0<=RULE_DECIMAL)||LA255_0==25||(LA255_0>=28 && LA255_0<=29)||LA255_0==36||(LA255_0>=39 && LA255_0<=40)||(LA255_0>=42 && LA255_0<=43)||(LA255_0>=48 && LA255_0<=49)||LA255_0==51||LA255_0==55||LA255_0==60||LA255_0==63||LA255_0==65||(LA255_0>=69 && LA255_0<=82)||LA255_0==87||LA255_0==95||(LA255_0>=114 && LA255_0<=115)||LA255_0==119||LA255_0==125||(LA255_0>=128 && LA255_0<=137)) ) {s = 9;}
else if ( (LA255_0==50) ) {s = 10;}
input.seek(index255_0);
if ( s>=0 ) return s;
break;
case 13 :
int LA255_7 = input.LA(1);
int index255_7 = input.index();
input.rewind();
s = -1;
if ( ((LA255_7>=40 && LA255_7<=41)||LA255_7==47||(LA255_7>=49 && LA255_7<=50)||LA255_7==55||LA255_7==59||LA255_7==64||(LA255_7>=67 && LA255_7<=68)||(LA255_7>=96 && LA255_7<=118)||(LA255_7>=120 && LA255_7<=123)) ) {s = 9;}
else if ( (LA255_7==32) ) {s = 18;}
else if ( (LA255_7==46) && (synpred15_InternalSARL())) {s = 17;}
else if ( (LA255_7==124) && (synpred15_InternalSARL())) {s = 8;}
input.seek(index255_7);
if ( s>=0 ) return s;
break;
case 14 :
int LA255_19 = input.LA(1);
int index255_19 = input.index();
input.rewind();
s = -1;
if ( ((LA255_19>=40 && LA255_19<=41)||LA255_19==47||(LA255_19>=49 && LA255_19<=50)||LA255_19==55||LA255_19==59||LA255_19==64||(LA255_19>=67 && LA255_19<=68)||(LA255_19>=96 && LA255_19<=118)||(LA255_19>=120 && LA255_19<=123)) ) {s = 9;}
else if ( (LA255_19==32) ) {s = 18;}
else if ( (LA255_19==46) && (synpred15_InternalSARL())) {s = 26;}
else if ( (LA255_19==124) && (synpred15_InternalSARL())) {s = 8;}
input.seek(index255_19);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 255, _s, input);
error(nvae);
throw nvae;
}
}
static final String[] dfa_83s = {
"\13\2\12\uffff\2\2\1\uffff\3\2\1\uffff\1\2\3\uffff\1\2\2\uffff\10\2\1\uffff\4\2\2\uffff\1\2\1\1\40\2\6\uffff\36\2\1\uffff\17\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[][] dfa_83 = unpackEncodedStringArray(dfa_83s);
class DFA257 extends DFA {
public DFA257(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 257;
this.eot = dfa_68;
this.eof = dfa_69;
this.min = dfa_70;
this.max = dfa_71;
this.accept = dfa_72;
this.special = dfa_73;
this.transition = dfa_83;
}
public String getDescription() {
return "9759:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA257_1 = input.LA(1);
int index257_1 = input.index();
input.rewind();
s = -1;
if ( (synpred16_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 2;}
input.seek(index257_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 257, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_84s = "\76\uffff";
static final String dfa_85s = "\1\4\6\0\67\uffff";
static final String dfa_86s = "\1\u0089\6\0\67\uffff";
static final String dfa_87s = "\7\uffff\1\2\64\uffff\1\3\1\1";
static final String dfa_88s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\67\uffff}>";
static final String[] dfa_89s = {
"\1\1\3\7\4\uffff\3\7\12\uffff\1\7\2\uffff\2\7\6\uffff\1\7\2\uffff\2\7\1\uffff\2\7\1\3\1\7\2\uffff\2\7\1\74\1\7\3\uffff\1\7\4\uffff\1\7\2\uffff\1\7\1\uffff\1\7\3\uffff\16\7\1\2\1\4\1\5\1\6\1\7\6\uffff\2\7\22\uffff\2\7\3\uffff\1\7\5\uffff\1\7\2\uffff\12\7",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_84 = DFA.unpackEncodedString(dfa_84s);
static final char[] dfa_85 = DFA.unpackEncodedStringToUnsignedChars(dfa_85s);
static final char[] dfa_86 = DFA.unpackEncodedStringToUnsignedChars(dfa_86s);
static final short[] dfa_87 = DFA.unpackEncodedString(dfa_87s);
static final short[] dfa_88 = DFA.unpackEncodedString(dfa_88s);
static final short[][] dfa_89 = unpackEncodedStringArray(dfa_89s);
class DFA274 extends DFA {
public DFA274(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 274;
this.eot = dfa_84;
this.eof = dfa_84;
this.min = dfa_85;
this.max = dfa_86;
this.accept = dfa_87;
this.special = dfa_88;
this.transition = dfa_89;
}
public String getDescription() {
return "10762:4: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA274_1 = input.LA(1);
int index274_1 = input.index();
input.rewind();
s = -1;
if ( (synpred18_InternalSARL()) ) {s = 61;}
else if ( (true) ) {s = 7;}
input.seek(index274_1);
if ( s>=0 ) return s;
break;
case 1 :
int LA274_2 = input.LA(1);
int index274_2 = input.index();
input.rewind();
s = -1;
if ( (synpred18_InternalSARL()) ) {s = 61;}
else if ( (true) ) {s = 7;}
input.seek(index274_2);
if ( s>=0 ) return s;
break;
case 2 :
int LA274_3 = input.LA(1);
int index274_3 = input.index();
input.rewind();
s = -1;
if ( (synpred18_InternalSARL()) ) {s = 61;}
else if ( (true) ) {s = 7;}
input.seek(index274_3);
if ( s>=0 ) return s;
break;
case 3 :
int LA274_4 = input.LA(1);
int index274_4 = input.index();
input.rewind();
s = -1;
if ( (synpred18_InternalSARL()) ) {s = 61;}
else if ( (true) ) {s = 7;}
input.seek(index274_4);
if ( s>=0 ) return s;
break;
case 4 :
int LA274_5 = input.LA(1);
int index274_5 = input.index();
input.rewind();
s = -1;
if ( (synpred18_InternalSARL()) ) {s = 61;}
else if ( (true) ) {s = 7;}
input.seek(index274_5);
if ( s>=0 ) return s;
break;
case 5 :
int LA274_6 = input.LA(1);
int index274_6 = input.index();
input.rewind();
s = -1;
if ( (synpred18_InternalSARL()) ) {s = 61;}
else if ( (true) ) {s = 7;}
input.seek(index274_6);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 274, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_90s = "\75\uffff";
static final String dfa_91s = "\1\4\1\0\73\uffff";
static final String dfa_92s = "\1\u0089\1\0\73\uffff";
static final String dfa_93s = "\2\uffff\1\2\71\uffff\1\1";
static final String dfa_94s = "\1\uffff\1\0\73\uffff}>";
static final String[] dfa_95s = {
"\4\2\4\uffff\3\2\12\uffff\1\2\2\uffff\2\2\6\uffff\1\2\2\uffff\2\2\1\uffff\4\2\2\uffff\2\2\1\uffff\1\2\3\uffff\1\2\4\uffff\1\2\2\uffff\1\2\1\uffff\1\2\3\uffff\23\2\6\uffff\1\2\1\1\22\uffff\2\2\3\uffff\1\2\5\uffff\1\2\2\uffff\12\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_90 = DFA.unpackEncodedString(dfa_90s);
static final char[] dfa_91 = DFA.unpackEncodedStringToUnsignedChars(dfa_91s);
static final char[] dfa_92 = DFA.unpackEncodedStringToUnsignedChars(dfa_92s);
static final short[] dfa_93 = DFA.unpackEncodedString(dfa_93s);
static final short[] dfa_94 = DFA.unpackEncodedString(dfa_94s);
static final short[][] dfa_95 = unpackEncodedStringArray(dfa_95s);
class DFA280 extends DFA {
public DFA280(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 280;
this.eot = dfa_90;
this.eof = dfa_90;
this.min = dfa_91;
this.max = dfa_92;
this.accept = dfa_93;
this.special = dfa_94;
this.transition = dfa_95;
}
public String getDescription() {
return "10942:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) )";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA280_1 = input.LA(1);
int index280_1 = input.index();
input.rewind();
s = -1;
if ( (synpred21_InternalSARL()) ) {s = 60;}
else if ( (true) ) {s = 2;}
input.seek(index280_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 280, _s, input);
error(nvae);
throw nvae;
}
}
class DFA283 extends DFA {
public DFA283(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 283;
this.eot = dfa_90;
this.eof = dfa_90;
this.min = dfa_91;
this.max = dfa_92;
this.accept = dfa_93;
this.special = dfa_94;
this.transition = dfa_95;
}
public String getDescription() {
return "11084:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression )";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA283_1 = input.LA(1);
int index283_1 = input.index();
input.rewind();
s = -1;
if ( (synpred22_InternalSARL()) ) {s = 60;}
else if ( (true) ) {s = 2;}
input.seek(index283_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 283, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_96s = "\40\uffff";
static final String dfa_97s = "\1\uffff\35\36\2\uffff";
static final String dfa_98s = "\36\4\2\uffff";
static final String dfa_99s = "\1\u0089\35\u008b\2\uffff";
static final String dfa_100s = "\36\uffff\1\2\1\1";
static final String dfa_101s = "\40\uffff}>";
static final String[] dfa_102s = {
"\1\1\3\36\4\uffff\3\36\12\uffff\1\17\2\uffff\1\11\1\36\6\uffff\1\13\2\uffff\1\4\1\36\1\uffff\1\15\1\10\1\3\1\35\2\uffff\2\36\1\uffff\1\24\3\uffff\1\36\4\uffff\1\36\2\uffff\1\36\1\uffff\1\36\3\uffff\1\20\1\21\1\22\1\2\1\23\1\7\1\12\1\25\1\26\1\27\1\30\1\31\1\6\1\16\1\5\1\32\1\33\1\34\1\14\7\uffff\1\36\22\uffff\2\36\3\uffff\1\36\5\uffff\1\36\2\uffff\12\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36",
"",
""
};
static final short[] dfa_96 = DFA.unpackEncodedString(dfa_96s);
static final short[] dfa_97 = DFA.unpackEncodedString(dfa_97s);
static final char[] dfa_98 = DFA.unpackEncodedStringToUnsignedChars(dfa_98s);
static final char[] dfa_99 = DFA.unpackEncodedStringToUnsignedChars(dfa_99s);
static final short[] dfa_100 = DFA.unpackEncodedString(dfa_100s);
static final short[] dfa_101 = DFA.unpackEncodedString(dfa_101s);
static final short[][] dfa_102 = unpackEncodedStringArray(dfa_102s);
class DFA286 extends DFA {
public DFA286(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 286;
this.eot = dfa_96;
this.eof = dfa_97;
this.min = dfa_98;
this.max = dfa_99;
this.accept = dfa_100;
this.special = dfa_101;
this.transition = dfa_102;
}
public String getDescription() {
return "11251:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )";
}
}
static final String dfa_103s = "\12\uffff";
static final String dfa_104s = "\1\10\11\uffff";
static final String dfa_105s = "\1\4\7\0\2\uffff";
static final String dfa_106s = "\1\u008b\7\0\2\uffff";
static final String dfa_107s = "\10\uffff\1\2\1\1";
static final String dfa_108s = "\1\uffff\1\2\1\3\1\4\1\5\1\6\1\0\1\1\2\uffff}>";
static final String[] dfa_109s = {
"\13\10\12\uffff\2\10\1\uffff\3\10\1\uffff\1\10\3\uffff\1\10\2\uffff\1\10\1\6\1\7\5\10\1\uffff\4\10\2\uffff\42\10\6\uffff\2\10\1\1\1\2\1\3\1\4\1\5\27\10\1\uffff\17\10",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
""
};
static final short[] dfa_103 = DFA.unpackEncodedString(dfa_103s);
static final short[] dfa_104 = DFA.unpackEncodedString(dfa_104s);
static final char[] dfa_105 = DFA.unpackEncodedStringToUnsignedChars(dfa_105s);
static final char[] dfa_106 = DFA.unpackEncodedStringToUnsignedChars(dfa_106s);
static final short[] dfa_107 = DFA.unpackEncodedString(dfa_107s);
static final short[] dfa_108 = DFA.unpackEncodedString(dfa_108s);
static final short[][] dfa_109 = unpackEncodedStringArray(dfa_109s);
class DFA285 extends DFA {
public DFA285(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 285;
this.eot = dfa_103;
this.eof = dfa_104;
this.min = dfa_105;
this.max = dfa_106;
this.accept = dfa_107;
this.special = dfa_108;
this.transition = dfa_109;
}
public String getDescription() {
return "11313:4: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA285_6 = input.LA(1);
int index285_6 = input.index();
input.rewind();
s = -1;
if ( (synpred23_InternalSARL()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index285_6);
if ( s>=0 ) return s;
break;
case 1 :
int LA285_7 = input.LA(1);
int index285_7 = input.index();
input.rewind();
s = -1;
if ( (synpred23_InternalSARL()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index285_7);
if ( s>=0 ) return s;
break;
case 2 :
int LA285_1 = input.LA(1);
int index285_1 = input.index();
input.rewind();
s = -1;
if ( (synpred23_InternalSARL()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index285_1);
if ( s>=0 ) return s;
break;
case 3 :
int LA285_2 = input.LA(1);
int index285_2 = input.index();
input.rewind();
s = -1;
if ( (synpred23_InternalSARL()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index285_2);
if ( s>=0 ) return s;
break;
case 4 :
int LA285_3 = input.LA(1);
int index285_3 = input.index();
input.rewind();
s = -1;
if ( (synpred23_InternalSARL()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index285_3);
if ( s>=0 ) return s;
break;
case 5 :
int LA285_4 = input.LA(1);
int index285_4 = input.index();
input.rewind();
s = -1;
if ( (synpred23_InternalSARL()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index285_4);
if ( s>=0 ) return s;
break;
case 6 :
int LA285_5 = input.LA(1);
int index285_5 = input.index();
input.rewind();
s = -1;
if ( (synpred23_InternalSARL()) ) {s = 9;}
else if ( (true) ) {s = 8;}
input.seek(index285_5);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 285, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_110s = "\13\uffff";
static final String dfa_111s = "\1\1\12\uffff";
static final String dfa_112s = "\1\4\1\uffff\10\0\1\uffff";
static final String dfa_113s = "\1\u008b\1\uffff\10\0\1\uffff";
static final String dfa_114s = "\1\uffff\1\2\10\uffff\1\1";
static final String dfa_115s = "\2\uffff\1\3\1\6\1\4\1\5\1\7\1\2\1\0\1\1\1\uffff}>";
static final String[] dfa_116s = {
"\13\1\12\uffff\2\1\1\uffff\3\1\1\uffff\1\1\3\uffff\1\1\2\uffff\1\1\1\2\1\3\5\1\1\uffff\4\1\2\uffff\15\1\1\7\24\1\6\uffff\17\1\1\4\1\5\1\6\1\10\1\11\12\1\1\uffff\17\1",
"",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
""
};
static final short[] dfa_110 = DFA.unpackEncodedString(dfa_110s);
static final short[] dfa_111 = DFA.unpackEncodedString(dfa_111s);
static final char[] dfa_112 = DFA.unpackEncodedStringToUnsignedChars(dfa_112s);
static final char[] dfa_113 = DFA.unpackEncodedStringToUnsignedChars(dfa_113s);
static final short[] dfa_114 = DFA.unpackEncodedString(dfa_114s);
static final short[] dfa_115 = DFA.unpackEncodedString(dfa_115s);
static final short[][] dfa_116 = unpackEncodedStringArray(dfa_116s);
class DFA295 extends DFA {
public DFA295(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 295;
this.eot = dfa_110;
this.eof = dfa_111;
this.min = dfa_112;
this.max = dfa_113;
this.accept = dfa_114;
this.special = dfa_115;
this.transition = dfa_116;
}
public String getDescription() {
return "()* loopback of 12027:3: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA295_8 = input.LA(1);
int index295_8 = input.index();
input.rewind();
s = -1;
if ( (synpred29_InternalSARL()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index295_8);
if ( s>=0 ) return s;
break;
case 1 :
int LA295_9 = input.LA(1);
int index295_9 = input.index();
input.rewind();
s = -1;
if ( (synpred29_InternalSARL()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index295_9);
if ( s>=0 ) return s;
break;
case 2 :
int LA295_7 = input.LA(1);
int index295_7 = input.index();
input.rewind();
s = -1;
if ( (synpred29_InternalSARL()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index295_7);
if ( s>=0 ) return s;
break;
case 3 :
int LA295_2 = input.LA(1);
int index295_2 = input.index();
input.rewind();
s = -1;
if ( (synpred29_InternalSARL()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index295_2);
if ( s>=0 ) return s;
break;
case 4 :
int LA295_4 = input.LA(1);
int index295_4 = input.index();
input.rewind();
s = -1;
if ( (synpred29_InternalSARL()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index295_4);
if ( s>=0 ) return s;
break;
case 5 :
int LA295_5 = input.LA(1);
int index295_5 = input.index();
input.rewind();
s = -1;
if ( (synpred29_InternalSARL()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index295_5);
if ( s>=0 ) return s;
break;
case 6 :
int LA295_3 = input.LA(1);
int index295_3 = input.index();
input.rewind();
s = -1;
if ( (synpred29_InternalSARL()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index295_3);
if ( s>=0 ) return s;
break;
case 7 :
int LA295_6 = input.LA(1);
int index295_6 = input.index();
input.rewind();
s = -1;
if ( (synpred29_InternalSARL()) ) {s = 10;}
else if ( (true) ) {s = 1;}
input.seek(index295_6);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 295, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_117s = "\1\50\2\uffff\1\51\7\uffff";
static final String dfa_118s = "\1\161\2\uffff\1\157\7\uffff";
static final String dfa_119s = "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\6\1\3";
static final String dfa_120s = "\13\uffff}>";
static final String[] dfa_121s = {
"\1\6\1\3\31\uffff\1\5\51\uffff\1\1\1\2\1\4\1\7\1\10",
"",
"",
"\1\11\105\uffff\1\12",
"",
"",
"",
"",
"",
"",
""
};
static final char[] dfa_117 = DFA.unpackEncodedStringToUnsignedChars(dfa_117s);
static final char[] dfa_118 = DFA.unpackEncodedStringToUnsignedChars(dfa_118s);
static final short[] dfa_119 = DFA.unpackEncodedString(dfa_119s);
static final short[] dfa_120 = DFA.unpackEncodedString(dfa_120s);
static final short[][] dfa_121 = unpackEncodedStringArray(dfa_121s);
class DFA298 extends DFA {
public DFA298(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 298;
this.eot = dfa_110;
this.eof = dfa_110;
this.min = dfa_117;
this.max = dfa_118;
this.accept = dfa_119;
this.special = dfa_120;
this.transition = dfa_121;
}
public String getDescription() {
return "12103:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )";
}
}
class DFA314 extends DFA {
public DFA314(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 314;
this.eot = dfa_68;
this.eof = dfa_69;
this.min = dfa_70;
this.max = dfa_71;
this.accept = dfa_72;
this.special = dfa_73;
this.transition = dfa_76;
}
public String getDescription() {
return "13004:5: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA314_1 = input.LA(1);
int index314_1 = input.index();
input.rewind();
s = -1;
if ( (synpred38_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 2;}
input.seek(index314_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 314, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_122s = "\2\4\6\40\12\uffff\2\4\6\40\7\uffff";
static final String dfa_123s = "\1\u0089\1\173\6\174\12\uffff\1\u0089\1\173\6\174\7\uffff";
static final String dfa_124s = "\1\16\1\13\1\10\1\6\1\1\1\15\1\5\1\12\13\uffff\1\2\1\0\1\11\1\4\1\3\1\7\1\14\7\uffff}>";
static final String[] dfa_125s = {
"\1\2\3\11\4\uffff\3\11\12\uffff\1\11\2\uffff\2\11\6\uffff\1\11\2\uffff\2\11\1\uffff\2\11\1\4\1\1\2\uffff\2\11\1\12\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\1\11\1\uffff\1\11\3\uffff\16\11\1\3\1\5\1\6\1\7\1\11\7\uffff\1\11\22\uffff\2\11\3\uffff\1\11\4\uffff\1\10\1\11\2\uffff\12\11",
"\1\13\33\uffff\1\11\7\uffff\2\11\2\uffff\1\15\2\uffff\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\16\uffff\1\14\1\16\1\17\1\20\11\uffff\27\11\1\uffff\4\11",
"\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"\1\24\3\11\4\uffff\3\11\12\uffff\1\11\2\uffff\2\11\6\uffff\1\11\2\uffff\2\11\1\uffff\2\11\1\26\1\23\2\uffff\2\11\1\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\1\11\1\uffff\1\11\3\uffff\16\11\1\25\1\27\1\30\1\31\1\11\7\uffff\1\11\22\uffff\2\11\3\uffff\1\11\5\uffff\1\11\2\uffff\12\11",
"\1\32\33\uffff\1\11\7\uffff\2\11\2\uffff\1\34\2\uffff\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\16\uffff\1\33\1\35\1\36\1\37\11\uffff\27\11\1\uffff\4\11",
"\1\22\7\uffff\2\11\4\uffff\1\40\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\40\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\40\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\40\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\40\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"\1\22\7\uffff\2\11\4\uffff\1\40\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10",
"",
"",
"",
"",
"",
"",
""
};
static final char[] dfa_122 = DFA.unpackEncodedStringToUnsignedChars(dfa_122s);
static final char[] dfa_123 = DFA.unpackEncodedStringToUnsignedChars(dfa_123s);
static final short[] dfa_124 = DFA.unpackEncodedString(dfa_124s);
static final short[][] dfa_125 = unpackEncodedStringArray(dfa_125s);
class DFA313 extends DFA {
public DFA313(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 313;
this.eot = dfa_77;
this.eof = dfa_77;
this.min = dfa_122;
this.max = dfa_123;
this.accept = dfa_80;
this.special = dfa_124;
this.transition = dfa_125;
}
public String getDescription() {
return "13023:6: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA313_20 = input.LA(1);
int index313_20 = input.index();
input.rewind();
s = -1;
if ( (LA313_20==46) && (synpred39_InternalSARL())) {s = 32;}
else if ( (LA313_20==124) && (synpred39_InternalSARL())) {s = 8;}
else if ( (LA313_20==32) ) {s = 18;}
else if ( ((LA313_20>=40 && LA313_20<=41)||LA313_20==47||(LA313_20>=49 && LA313_20<=50)||LA313_20==55||LA313_20==59||LA313_20==64||(LA313_20>=67 && LA313_20<=68)||(LA313_20>=96 && LA313_20<=118)||(LA313_20>=120 && LA313_20<=123)) ) {s = 9;}
input.seek(index313_20);
if ( s>=0 ) return s;
break;
case 1 :
int LA313_4 = input.LA(1);
int index313_4 = input.index();
input.rewind();
s = -1;
if ( (LA313_4==46) && (synpred39_InternalSARL())) {s = 17;}
else if ( (LA313_4==32) ) {s = 18;}
else if ( (LA313_4==124) && (synpred39_InternalSARL())) {s = 8;}
else if ( ((LA313_4>=40 && LA313_4<=41)||LA313_4==47||(LA313_4>=49 && LA313_4<=50)||LA313_4==55||LA313_4==59||LA313_4==64||(LA313_4>=67 && LA313_4<=68)||(LA313_4>=96 && LA313_4<=118)||(LA313_4>=120 && LA313_4<=123)) ) {s = 9;}
input.seek(index313_4);
if ( s>=0 ) return s;
break;
case 2 :
int LA313_19 = input.LA(1);
int index313_19 = input.index();
input.rewind();
s = -1;
if ( (LA313_19==RULE_ID) && (synpred39_InternalSARL())) {s = 26;}
else if ( (LA313_19==83) && (synpred39_InternalSARL())) {s = 27;}
else if ( (LA313_19==44) && (synpred39_InternalSARL())) {s = 28;}
else if ( (LA313_19==84) && (synpred39_InternalSARL())) {s = 29;}
else if ( (LA313_19==85) && (synpred39_InternalSARL())) {s = 30;}
else if ( (LA313_19==86) && (synpred39_InternalSARL())) {s = 31;}
else if ( (LA313_19==32||(LA313_19>=40 && LA313_19<=41)||LA313_19==47||(LA313_19>=49 && LA313_19<=50)||LA313_19==55||LA313_19==59||LA313_19==64||(LA313_19>=67 && LA313_19<=68)||(LA313_19>=96 && LA313_19<=118)||(LA313_19>=120 && LA313_19<=123)) ) {s = 9;}
input.seek(index313_19);
if ( s>=0 ) return s;
break;
case 3 :
int LA313_23 = input.LA(1);
int index313_23 = input.index();
input.rewind();
s = -1;
if ( (LA313_23==46) && (synpred39_InternalSARL())) {s = 32;}
else if ( (LA313_23==124) && (synpred39_InternalSARL())) {s = 8;}
else if ( (LA313_23==32) ) {s = 18;}
else if ( ((LA313_23>=40 && LA313_23<=41)||LA313_23==47||(LA313_23>=49 && LA313_23<=50)||LA313_23==55||LA313_23==59||LA313_23==64||(LA313_23>=67 && LA313_23<=68)||(LA313_23>=96 && LA313_23<=118)||(LA313_23>=120 && LA313_23<=123)) ) {s = 9;}
input.seek(index313_23);
if ( s>=0 ) return s;
break;
case 4 :
int LA313_22 = input.LA(1);
int index313_22 = input.index();
input.rewind();
s = -1;
if ( ((LA313_22>=40 && LA313_22<=41)||LA313_22==47||(LA313_22>=49 && LA313_22<=50)||LA313_22==55||LA313_22==59||LA313_22==64||(LA313_22>=67 && LA313_22<=68)||(LA313_22>=96 && LA313_22<=118)||(LA313_22>=120 && LA313_22<=123)) ) {s = 9;}
else if ( (LA313_22==32) ) {s = 18;}
else if ( (LA313_22==46) && (synpred39_InternalSARL())) {s = 32;}
else if ( (LA313_22==124) && (synpred39_InternalSARL())) {s = 8;}
input.seek(index313_22);
if ( s>=0 ) return s;
break;
case 5 :
int LA313_6 = input.LA(1);
int index313_6 = input.index();
input.rewind();
s = -1;
if ( ((LA313_6>=40 && LA313_6<=41)||LA313_6==47||(LA313_6>=49 && LA313_6<=50)||LA313_6==55||LA313_6==59||LA313_6==64||(LA313_6>=67 && LA313_6<=68)||(LA313_6>=96 && LA313_6<=118)||(LA313_6>=120 && LA313_6<=123)) ) {s = 9;}
else if ( (LA313_6==32) ) {s = 18;}
else if ( (LA313_6==46) && (synpred39_InternalSARL())) {s = 17;}
else if ( (LA313_6==124) && (synpred39_InternalSARL())) {s = 8;}
input.seek(index313_6);
if ( s>=0 ) return s;
break;
case 6 :
int LA313_3 = input.LA(1);
int index313_3 = input.index();
input.rewind();
s = -1;
if ( ((LA313_3>=40 && LA313_3<=41)||LA313_3==47||(LA313_3>=49 && LA313_3<=50)||LA313_3==55||LA313_3==59||LA313_3==64||(LA313_3>=67 && LA313_3<=68)||(LA313_3>=96 && LA313_3<=118)||(LA313_3>=120 && LA313_3<=123)) ) {s = 9;}
else if ( (LA313_3==32) ) {s = 18;}
else if ( (LA313_3==46) && (synpred39_InternalSARL())) {s = 17;}
else if ( (LA313_3==124) && (synpred39_InternalSARL())) {s = 8;}
input.seek(index313_3);
if ( s>=0 ) return s;
break;
case 7 :
int LA313_24 = input.LA(1);
int index313_24 = input.index();
input.rewind();
s = -1;
if ( ((LA313_24>=40 && LA313_24<=41)||LA313_24==47||(LA313_24>=49 && LA313_24<=50)||LA313_24==55||LA313_24==59||LA313_24==64||(LA313_24>=67 && LA313_24<=68)||(LA313_24>=96 && LA313_24<=118)||(LA313_24>=120 && LA313_24<=123)) ) {s = 9;}
else if ( (LA313_24==32) ) {s = 18;}
else if ( (LA313_24==46) && (synpred39_InternalSARL())) {s = 32;}
else if ( (LA313_24==124) && (synpred39_InternalSARL())) {s = 8;}
input.seek(index313_24);
if ( s>=0 ) return s;
break;
case 8 :
int LA313_2 = input.LA(1);
int index313_2 = input.index();
input.rewind();
s = -1;
if ( (LA313_2==46) && (synpred39_InternalSARL())) {s = 17;}
else if ( (LA313_2==32) ) {s = 18;}
else if ( (LA313_2==124) && (synpred39_InternalSARL())) {s = 8;}
else if ( ((LA313_2>=40 && LA313_2<=41)||LA313_2==47||(LA313_2>=49 && LA313_2<=50)||LA313_2==55||LA313_2==59||LA313_2==64||(LA313_2>=67 && LA313_2<=68)||(LA313_2>=96 && LA313_2<=118)||(LA313_2>=120 && LA313_2<=123)) ) {s = 9;}
input.seek(index313_2);
if ( s>=0 ) return s;
break;
case 9 :
int LA313_21 = input.LA(1);
int index313_21 = input.index();
input.rewind();
s = -1;
if ( (LA313_21==46) && (synpred39_InternalSARL())) {s = 32;}
else if ( (LA313_21==124) && (synpred39_InternalSARL())) {s = 8;}
else if ( (LA313_21==32) ) {s = 18;}
else if ( ((LA313_21>=40 && LA313_21<=41)||LA313_21==47||(LA313_21>=49 && LA313_21<=50)||LA313_21==55||LA313_21==59||LA313_21==64||(LA313_21>=67 && LA313_21<=68)||(LA313_21>=96 && LA313_21<=118)||(LA313_21>=120 && LA313_21<=123)) ) {s = 9;}
input.seek(index313_21);
if ( s>=0 ) return s;
break;
case 10 :
int LA313_7 = input.LA(1);
int index313_7 = input.index();
input.rewind();
s = -1;
if ( ((LA313_7>=40 && LA313_7<=41)||LA313_7==47||(LA313_7>=49 && LA313_7<=50)||LA313_7==55||LA313_7==59||LA313_7==64||(LA313_7>=67 && LA313_7<=68)||(LA313_7>=96 && LA313_7<=118)||(LA313_7>=120 && LA313_7<=123)) ) {s = 9;}
else if ( (LA313_7==32) ) {s = 18;}
else if ( (LA313_7==46) && (synpred39_InternalSARL())) {s = 17;}
else if ( (LA313_7==124) && (synpred39_InternalSARL())) {s = 8;}
input.seek(index313_7);
if ( s>=0 ) return s;
break;
case 11 :
int LA313_1 = input.LA(1);
int index313_1 = input.index();
input.rewind();
s = -1;
if ( (LA313_1==32||(LA313_1>=40 && LA313_1<=41)||LA313_1==47||(LA313_1>=49 && LA313_1<=50)||LA313_1==55||LA313_1==59||LA313_1==64||(LA313_1>=67 && LA313_1<=68)||(LA313_1>=96 && LA313_1<=118)||(LA313_1>=120 && LA313_1<=123)) ) {s = 9;}
else if ( (LA313_1==RULE_ID) && (synpred39_InternalSARL())) {s = 11;}
else if ( (LA313_1==83) && (synpred39_InternalSARL())) {s = 12;}
else if ( (LA313_1==44) && (synpred39_InternalSARL())) {s = 13;}
else if ( (LA313_1==84) && (synpred39_InternalSARL())) {s = 14;}
else if ( (LA313_1==85) && (synpred39_InternalSARL())) {s = 15;}
else if ( (LA313_1==86) && (synpred39_InternalSARL())) {s = 16;}
input.seek(index313_1);
if ( s>=0 ) return s;
break;
case 12 :
int LA313_25 = input.LA(1);
int index313_25 = input.index();
input.rewind();
s = -1;
if ( ((LA313_25>=40 && LA313_25<=41)||LA313_25==47||(LA313_25>=49 && LA313_25<=50)||LA313_25==55||LA313_25==59||LA313_25==64||(LA313_25>=67 && LA313_25<=68)||(LA313_25>=96 && LA313_25<=118)||(LA313_25>=120 && LA313_25<=123)) ) {s = 9;}
else if ( (LA313_25==32) ) {s = 18;}
else if ( (LA313_25==46) && (synpred39_InternalSARL())) {s = 32;}
else if ( (LA313_25==124) && (synpred39_InternalSARL())) {s = 8;}
input.seek(index313_25);
if ( s>=0 ) return s;
break;
case 13 :
int LA313_5 = input.LA(1);
int index313_5 = input.index();
input.rewind();
s = -1;
if ( (LA313_5==46) && (synpred39_InternalSARL())) {s = 17;}
else if ( (LA313_5==32) ) {s = 18;}
else if ( (LA313_5==124) && (synpred39_InternalSARL())) {s = 8;}
else if ( ((LA313_5>=40 && LA313_5<=41)||LA313_5==47||(LA313_5>=49 && LA313_5<=50)||LA313_5==55||LA313_5==59||LA313_5==64||(LA313_5>=67 && LA313_5<=68)||(LA313_5>=96 && LA313_5<=118)||(LA313_5>=120 && LA313_5<=123)) ) {s = 9;}
input.seek(index313_5);
if ( s>=0 ) return s;
break;
case 14 :
int LA313_0 = input.LA(1);
int index313_0 = input.index();
input.rewind();
s = -1;
if ( (LA313_0==45) ) {s = 1;}
else if ( (LA313_0==RULE_ID) ) {s = 2;}
else if ( (LA313_0==83) ) {s = 3;}
else if ( (LA313_0==44) ) {s = 4;}
else if ( (LA313_0==84) ) {s = 5;}
else if ( (LA313_0==85) ) {s = 6;}
else if ( (LA313_0==86) ) {s = 7;}
else if ( (LA313_0==124) && (synpred39_InternalSARL())) {s = 8;}
else if ( ((LA313_0>=RULE_STRING && LA313_0<=RULE_RICH_TEXT_START)||(LA313_0>=RULE_HEX && LA313_0<=RULE_DECIMAL)||LA313_0==25||(LA313_0>=28 && LA313_0<=29)||LA313_0==36||(LA313_0>=39 && LA313_0<=40)||(LA313_0>=42 && LA313_0<=43)||(LA313_0>=48 && LA313_0<=49)||LA313_0==51||LA313_0==55||LA313_0==60||LA313_0==63||LA313_0==65||(LA313_0>=69 && LA313_0<=82)||LA313_0==87||LA313_0==95||(LA313_0>=114 && LA313_0<=115)||LA313_0==119||LA313_0==125||(LA313_0>=128 && LA313_0<=137)) ) {s = 9;}
else if ( (LA313_0==50) ) {s = 10;}
input.seek(index313_0);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 313, _s, input);
error(nvae);
throw nvae;
}
}
class DFA315 extends DFA {
public DFA315(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 315;
this.eot = dfa_68;
this.eof = dfa_69;
this.min = dfa_70;
this.max = dfa_71;
this.accept = dfa_72;
this.special = dfa_73;
this.transition = dfa_83;
}
public String getDescription() {
return "13121:5: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA315_1 = input.LA(1);
int index315_1 = input.index();
input.rewind();
s = -1;
if ( (synpred40_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 2;}
input.seek(index315_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 315, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_126s = "\14\uffff";
static final String dfa_127s = "\10\4\4\uffff";
static final String dfa_128s = "\10\u0089\4\uffff";
static final String dfa_129s = "\10\uffff\1\1\1\2\2\1";
static final String dfa_130s = "\1\4\1\uffff\1\1\1\2\1\5\1\3\1\0\1\6\4\uffff}>";
static final String[] dfa_131s = {
"\1\2\3\11\4\uffff\3\11\12\uffff\1\11\2\uffff\2\11\6\uffff\1\11\2\uffff\2\11\1\uffff\2\11\1\4\1\1\2\uffff\2\11\1\uffff\1\11\3\uffff\2\11\3\uffff\4\11\1\uffff\1\11\3\uffff\16\11\1\3\1\5\1\6\1\7\1\11\7\uffff\1\11\22\uffff\2\11\3\uffff\1\11\4\uffff\1\10\1\11\2\uffff\12\11",
"\1\2\3\11\4\uffff\3\11\12\uffff\2\11\1\uffff\2\11\6\uffff\1\11\2\uffff\5\11\1\4\1\11\1\uffff\3\11\1\uffff\1\11\3\uffff\2\11\2\uffff\7\11\1\uffff\20\11\1\3\1\5\1\6\1\7\1\11\7\uffff\35\11\1\uffff\1\11\2\uffff\12\11",
"\4\11\4\uffff\3\11\12\uffff\2\11\1\uffff\2\11\2\uffff\1\13\3\uffff\1\11\2\uffff\7\11\1\12\3\11\1\uffff\1\11\3\uffff\2\11\2\uffff\7\11\1\uffff\25\11\7\uffff\35\11\1\10\1\11\2\uffff\12\11",
"\4\11\4\uffff\3\11\12\uffff\2\11\1\uffff\2\11\2\uffff\1\13\3\uffff\1\11\2\uffff\7\11\1\12\3\11\1\uffff\1\11\3\uffff\2\11\2\uffff\7\11\1\uffff\25\11\7\uffff\35\11\1\10\1\11\2\uffff\12\11",
"\4\11\4\uffff\3\11\12\uffff\2\11\1\uffff\2\11\2\uffff\1\13\3\uffff\1\11\2\uffff\7\11\1\12\3\11\1\uffff\1\11\3\uffff\2\11\2\uffff\7\11\1\uffff\25\11\7\uffff\35\11\1\10\1\11\2\uffff\12\11",
"\4\11\4\uffff\3\11\12\uffff\2\11\1\uffff\2\11\2\uffff\1\13\3\uffff\1\11\2\uffff\7\11\1\12\3\11\1\uffff\1\11\3\uffff\2\11\2\uffff\7\11\1\uffff\25\11\7\uffff\35\11\1\10\1\11\2\uffff\12\11",
"\4\11\4\uffff\3\11\12\uffff\2\11\1\uffff\2\11\2\uffff\1\13\3\uffff\1\11\2\uffff\7\11\1\12\3\11\1\uffff\1\11\3\uffff\2\11\2\uffff\7\11\1\uffff\25\11\7\uffff\35\11\1\10\1\11\2\uffff\12\11",
"\4\11\4\uffff\3\11\12\uffff\2\11\1\uffff\2\11\2\uffff\1\13\3\uffff\1\11\2\uffff\7\11\1\12\3\11\1\uffff\1\11\3\uffff\2\11\2\uffff\7\11\1\uffff\25\11\7\uffff\35\11\1\10\1\11\2\uffff\12\11",
"",
"",
"",
""
};
static final short[] dfa_126 = DFA.unpackEncodedString(dfa_126s);
static final char[] dfa_127 = DFA.unpackEncodedStringToUnsignedChars(dfa_127s);
static final char[] dfa_128 = DFA.unpackEncodedStringToUnsignedChars(dfa_128s);
static final short[] dfa_129 = DFA.unpackEncodedString(dfa_129s);
static final short[] dfa_130 = DFA.unpackEncodedString(dfa_130s);
static final short[][] dfa_131 = unpackEncodedStringArray(dfa_131s);
class DFA325 extends DFA {
public DFA325(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 325;
this.eot = dfa_126;
this.eof = dfa_126;
this.min = dfa_127;
this.max = dfa_128;
this.accept = dfa_129;
this.special = dfa_130;
this.transition = dfa_131;
}
public String getDescription() {
return "13481:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA325_6 = input.LA(1);
int index325_6 = input.index();
input.rewind();
s = -1;
if ( ((LA325_6>=RULE_ID && LA325_6<=RULE_RICH_TEXT_START)||(LA325_6>=RULE_HEX && LA325_6<=RULE_DECIMAL)||(LA325_6>=25 && LA325_6<=26)||(LA325_6>=28 && LA325_6<=29)||LA325_6==36||(LA325_6>=39 && LA325_6<=45)||(LA325_6>=47 && LA325_6<=49)||LA325_6==51||(LA325_6>=55 && LA325_6<=56)||(LA325_6>=59 && LA325_6<=65)||(LA325_6>=67 && LA325_6<=87)||(LA325_6>=95 && LA325_6<=123)||LA325_6==125||(LA325_6>=128 && LA325_6<=137)) ) {s = 9;}
else if ( (LA325_6==46) && (synpred43_InternalSARL())) {s = 10;}
else if ( (LA325_6==32) && (synpred43_InternalSARL())) {s = 11;}
else if ( (LA325_6==124) && (synpred43_InternalSARL())) {s = 8;}
input.seek(index325_6);
if ( s>=0 ) return s;
break;
case 1 :
int LA325_2 = input.LA(1);
int index325_2 = input.index();
input.rewind();
s = -1;
if ( ((LA325_2>=RULE_ID && LA325_2<=RULE_RICH_TEXT_START)||(LA325_2>=RULE_HEX && LA325_2<=RULE_DECIMAL)||(LA325_2>=25 && LA325_2<=26)||(LA325_2>=28 && LA325_2<=29)||LA325_2==36||(LA325_2>=39 && LA325_2<=45)||(LA325_2>=47 && LA325_2<=49)||LA325_2==51||(LA325_2>=55 && LA325_2<=56)||(LA325_2>=59 && LA325_2<=65)||(LA325_2>=67 && LA325_2<=87)||(LA325_2>=95 && LA325_2<=123)||LA325_2==125||(LA325_2>=128 && LA325_2<=137)) ) {s = 9;}
else if ( (LA325_2==46) && (synpred43_InternalSARL())) {s = 10;}
else if ( (LA325_2==32) && (synpred43_InternalSARL())) {s = 11;}
else if ( (LA325_2==124) && (synpred43_InternalSARL())) {s = 8;}
input.seek(index325_2);
if ( s>=0 ) return s;
break;
case 2 :
int LA325_3 = input.LA(1);
int index325_3 = input.index();
input.rewind();
s = -1;
if ( ((LA325_3>=RULE_ID && LA325_3<=RULE_RICH_TEXT_START)||(LA325_3>=RULE_HEX && LA325_3<=RULE_DECIMAL)||(LA325_3>=25 && LA325_3<=26)||(LA325_3>=28 && LA325_3<=29)||LA325_3==36||(LA325_3>=39 && LA325_3<=45)||(LA325_3>=47 && LA325_3<=49)||LA325_3==51||(LA325_3>=55 && LA325_3<=56)||(LA325_3>=59 && LA325_3<=65)||(LA325_3>=67 && LA325_3<=87)||(LA325_3>=95 && LA325_3<=123)||LA325_3==125||(LA325_3>=128 && LA325_3<=137)) ) {s = 9;}
else if ( (LA325_3==46) && (synpred43_InternalSARL())) {s = 10;}
else if ( (LA325_3==32) && (synpred43_InternalSARL())) {s = 11;}
else if ( (LA325_3==124) && (synpred43_InternalSARL())) {s = 8;}
input.seek(index325_3);
if ( s>=0 ) return s;
break;
case 3 :
int LA325_5 = input.LA(1);
int index325_5 = input.index();
input.rewind();
s = -1;
if ( (LA325_5==46) && (synpred43_InternalSARL())) {s = 10;}
else if ( (LA325_5==32) && (synpred43_InternalSARL())) {s = 11;}
else if ( (LA325_5==124) && (synpred43_InternalSARL())) {s = 8;}
else if ( ((LA325_5>=RULE_ID && LA325_5<=RULE_RICH_TEXT_START)||(LA325_5>=RULE_HEX && LA325_5<=RULE_DECIMAL)||(LA325_5>=25 && LA325_5<=26)||(LA325_5>=28 && LA325_5<=29)||LA325_5==36||(LA325_5>=39 && LA325_5<=45)||(LA325_5>=47 && LA325_5<=49)||LA325_5==51||(LA325_5>=55 && LA325_5<=56)||(LA325_5>=59 && LA325_5<=65)||(LA325_5>=67 && LA325_5<=87)||(LA325_5>=95 && LA325_5<=123)||LA325_5==125||(LA325_5>=128 && LA325_5<=137)) ) {s = 9;}
input.seek(index325_5);
if ( s>=0 ) return s;
break;
case 4 :
int LA325_0 = input.LA(1);
int index325_0 = input.index();
input.rewind();
s = -1;
if ( (LA325_0==45) ) {s = 1;}
else if ( (LA325_0==RULE_ID) ) {s = 2;}
else if ( (LA325_0==83) ) {s = 3;}
else if ( (LA325_0==44) ) {s = 4;}
else if ( (LA325_0==84) ) {s = 5;}
else if ( (LA325_0==85) ) {s = 6;}
else if ( (LA325_0==86) ) {s = 7;}
else if ( (LA325_0==124) && (synpred43_InternalSARL())) {s = 8;}
else if ( ((LA325_0>=RULE_STRING && LA325_0<=RULE_RICH_TEXT_START)||(LA325_0>=RULE_HEX && LA325_0<=RULE_DECIMAL)||LA325_0==25||(LA325_0>=28 && LA325_0<=29)||LA325_0==36||(LA325_0>=39 && LA325_0<=40)||(LA325_0>=42 && LA325_0<=43)||(LA325_0>=48 && LA325_0<=49)||LA325_0==51||(LA325_0>=55 && LA325_0<=56)||(LA325_0>=60 && LA325_0<=63)||LA325_0==65||(LA325_0>=69 && LA325_0<=82)||LA325_0==87||LA325_0==95||(LA325_0>=114 && LA325_0<=115)||LA325_0==119||LA325_0==125||(LA325_0>=128 && LA325_0<=137)) ) {s = 9;}
input.seek(index325_0);
if ( s>=0 ) return s;
break;
case 5 :
int LA325_4 = input.LA(1);
int index325_4 = input.index();
input.rewind();
s = -1;
if ( (LA325_4==46) && (synpred43_InternalSARL())) {s = 10;}
else if ( (LA325_4==32) && (synpred43_InternalSARL())) {s = 11;}
else if ( (LA325_4==124) && (synpred43_InternalSARL())) {s = 8;}
else if ( ((LA325_4>=RULE_ID && LA325_4<=RULE_RICH_TEXT_START)||(LA325_4>=RULE_HEX && LA325_4<=RULE_DECIMAL)||(LA325_4>=25 && LA325_4<=26)||(LA325_4>=28 && LA325_4<=29)||LA325_4==36||(LA325_4>=39 && LA325_4<=45)||(LA325_4>=47 && LA325_4<=49)||LA325_4==51||(LA325_4>=55 && LA325_4<=56)||(LA325_4>=59 && LA325_4<=65)||(LA325_4>=67 && LA325_4<=87)||(LA325_4>=95 && LA325_4<=123)||LA325_4==125||(LA325_4>=128 && LA325_4<=137)) ) {s = 9;}
input.seek(index325_4);
if ( s>=0 ) return s;
break;
case 6 :
int LA325_7 = input.LA(1);
int index325_7 = input.index();
input.rewind();
s = -1;
if ( ((LA325_7>=RULE_ID && LA325_7<=RULE_RICH_TEXT_START)||(LA325_7>=RULE_HEX && LA325_7<=RULE_DECIMAL)||(LA325_7>=25 && LA325_7<=26)||(LA325_7>=28 && LA325_7<=29)||LA325_7==36||(LA325_7>=39 && LA325_7<=45)||(LA325_7>=47 && LA325_7<=49)||LA325_7==51||(LA325_7>=55 && LA325_7<=56)||(LA325_7>=59 && LA325_7<=65)||(LA325_7>=67 && LA325_7<=87)||(LA325_7>=95 && LA325_7<=123)||LA325_7==125||(LA325_7>=128 && LA325_7<=137)) ) {s = 9;}
else if ( (LA325_7==46) && (synpred43_InternalSARL())) {s = 10;}
else if ( (LA325_7==32) && (synpred43_InternalSARL())) {s = 11;}
else if ( (LA325_7==124) && (synpred43_InternalSARL())) {s = 8;}
input.seek(index325_7);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 325, _s, input);
error(nvae);
throw nvae;
}
}
class DFA346 extends DFA {
public DFA346(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 346;
this.eot = dfa_68;
this.eof = dfa_69;
this.min = dfa_70;
this.max = dfa_71;
this.accept = dfa_72;
this.special = dfa_73;
this.transition = dfa_76;
}
public String getDescription() {
return "14596:3: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA346_1 = input.LA(1);
int index346_1 = input.index();
input.rewind();
s = -1;
if ( (synpred47_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 2;}
input.seek(index346_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 346, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_132s = "\1\5\1\7\1\4\1\0\1\13\1\11\1\16\1\3\13\uffff\1\12\1\6\1\2\1\15\1\14\1\1\1\10\7\uffff}>";
static final short[] dfa_132 = DFA.unpackEncodedString(dfa_132s);
class DFA345 extends DFA {
public DFA345(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 345;
this.eot = dfa_77;
this.eof = dfa_77;
this.min = dfa_122;
this.max = dfa_123;
this.accept = dfa_80;
this.special = dfa_132;
this.transition = dfa_125;
}
public String getDescription() {
return "14615:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA345_3 = input.LA(1);
int index345_3 = input.index();
input.rewind();
s = -1;
if ( (LA345_3==46) && (synpred48_InternalSARL())) {s = 17;}
else if ( (LA345_3==32) ) {s = 18;}
else if ( (LA345_3==124) && (synpred48_InternalSARL())) {s = 8;}
else if ( ((LA345_3>=40 && LA345_3<=41)||LA345_3==47||(LA345_3>=49 && LA345_3<=50)||LA345_3==55||LA345_3==59||LA345_3==64||(LA345_3>=67 && LA345_3<=68)||(LA345_3>=96 && LA345_3<=118)||(LA345_3>=120 && LA345_3<=123)) ) {s = 9;}
input.seek(index345_3);
if ( s>=0 ) return s;
break;
case 1 :
int LA345_24 = input.LA(1);
int index345_24 = input.index();
input.rewind();
s = -1;
if ( ((LA345_24>=40 && LA345_24<=41)||LA345_24==47||(LA345_24>=49 && LA345_24<=50)||LA345_24==55||LA345_24==59||LA345_24==64||(LA345_24>=67 && LA345_24<=68)||(LA345_24>=96 && LA345_24<=118)||(LA345_24>=120 && LA345_24<=123)) ) {s = 9;}
else if ( (LA345_24==32) ) {s = 18;}
else if ( (LA345_24==46) && (synpred48_InternalSARL())) {s = 32;}
else if ( (LA345_24==124) && (synpred48_InternalSARL())) {s = 8;}
input.seek(index345_24);
if ( s>=0 ) return s;
break;
case 2 :
int LA345_21 = input.LA(1);
int index345_21 = input.index();
input.rewind();
s = -1;
if ( ((LA345_21>=40 && LA345_21<=41)||LA345_21==47||(LA345_21>=49 && LA345_21<=50)||LA345_21==55||LA345_21==59||LA345_21==64||(LA345_21>=67 && LA345_21<=68)||(LA345_21>=96 && LA345_21<=118)||(LA345_21>=120 && LA345_21<=123)) ) {s = 9;}
else if ( (LA345_21==46) && (synpred48_InternalSARL())) {s = 32;}
else if ( (LA345_21==124) && (synpred48_InternalSARL())) {s = 8;}
else if ( (LA345_21==32) ) {s = 18;}
input.seek(index345_21);
if ( s>=0 ) return s;
break;
case 3 :
int LA345_7 = input.LA(1);
int index345_7 = input.index();
input.rewind();
s = -1;
if ( (LA345_7==46) && (synpred48_InternalSARL())) {s = 17;}
else if ( (LA345_7==32) ) {s = 18;}
else if ( (LA345_7==124) && (synpred48_InternalSARL())) {s = 8;}
else if ( ((LA345_7>=40 && LA345_7<=41)||LA345_7==47||(LA345_7>=49 && LA345_7<=50)||LA345_7==55||LA345_7==59||LA345_7==64||(LA345_7>=67 && LA345_7<=68)||(LA345_7>=96 && LA345_7<=118)||(LA345_7>=120 && LA345_7<=123)) ) {s = 9;}
input.seek(index345_7);
if ( s>=0 ) return s;
break;
case 4 :
int LA345_2 = input.LA(1);
int index345_2 = input.index();
input.rewind();
s = -1;
if ( ((LA345_2>=40 && LA345_2<=41)||LA345_2==47||(LA345_2>=49 && LA345_2<=50)||LA345_2==55||LA345_2==59||LA345_2==64||(LA345_2>=67 && LA345_2<=68)||(LA345_2>=96 && LA345_2<=118)||(LA345_2>=120 && LA345_2<=123)) ) {s = 9;}
else if ( (LA345_2==46) && (synpred48_InternalSARL())) {s = 17;}
else if ( (LA345_2==32) ) {s = 18;}
else if ( (LA345_2==124) && (synpred48_InternalSARL())) {s = 8;}
input.seek(index345_2);
if ( s>=0 ) return s;
break;
case 5 :
int LA345_0 = input.LA(1);
int index345_0 = input.index();
input.rewind();
s = -1;
if ( (LA345_0==45) ) {s = 1;}
else if ( (LA345_0==RULE_ID) ) {s = 2;}
else if ( (LA345_0==83) ) {s = 3;}
else if ( (LA345_0==44) ) {s = 4;}
else if ( (LA345_0==84) ) {s = 5;}
else if ( (LA345_0==85) ) {s = 6;}
else if ( (LA345_0==86) ) {s = 7;}
else if ( (LA345_0==124) && (synpred48_InternalSARL())) {s = 8;}
else if ( ((LA345_0>=RULE_STRING && LA345_0<=RULE_RICH_TEXT_START)||(LA345_0>=RULE_HEX && LA345_0<=RULE_DECIMAL)||LA345_0==25||(LA345_0>=28 && LA345_0<=29)||LA345_0==36||(LA345_0>=39 && LA345_0<=40)||(LA345_0>=42 && LA345_0<=43)||(LA345_0>=48 && LA345_0<=49)||LA345_0==51||LA345_0==55||LA345_0==60||LA345_0==63||LA345_0==65||(LA345_0>=69 && LA345_0<=82)||LA345_0==87||LA345_0==95||(LA345_0>=114 && LA345_0<=115)||LA345_0==119||LA345_0==125||(LA345_0>=128 && LA345_0<=137)) ) {s = 9;}
else if ( (LA345_0==50) ) {s = 10;}
input.seek(index345_0);
if ( s>=0 ) return s;
break;
case 6 :
int LA345_20 = input.LA(1);
int index345_20 = input.index();
input.rewind();
s = -1;
if ( ((LA345_20>=40 && LA345_20<=41)||LA345_20==47||(LA345_20>=49 && LA345_20<=50)||LA345_20==55||LA345_20==59||LA345_20==64||(LA345_20>=67 && LA345_20<=68)||(LA345_20>=96 && LA345_20<=118)||(LA345_20>=120 && LA345_20<=123)) ) {s = 9;}
else if ( (LA345_20==46) && (synpred48_InternalSARL())) {s = 32;}
else if ( (LA345_20==124) && (synpred48_InternalSARL())) {s = 8;}
else if ( (LA345_20==32) ) {s = 18;}
input.seek(index345_20);
if ( s>=0 ) return s;
break;
case 7 :
int LA345_1 = input.LA(1);
int index345_1 = input.index();
input.rewind();
s = -1;
if ( (LA345_1==RULE_ID) && (synpred48_InternalSARL())) {s = 11;}
else if ( (LA345_1==83) && (synpred48_InternalSARL())) {s = 12;}
else if ( (LA345_1==44) && (synpred48_InternalSARL())) {s = 13;}
else if ( (LA345_1==84) && (synpred48_InternalSARL())) {s = 14;}
else if ( (LA345_1==85) && (synpred48_InternalSARL())) {s = 15;}
else if ( (LA345_1==86) && (synpred48_InternalSARL())) {s = 16;}
else if ( (LA345_1==32||(LA345_1>=40 && LA345_1<=41)||LA345_1==47||(LA345_1>=49 && LA345_1<=50)||LA345_1==55||LA345_1==59||LA345_1==64||(LA345_1>=67 && LA345_1<=68)||(LA345_1>=96 && LA345_1<=118)||(LA345_1>=120 && LA345_1<=123)) ) {s = 9;}
input.seek(index345_1);
if ( s>=0 ) return s;
break;
case 8 :
int LA345_25 = input.LA(1);
int index345_25 = input.index();
input.rewind();
s = -1;
if ( ((LA345_25>=40 && LA345_25<=41)||LA345_25==47||(LA345_25>=49 && LA345_25<=50)||LA345_25==55||LA345_25==59||LA345_25==64||(LA345_25>=67 && LA345_25<=68)||(LA345_25>=96 && LA345_25<=118)||(LA345_25>=120 && LA345_25<=123)) ) {s = 9;}
else if ( (LA345_25==32) ) {s = 18;}
else if ( (LA345_25==46) && (synpred48_InternalSARL())) {s = 32;}
else if ( (LA345_25==124) && (synpred48_InternalSARL())) {s = 8;}
input.seek(index345_25);
if ( s>=0 ) return s;
break;
case 9 :
int LA345_5 = input.LA(1);
int index345_5 = input.index();
input.rewind();
s = -1;
if ( ((LA345_5>=40 && LA345_5<=41)||LA345_5==47||(LA345_5>=49 && LA345_5<=50)||LA345_5==55||LA345_5==59||LA345_5==64||(LA345_5>=67 && LA345_5<=68)||(LA345_5>=96 && LA345_5<=118)||(LA345_5>=120 && LA345_5<=123)) ) {s = 9;}
else if ( (LA345_5==32) ) {s = 18;}
else if ( (LA345_5==46) && (synpred48_InternalSARL())) {s = 17;}
else if ( (LA345_5==124) && (synpred48_InternalSARL())) {s = 8;}
input.seek(index345_5);
if ( s>=0 ) return s;
break;
case 10 :
int LA345_19 = input.LA(1);
int index345_19 = input.index();
input.rewind();
s = -1;
if ( (LA345_19==RULE_ID) && (synpred48_InternalSARL())) {s = 26;}
else if ( (LA345_19==83) && (synpred48_InternalSARL())) {s = 27;}
else if ( (LA345_19==44) && (synpred48_InternalSARL())) {s = 28;}
else if ( (LA345_19==84) && (synpred48_InternalSARL())) {s = 29;}
else if ( (LA345_19==85) && (synpred48_InternalSARL())) {s = 30;}
else if ( (LA345_19==86) && (synpred48_InternalSARL())) {s = 31;}
else if ( (LA345_19==32||(LA345_19>=40 && LA345_19<=41)||LA345_19==47||(LA345_19>=49 && LA345_19<=50)||LA345_19==55||LA345_19==59||LA345_19==64||(LA345_19>=67 && LA345_19<=68)||(LA345_19>=96 && LA345_19<=118)||(LA345_19>=120 && LA345_19<=123)) ) {s = 9;}
input.seek(index345_19);
if ( s>=0 ) return s;
break;
case 11 :
int LA345_4 = input.LA(1);
int index345_4 = input.index();
input.rewind();
s = -1;
if ( (LA345_4==46) && (synpred48_InternalSARL())) {s = 17;}
else if ( (LA345_4==32) ) {s = 18;}
else if ( (LA345_4==124) && (synpred48_InternalSARL())) {s = 8;}
else if ( ((LA345_4>=40 && LA345_4<=41)||LA345_4==47||(LA345_4>=49 && LA345_4<=50)||LA345_4==55||LA345_4==59||LA345_4==64||(LA345_4>=67 && LA345_4<=68)||(LA345_4>=96 && LA345_4<=118)||(LA345_4>=120 && LA345_4<=123)) ) {s = 9;}
input.seek(index345_4);
if ( s>=0 ) return s;
break;
case 12 :
int LA345_23 = input.LA(1);
int index345_23 = input.index();
input.rewind();
s = -1;
if ( ((LA345_23>=40 && LA345_23<=41)||LA345_23==47||(LA345_23>=49 && LA345_23<=50)||LA345_23==55||LA345_23==59||LA345_23==64||(LA345_23>=67 && LA345_23<=68)||(LA345_23>=96 && LA345_23<=118)||(LA345_23>=120 && LA345_23<=123)) ) {s = 9;}
else if ( (LA345_23==32) ) {s = 18;}
else if ( (LA345_23==46) && (synpred48_InternalSARL())) {s = 32;}
else if ( (LA345_23==124) && (synpred48_InternalSARL())) {s = 8;}
input.seek(index345_23);
if ( s>=0 ) return s;
break;
case 13 :
int LA345_22 = input.LA(1);
int index345_22 = input.index();
input.rewind();
s = -1;
if ( (LA345_22==46) && (synpred48_InternalSARL())) {s = 32;}
else if ( (LA345_22==124) && (synpred48_InternalSARL())) {s = 8;}
else if ( (LA345_22==32) ) {s = 18;}
else if ( ((LA345_22>=40 && LA345_22<=41)||LA345_22==47||(LA345_22>=49 && LA345_22<=50)||LA345_22==55||LA345_22==59||LA345_22==64||(LA345_22>=67 && LA345_22<=68)||(LA345_22>=96 && LA345_22<=118)||(LA345_22>=120 && LA345_22<=123)) ) {s = 9;}
input.seek(index345_22);
if ( s>=0 ) return s;
break;
case 14 :
int LA345_6 = input.LA(1);
int index345_6 = input.index();
input.rewind();
s = -1;
if ( ((LA345_6>=40 && LA345_6<=41)||LA345_6==47||(LA345_6>=49 && LA345_6<=50)||LA345_6==55||LA345_6==59||LA345_6==64||(LA345_6>=67 && LA345_6<=68)||(LA345_6>=96 && LA345_6<=118)||(LA345_6>=120 && LA345_6<=123)) ) {s = 9;}
else if ( (LA345_6==32) ) {s = 18;}
else if ( (LA345_6==46) && (synpred48_InternalSARL())) {s = 17;}
else if ( (LA345_6==124) && (synpred48_InternalSARL())) {s = 8;}
input.seek(index345_6);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 345, _s, input);
error(nvae);
throw nvae;
}
}
class DFA347 extends DFA {
public DFA347(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 347;
this.eot = dfa_68;
this.eof = dfa_69;
this.min = dfa_70;
this.max = dfa_71;
this.accept = dfa_72;
this.special = dfa_73;
this.transition = dfa_83;
}
public String getDescription() {
return "14713:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA347_1 = input.LA(1);
int index347_1 = input.index();
input.rewind();
s = -1;
if ( (synpred49_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 2;}
input.seek(index347_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 347, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_133s = "\1\73\157\uffff";
static final String dfa_134s = "\1\4\72\0\65\uffff";
static final String dfa_135s = "\1\u008b\72\0\65\uffff";
static final String dfa_136s = "\73\uffff\1\2\63\uffff\1\1";
static final String dfa_137s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\1\66\1\67\1\70\1\71\65\uffff}>";
static final String[] dfa_138s = {
"\1\1\1\56\1\57\1\60\4\73\1\52\1\53\1\54\12\uffff\1\17\1\73\1\uffff\1\11\1\42\1\73\1\uffff\1\73\3\uffff\1\13\2\uffff\1\4\1\44\1\73\1\15\1\10\1\3\1\35\1\73\1\uffff\1\41\1\71\1\73\1\24\2\uffff\1\73\1\47\4\73\1\72\2\73\1\63\1\73\1\43\3\73\1\20\1\21\1\22\1\2\1\23\1\7\1\12\1\25\1\26\1\27\1\30\1\31\1\6\1\16\1\5\1\32\1\33\1\34\1\14\6\uffff\1\73\1\46\22\73\1\40\1\37\3\73\1\36\4\73\1\uffff\1\62\2\73\1\64\1\65\1\45\1\50\1\51\1\55\1\61\1\66\1\67\1\70\2\73",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_133 = DFA.unpackEncodedString(dfa_133s);
static final char[] dfa_134 = DFA.unpackEncodedStringToUnsignedChars(dfa_134s);
static final char[] dfa_135 = DFA.unpackEncodedStringToUnsignedChars(dfa_135s);
static final short[] dfa_136 = DFA.unpackEncodedString(dfa_136s);
static final short[] dfa_137 = DFA.unpackEncodedString(dfa_137s);
static final short[][] dfa_138 = unpackEncodedStringArray(dfa_138s);
class DFA351 extends DFA {
public DFA351(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 351;
this.eot = dfa_68;
this.eof = dfa_133;
this.min = dfa_134;
this.max = dfa_135;
this.accept = dfa_136;
this.special = dfa_137;
this.transition = dfa_138;
}
public String getDescription() {
return "15047:3: ( ( 'abstract' | 'annotation' | 'class' | 'create' | 'def' | 'dispatch' | 'enum' | 'extends' | 'final' | 'implements' | 'import' | 'interface' | 'override' | 'package' | 'public' | 'private' | 'protected' | 'static' | 'throws' | 'strictfp' | 'native' | 'volatile' | 'synchronized' | 'transient' | 'AFTER' | 'BEFORE' | 'SEPARATOR' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | 'break' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_RICH_TEXT | RULE_RICH_TEXT_START )=> (lv_expression_2_0= ruleXExpression ) )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA351_1 = input.LA(1);
int index351_1 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_1);
if ( s>=0 ) return s;
break;
case 1 :
int LA351_2 = input.LA(1);
int index351_2 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_2);
if ( s>=0 ) return s;
break;
case 2 :
int LA351_3 = input.LA(1);
int index351_3 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_3);
if ( s>=0 ) return s;
break;
case 3 :
int LA351_4 = input.LA(1);
int index351_4 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_4);
if ( s>=0 ) return s;
break;
case 4 :
int LA351_5 = input.LA(1);
int index351_5 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_5);
if ( s>=0 ) return s;
break;
case 5 :
int LA351_6 = input.LA(1);
int index351_6 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_6);
if ( s>=0 ) return s;
break;
case 6 :
int LA351_7 = input.LA(1);
int index351_7 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_7);
if ( s>=0 ) return s;
break;
case 7 :
int LA351_8 = input.LA(1);
int index351_8 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_8);
if ( s>=0 ) return s;
break;
case 8 :
int LA351_9 = input.LA(1);
int index351_9 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_9);
if ( s>=0 ) return s;
break;
case 9 :
int LA351_10 = input.LA(1);
int index351_10 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_10);
if ( s>=0 ) return s;
break;
case 10 :
int LA351_11 = input.LA(1);
int index351_11 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_11);
if ( s>=0 ) return s;
break;
case 11 :
int LA351_12 = input.LA(1);
int index351_12 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_12);
if ( s>=0 ) return s;
break;
case 12 :
int LA351_13 = input.LA(1);
int index351_13 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_13);
if ( s>=0 ) return s;
break;
case 13 :
int LA351_14 = input.LA(1);
int index351_14 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_14);
if ( s>=0 ) return s;
break;
case 14 :
int LA351_15 = input.LA(1);
int index351_15 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_15);
if ( s>=0 ) return s;
break;
case 15 :
int LA351_16 = input.LA(1);
int index351_16 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_16);
if ( s>=0 ) return s;
break;
case 16 :
int LA351_17 = input.LA(1);
int index351_17 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_17);
if ( s>=0 ) return s;
break;
case 17 :
int LA351_18 = input.LA(1);
int index351_18 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_18);
if ( s>=0 ) return s;
break;
case 18 :
int LA351_19 = input.LA(1);
int index351_19 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_19);
if ( s>=0 ) return s;
break;
case 19 :
int LA351_20 = input.LA(1);
int index351_20 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_20);
if ( s>=0 ) return s;
break;
case 20 :
int LA351_21 = input.LA(1);
int index351_21 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_21);
if ( s>=0 ) return s;
break;
case 21 :
int LA351_22 = input.LA(1);
int index351_22 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_22);
if ( s>=0 ) return s;
break;
case 22 :
int LA351_23 = input.LA(1);
int index351_23 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_23);
if ( s>=0 ) return s;
break;
case 23 :
int LA351_24 = input.LA(1);
int index351_24 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_24);
if ( s>=0 ) return s;
break;
case 24 :
int LA351_25 = input.LA(1);
int index351_25 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_25);
if ( s>=0 ) return s;
break;
case 25 :
int LA351_26 = input.LA(1);
int index351_26 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_26);
if ( s>=0 ) return s;
break;
case 26 :
int LA351_27 = input.LA(1);
int index351_27 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_27);
if ( s>=0 ) return s;
break;
case 27 :
int LA351_28 = input.LA(1);
int index351_28 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_28);
if ( s>=0 ) return s;
break;
case 28 :
int LA351_29 = input.LA(1);
int index351_29 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_29);
if ( s>=0 ) return s;
break;
case 29 :
int LA351_30 = input.LA(1);
int index351_30 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_30);
if ( s>=0 ) return s;
break;
case 30 :
int LA351_31 = input.LA(1);
int index351_31 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_31);
if ( s>=0 ) return s;
break;
case 31 :
int LA351_32 = input.LA(1);
int index351_32 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_32);
if ( s>=0 ) return s;
break;
case 32 :
int LA351_33 = input.LA(1);
int index351_33 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_33);
if ( s>=0 ) return s;
break;
case 33 :
int LA351_34 = input.LA(1);
int index351_34 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_34);
if ( s>=0 ) return s;
break;
case 34 :
int LA351_35 = input.LA(1);
int index351_35 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_35);
if ( s>=0 ) return s;
break;
case 35 :
int LA351_36 = input.LA(1);
int index351_36 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_36);
if ( s>=0 ) return s;
break;
case 36 :
int LA351_37 = input.LA(1);
int index351_37 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_37);
if ( s>=0 ) return s;
break;
case 37 :
int LA351_38 = input.LA(1);
int index351_38 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_38);
if ( s>=0 ) return s;
break;
case 38 :
int LA351_39 = input.LA(1);
int index351_39 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_39);
if ( s>=0 ) return s;
break;
case 39 :
int LA351_40 = input.LA(1);
int index351_40 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_40);
if ( s>=0 ) return s;
break;
case 40 :
int LA351_41 = input.LA(1);
int index351_41 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_41);
if ( s>=0 ) return s;
break;
case 41 :
int LA351_42 = input.LA(1);
int index351_42 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_42);
if ( s>=0 ) return s;
break;
case 42 :
int LA351_43 = input.LA(1);
int index351_43 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_43);
if ( s>=0 ) return s;
break;
case 43 :
int LA351_44 = input.LA(1);
int index351_44 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_44);
if ( s>=0 ) return s;
break;
case 44 :
int LA351_45 = input.LA(1);
int index351_45 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_45);
if ( s>=0 ) return s;
break;
case 45 :
int LA351_46 = input.LA(1);
int index351_46 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_46);
if ( s>=0 ) return s;
break;
case 46 :
int LA351_47 = input.LA(1);
int index351_47 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_47);
if ( s>=0 ) return s;
break;
case 47 :
int LA351_48 = input.LA(1);
int index351_48 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_48);
if ( s>=0 ) return s;
break;
case 48 :
int LA351_49 = input.LA(1);
int index351_49 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_49);
if ( s>=0 ) return s;
break;
case 49 :
int LA351_50 = input.LA(1);
int index351_50 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_50);
if ( s>=0 ) return s;
break;
case 50 :
int LA351_51 = input.LA(1);
int index351_51 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_51);
if ( s>=0 ) return s;
break;
case 51 :
int LA351_52 = input.LA(1);
int index351_52 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_52);
if ( s>=0 ) return s;
break;
case 52 :
int LA351_53 = input.LA(1);
int index351_53 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_53);
if ( s>=0 ) return s;
break;
case 53 :
int LA351_54 = input.LA(1);
int index351_54 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_54);
if ( s>=0 ) return s;
break;
case 54 :
int LA351_55 = input.LA(1);
int index351_55 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_55);
if ( s>=0 ) return s;
break;
case 55 :
int LA351_56 = input.LA(1);
int index351_56 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_56);
if ( s>=0 ) return s;
break;
case 56 :
int LA351_57 = input.LA(1);
int index351_57 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_57);
if ( s>=0 ) return s;
break;
case 57 :
int LA351_58 = input.LA(1);
int index351_58 = input.index();
input.rewind();
s = -1;
if ( (synpred50_InternalSARL()) ) {s = 111;}
else if ( (true) ) {s = 59;}
input.seek(index351_58);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 351, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_139s = "\1\1\11\uffff";
static final String dfa_140s = "\1\4\1\uffff\1\4\6\0\1\uffff";
static final String dfa_141s = "\1\u008d\1\uffff\1\u0082\6\0\1\uffff";
static final String dfa_142s = "\1\uffff\1\2\7\uffff\1\1";
static final String dfa_143s = "\3\uffff\1\5\1\3\1\0\1\1\1\4\1\2\1\uffff}>";
static final String[] dfa_144s = {
"\13\1\12\uffff\53\1\1\2\23\1\6\uffff\56\1\1\uffff\1\1",
"",
"\1\3\24\uffff\1\1\2\uffff\1\1\7\uffff\1\1\2\uffff\2\1\1\uffff\2\1\1\4\1\1\5\uffff\1\1\7\uffff\1\1\11\uffff\16\1\1\5\1\6\1\7\1\10\1\1\52\uffff\1\1",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
""
};
static final short[] dfa_139 = DFA.unpackEncodedString(dfa_139s);
static final char[] dfa_140 = DFA.unpackEncodedStringToUnsignedChars(dfa_140s);
static final char[] dfa_141 = DFA.unpackEncodedStringToUnsignedChars(dfa_141s);
static final short[] dfa_142 = DFA.unpackEncodedString(dfa_142s);
static final short[] dfa_143 = DFA.unpackEncodedString(dfa_143s);
static final short[][] dfa_144 = unpackEncodedStringArray(dfa_144s);
class DFA355 extends DFA {
public DFA355(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 355;
this.eot = dfa_103;
this.eof = dfa_139;
this.min = dfa_140;
this.max = dfa_141;
this.accept = dfa_142;
this.special = dfa_143;
this.transition = dfa_144;
}
public String getDescription() {
return "()* loopback of 15382:3: ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA355_5 = input.LA(1);
int index355_5 = input.index();
input.rewind();
s = -1;
if ( (synpred55_InternalSARL()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index355_5);
if ( s>=0 ) return s;
break;
case 1 :
int LA355_6 = input.LA(1);
int index355_6 = input.index();
input.rewind();
s = -1;
if ( (synpred55_InternalSARL()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index355_6);
if ( s>=0 ) return s;
break;
case 2 :
int LA355_8 = input.LA(1);
int index355_8 = input.index();
input.rewind();
s = -1;
if ( (synpred55_InternalSARL()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index355_8);
if ( s>=0 ) return s;
break;
case 3 :
int LA355_4 = input.LA(1);
int index355_4 = input.index();
input.rewind();
s = -1;
if ( (synpred55_InternalSARL()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index355_4);
if ( s>=0 ) return s;
break;
case 4 :
int LA355_7 = input.LA(1);
int index355_7 = input.index();
input.rewind();
s = -1;
if ( (synpred55_InternalSARL()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index355_7);
if ( s>=0 ) return s;
break;
case 5 :
int LA355_3 = input.LA(1);
int index355_3 = input.index();
input.rewind();
s = -1;
if ( (synpred55_InternalSARL()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index355_3);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 355, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_145s = "\174\uffff";
static final String dfa_146s = "\1\2\173\uffff";
static final String dfa_147s = "\1\4\1\0\172\uffff";
static final String dfa_148s = "\1\u008d\1\0\172\uffff";
static final String dfa_149s = "\2\uffff\1\2\170\uffff\1\1";
static final String dfa_150s = "\1\uffff\1\0\172\uffff}>";
static final String[] dfa_151s = {
"\13\2\12\uffff\17\2\1\1\57\2\6\uffff\56\2\1\uffff\1\2",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_145 = DFA.unpackEncodedString(dfa_145s);
static final short[] dfa_146 = DFA.unpackEncodedString(dfa_146s);
static final char[] dfa_147 = DFA.unpackEncodedStringToUnsignedChars(dfa_147s);
static final char[] dfa_148 = DFA.unpackEncodedStringToUnsignedChars(dfa_148s);
static final short[] dfa_149 = DFA.unpackEncodedString(dfa_149s);
static final short[] dfa_150 = DFA.unpackEncodedString(dfa_150s);
static final short[][] dfa_151 = unpackEncodedStringArray(dfa_151s);
class DFA369 extends DFA {
public DFA369(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 369;
this.eot = dfa_145;
this.eof = dfa_146;
this.min = dfa_147;
this.max = dfa_148;
this.accept = dfa_149;
this.special = dfa_150;
this.transition = dfa_151;
}
public String getDescription() {
return "15705:3: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA369_1 = input.LA(1);
int index369_1 = input.index();
input.rewind();
s = -1;
if ( (synpred57_InternalSARL()) ) {s = 123;}
else if ( (true) ) {s = 2;}
input.seek(index369_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 369, _s, input);
error(nvae);
throw nvae;
}
}
static final String[] dfa_152s = {
"\13\1\12\uffff\53\1\1\2\23\1\6\uffff\56\1\1\uffff\1\1",
"",
"\1\3\24\uffff\1\1\2\uffff\1\1\7\uffff\1\1\2\uffff\2\1\1\uffff\2\1\1\4\1\1\5\uffff\1\1\21\uffff\16\1\1\5\1\6\1\7\1\10\1\1\52\uffff\1\1",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
""
};
static final short[][] dfa_152 = unpackEncodedStringArray(dfa_152s);
class DFA368 extends DFA {
public DFA368(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 368;
this.eot = dfa_103;
this.eof = dfa_139;
this.min = dfa_140;
this.max = dfa_141;
this.accept = dfa_142;
this.special = dfa_143;
this.transition = dfa_152;
}
public String getDescription() {
return "()* loopback of 15761:4: ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )*";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA368_5 = input.LA(1);
int index368_5 = input.index();
input.rewind();
s = -1;
if ( (synpred58_InternalSARL()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index368_5);
if ( s>=0 ) return s;
break;
case 1 :
int LA368_6 = input.LA(1);
int index368_6 = input.index();
input.rewind();
s = -1;
if ( (synpred58_InternalSARL()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index368_6);
if ( s>=0 ) return s;
break;
case 2 :
int LA368_8 = input.LA(1);
int index368_8 = input.index();
input.rewind();
s = -1;
if ( (synpred58_InternalSARL()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index368_8);
if ( s>=0 ) return s;
break;
case 3 :
int LA368_4 = input.LA(1);
int index368_4 = input.index();
input.rewind();
s = -1;
if ( (synpred58_InternalSARL()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index368_4);
if ( s>=0 ) return s;
break;
case 4 :
int LA368_7 = input.LA(1);
int index368_7 = input.index();
input.rewind();
s = -1;
if ( (synpred58_InternalSARL()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index368_7);
if ( s>=0 ) return s;
break;
case 5 :
int LA368_3 = input.LA(1);
int index368_3 = input.index();
input.rewind();
s = -1;
if ( (synpred58_InternalSARL()) ) {s = 9;}
else if ( (true) ) {s = 1;}
input.seek(index368_3);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 368, _s, input);
error(nvae);
throw nvae;
}
}
class DFA367 extends DFA {
public DFA367(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 367;
this.eot = dfa_145;
this.eof = dfa_146;
this.min = dfa_147;
this.max = dfa_148;
this.accept = dfa_149;
this.special = dfa_150;
this.transition = dfa_151;
}
public String getDescription() {
return "15799:5: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA367_1 = input.LA(1);
int index367_1 = input.index();
input.rewind();
s = -1;
if ( (synpred59_InternalSARL()) ) {s = 123;}
else if ( (true) ) {s = 2;}
input.seek(index367_1);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 367, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_153s = "\2\uffff\6\11\2\uffff\6\11\1\uffff";
static final String dfa_154s = "\1\4\1\uffff\6\31\1\4\1\uffff\6\31\1\uffff";
static final String dfa_155s = "\1\126\1\uffff\6\136\1\126\1\uffff\6\136\1\uffff";
static final String dfa_156s = "\1\uffff\1\1\7\uffff\1\2\6\uffff\1\3";
static final String[] dfa_157s = {
"\1\2\47\uffff\1\4\34\uffff\1\1\11\uffff\1\3\1\5\1\6\1\7",
"",
"\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11",
"\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11",
"\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11",
"\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11",
"\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11",
"\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11",
"\1\12\47\uffff\1\14\16\uffff\1\20\27\uffff\1\13\1\15\1\16\1\17",
"",
"\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11",
"\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11",
"\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11",
"\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11",
"\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11",
"\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11",
""
};
static final short[] dfa_153 = DFA.unpackEncodedString(dfa_153s);
static final char[] dfa_154 = DFA.unpackEncodedStringToUnsignedChars(dfa_154s);
static final char[] dfa_155 = DFA.unpackEncodedStringToUnsignedChars(dfa_155s);
static final short[] dfa_156 = DFA.unpackEncodedString(dfa_156s);
static final short[][] dfa_157 = unpackEncodedStringArray(dfa_157s);
class DFA379 extends DFA {
public DFA379(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 379;
this.eot = dfa_55;
this.eof = dfa_153;
this.min = dfa_154;
this.max = dfa_155;
this.accept = dfa_156;
this.special = dfa_59;
this.transition = dfa_157;
}
public String getDescription() {
return "16351:3: ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) )";
}
}
public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000100000000010L,0x0000000000780000L});
public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x00001CEE8E000002L,0x000000004081FFE0L});
public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x00001CEE8A000002L,0x000000004081FFE0L});
public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x00001CEE8A000002L,0x000000004001FFE0L});
public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x00001CEE8A000000L,0x000000004001FFE0L});
public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x000000000A000000L,0x000000000001FFE0L});
public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000030000002L});
public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000020000002L});
public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x6001200042000000L,0x000000004001FFE0L});
public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000082000000L,0x000000000001FFE0L});
public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000030000000L});
public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000120000000L});
public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000042000000L,0x000000004007FFE0L});
public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000202000000L,0x000000000001FFE0L});
public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000020000000L});
public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x66413C8042000000L,0x000000004007FFE0L});
public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000402000000L,0x000000000001FFE0L});
public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000802000000L,0x000000000001FFE0L});
public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000001030000000L});
public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000001130000000L});
public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000002002000000L,0x000000000001FFE0L});
public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000040000000L});
public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000004002000000L,0x000000000001FFE0L});
public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000008002000000L,0x000000000001FFE0L});
public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000011030000000L});
public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000020100000000L});
public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x60013C8042000000L,0x000000004007FFE0L});
public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000040002000000L,0x000000000001FFE0L});
public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000010030000000L});
public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000080002000000L,0x000000000001FFE0L});
public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000100044000010L,0x0000000000780000L});
public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000144000000L});
public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000100002000000L,0x000000000001FFE0L});
public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x60003C8042000000L,0x000000004001FFE0L});
public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x6001200002000000L,0x000000004001FFE0L});
public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x6000200002000000L,0x000000000001FFE0L});
public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x6000300002000010L,0x000000000079FFE0L});
public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000400000000000L});
public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0002100000000010L,0x0000000000780008L});
public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000800004000002L});
public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000300002000010L,0x000000000079FFE0L});
public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000C00004000002L});
public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x908B3D90320070F0L,0x208C000080FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000004000002L});
public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0001000002000000L,0x000000000001FFE0L});
public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x001A010020000000L});
public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x001A000020000000L});
public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0004300000000010L,0x0000000040780000L});
public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0004000100000000L});
public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000300000000010L,0x0000000040780000L});
public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0018000020000000L});
public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0018000120000000L});
public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000002000000L,0x000000004007FFE0L});
public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0800130002000010L,0x03FFEFFF0079FFE8L});
public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x003A400024000002L});
public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0038400024000002L});
public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0038000024000002L});
public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0038000124000002L});
public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x66413C8002000000L,0x000000004007FFE0L});
public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0080000020000000L});
public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0100000000000000L});
public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000000104000002L});
public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0800130002000010L,0x03FFEFFF407FFFE8L});
public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x60013C8002000000L,0x000000004007FFE0L});
public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x60003C8002000000L,0x000000004001FFE0L});
public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0000100002000010L,0x000000000079FFE0L});
public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x908B3D90320070F0L,0x208C0000C0FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0000100000000010L,0x0000000040780000L});
public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0800800000000002L});
public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000300000000010L,0x0000000000780000L});
public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x6000000000000000L});
public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0000C00000000002L});
public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x0000800000000002L});
public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x0000400000000002L});
public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0002000000000000L});
public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0004000000000000L});
public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x908B3D90360070F0L,0x208C000080FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000001L});
public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000800000000000L});
public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0002500140000010L,0x800000000078000CL});
public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0006100000000010L,0x0000000000780008L});
public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x0080000000000002L});
public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0080000000000000L});
public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000010000000000L});
public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x0002100000000010L,0x0000000000780008L,0x0000000000001000L});
public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L});
public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0000010000000002L,0x0000000000000010L});
public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x0082010000000002L});
public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x0082000000000002L});
public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x908F3D90320070F0L,0x308C000080FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_94 = new BitSet(new long[]{0xF08B3D9032007FF0L,0x208C000085FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_95 = new BitSet(new long[]{0xF08B3D90320073F2L,0x208C000085FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000000000000300L});
public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0000000000000300L,0x0000000000700000L});
public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L});
public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000000000000000L,0x0000000038000000L});
public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L});
public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x0002000000000002L});
public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x908F3D90320070F0L,0x208C0000C0FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x918B3D90320070F0L,0x208C0000C0FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x0100000100000000L});
public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x0000000100000002L});
public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x0000030000000002L,0x0000001F00000000L});
public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x0000020000000000L,0x0000002000000000L});
public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L});
public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x0000000000000002L,0x0000004000000000L});
public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x0000000000000002L,0x0000008000000000L});
public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x0000000000000002L,0x00000F0000000000L});
public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x0000030000000002L,0x0000102000000000L});
public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x0000030000000002L,0x0003E00000000008L});
public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x0000000000000000L,0x0000800000000000L});
public static final BitSet FOLLOW_115 = new BitSet(new long[]{0x0000020000000000L});
public static final BitSet FOLLOW_116 = new BitSet(new long[]{0x0000010000000000L,0x0000000000000008L});
public static final BitSet FOLLOW_117 = new BitSet(new long[]{0x0000000000000002L,0x000C000000000000L});
public static final BitSet FOLLOW_118 = new BitSet(new long[]{0x0800000000000002L,0x0070000000000000L});
public static final BitSet FOLLOW_119 = new BitSet(new long[]{0x0800130002000012L,0x03FFEFFF0079FFE8L});
public static final BitSet FOLLOW_120 = new BitSet(new long[]{0x0000000000000002L,0x0C00000000000010L});
public static final BitSet FOLLOW_121 = new BitSet(new long[]{0x00083C9012000010L,0x0000000000FFFFE0L});
public static final BitSet FOLLOW_122 = new BitSet(new long[]{0x00083D9012000010L,0x0000000000FFFFE0L,0x0000000000000004L});
public static final BitSet FOLLOW_123 = new BitSet(new long[]{0x0082000000000002L,0x0C00000000000010L});
public static final BitSet FOLLOW_124 = new BitSet(new long[]{0x0080000000000002L,0x0C00000000000010L});
public static final BitSet FOLLOW_125 = new BitSet(new long[]{0x908B3D90720070F0L,0x208C000080FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_126 = new BitSet(new long[]{0x0000000140000000L});
public static final BitSet FOLLOW_127 = new BitSet(new long[]{0x918B3D90320070F0L,0x208C000080FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_128 = new BitSet(new long[]{0xF18B3D90320070F0L,0x308C000080FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_129 = new BitSet(new long[]{0x0000000100000000L,0x1000000000000000L});
public static final BitSet FOLLOW_130 = new BitSet(new long[]{0xF18B3D90320070F0L,0x208C000080FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_131 = new BitSet(new long[]{0xF08B3D90360070F2L,0x208C000080FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_132 = new BitSet(new long[]{0xF08B3D90320070F2L,0x208C000080FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_133 = new BitSet(new long[]{0x0000000000000002L,0x4000000000000000L});
public static final BitSet FOLLOW_134 = new BitSet(new long[]{0x0000400100000000L,0x8000000000000000L});
public static final BitSet FOLLOW_135 = new BitSet(new long[]{0x0000400100000000L});
public static final BitSet FOLLOW_136 = new BitSet(new long[]{0xF08B3D90360070F0L,0x208C000080FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_137 = new BitSet(new long[]{0x0000000104000000L});
public static final BitSet FOLLOW_138 = new BitSet(new long[]{0xF08B3D90320070F0L,0x208C000080FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_139 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_140 = new BitSet(new long[]{0x908F3D90320070F0L,0x208C000080FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_141 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
public static final BitSet FOLLOW_142 = new BitSet(new long[]{0xF08B3D90720070F0L,0x208C000080FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_143 = new BitSet(new long[]{0xF08B3D90760070F0L,0x208C000080FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_144 = new BitSet(new long[]{0x0084000000000000L});
public static final BitSet FOLLOW_145 = new BitSet(new long[]{0x908B3D90320070F2L,0x208C000080FFFFE2L,0x00000000000003FFL});
public static final BitSet FOLLOW_146 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000C00L});
public static final BitSet FOLLOW_147 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000C00L});
public static final BitSet FOLLOW_148 = new BitSet(new long[]{0x0000000000006000L});
public static final BitSet FOLLOW_149 = new BitSet(new long[]{0x0000010000000002L});
public static final BitSet FOLLOW_150 = new BitSet(new long[]{0x0000000010000002L,0x0000000000000000L,0x0000000000000004L});
public static final BitSet FOLLOW_151 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L});
public static final BitSet FOLLOW_152 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_153 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_154 = new BitSet(new long[]{0x0800000000000000L});
public static final BitSet FOLLOW_155 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L});
public static final BitSet FOLLOW_156 = new BitSet(new long[]{0x0000100000000010L,0x0000000000780200L});
public static final BitSet FOLLOW_157 = new BitSet(new long[]{0x0800100000000010L,0x0000000000780000L});
public static final BitSet FOLLOW_158 = new BitSet(new long[]{0x0000100000000012L,0x0000000000780000L});
public static final BitSet FOLLOW_159 = new BitSet(new long[]{0x0000200000000002L});
}